libquvi
qfunc.h
1/* libquvi
2 * Copyright (C) 2012-2013 Toni Gundogdu <legatvs@gmail.com>
3 *
4 * This file is part of libquvi <http://quvi.sourceforge.net/>.
5 *
6 * This library is free software: you can redistribute it and/or
7 * modify it under the terms of the GNU Affero General Public
8 * License as published by the Free Software Foundation, either
9 * version 3 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Affero General Public License for more details.
15 *
16 * You should have received a copy of the GNU Affero General
17 * Public License along with this library. If not, see
18 * <http://www.gnu.org/licenses/>.
19 */
20
21#ifndef qfunc_h
22#define qfunc_h
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
28 quvi_t quvi_new(void);
29 void quvi_free(quvi_t);
30
31 void quvi_set(quvi_t, QuviOption, ...);
32 void quvi_get(quvi_t, QuviInfo, ...);
33
34 /* Script */
35
36 QuviBoolean quvi_script_next(quvi_t, QuviScriptType);
37 void quvi_script_get(quvi_t, QuviScriptType, QuviScriptProperty, ...);
38
39 /* Media */
40
43
44 void quvi_media_get(quvi_media_t, QuviMediaProperty, ...);
45
48
49 void quvi_media_stream_select(quvi_media_t, const char*);
51
52 /* Playlist */
53
56
57 void quvi_playlist_get(quvi_playlist_t, QuviPlaylistProperty, ...);
58
61
62 /* Scan */
63
64 quvi_scan_t quvi_scan_new(quvi_t, const char*);
66
68
69 /* Resolve */
70
73
76
77 /* HTTP meta-info */
78
81
83 QuviHTTPMetaInfoProperty, ...);
84
85 /* Subtitle */
86
89
92
94 QuviSubtitleTypeProperty, ...);
95
97 QuviSubtitleLangProperty, ...);
98
101
103
104 /* Subtitle - export */
105
108
110
111 /* Convenience - file extension */
112
115
117
118 /* Convenience */
119
120 QuviBoolean quvi_supports(quvi_t, const char*,
121 QuviSupportsMode, QuviSupportsType);
122
123 const char *quvi_version(QuviVersion);
124
125 const char *quvi_errmsg(quvi_t);
127 QuviBoolean quvi_ok(quvi_t);
128
129#ifdef __cplusplus
130}
131#endif /* __cplusplus */
132
133#endif /* qfunc_h */
134
135/* vim: set ts=2 sw=2 tw=72 expandtab: */
QuviError quvi_errcode(quvi_t handle)
Definition: errcode.c:34
const char * quvi_errmsg(quvi_t handle)
Definition: errmsg.c:57
void quvi_file_ext_free(quvi_file_ext_t handle)
Free all of memory used by a file extension handle.
Definition: file_ext_free.c:36
const char * quvi_file_ext_get(quvi_file_ext_t handle)
Return file extension as a zero-terminated string.
Definition: file_ext_get.c:37
quvi_file_ext_t quvi_file_ext_new(quvi_t handle, const char *s)
Convert content-type to file extension.
Definition: file_ext_new.c:53
void quvi_free(quvi_t handle)
Free all of memory used by a library handle.
Definition: free.c:46
void quvi_get(quvi_t handle, QuviInfo info,...)
Return information about the library handle.
Definition: get.c:100
void quvi_http_metainfo_free(quvi_http_metainfo_t handle)
Free all of memory used by a HTTP meta-info handle.
Definition: http_metainfo_free.c:36
void quvi_http_metainfo_get(quvi_http_metainfo_t handle, QuviHTTPMetaInfoProperty property,...)
Return a HTTP meta-info property.
Definition: http_metainfo_get.c:92
quvi_http_metainfo_t quvi_http_metainfo_new(quvi_t handle, const char *url)
Query meta-info properties for an URL.
Definition: http_metainfo_new.c:53
void quvi_media_free(quvi_media_t handle)
Free all of memory used by a media handle.
Definition: media_free.c:39
void quvi_media_get(quvi_media_t handle, QuviMediaProperty property,...)
Return a media property.
Definition: media_get.c:171
quvi_media_t quvi_media_new(quvi_t handle, const char *url)
Parse media properties for URL.
Definition: media_new.c:44
void quvi_media_stream_choose_best(quvi_media_t handle)
Selects the m_stream that was determined to be of the "best quality".
Definition: media_stream_choose_best.c:41
QuviBoolean quvi_media_stream_next(quvi_media_t handle)
Traverse to next available m_stream.
Definition: media_stream_next.c:37
void quvi_media_stream_reset(quvi_media_t handle)
Resets to the first available m_stream.
Definition: media_stream_reset.c:36
void quvi_media_stream_select(quvi_media_t handle, const char *id)
Select a m_stream matching a m_stream_id.
Definition: media_stream_select.c:104
quvi_t quvi_new()
Create a new library handle.
Definition: new.c:55
QuviBoolean quvi_ok(quvi_t handle)
Check if an error occurred.
Definition: ok.c:36
void quvi_playlist_free(quvi_playlist_t handle)
Free all of memory used by a playlist handle.
Definition: playlist_free.c:39
void quvi_playlist_get(quvi_playlist_t handle, QuviPlaylistProperty property,...)
Return a playlist property.
Definition: playlist_get.c:151
QuviBoolean quvi_playlist_media_next(quvi_playlist_t handle)
Traverse to next available playlist media.
Definition: playlist_media_next.c:37
void quvi_playlist_media_reset(quvi_playlist_t handle)
Resets to the first available playlist media.
Definition: playlist_media_reset.c:36
quvi_playlist_t quvi_playlist_new(quvi_t handle, const char *url)
Parse playlist properties for URL.
Definition: playlist_new.c:44
void * quvi_media_t
Definition: qdef.h:36
void * quvi_http_metainfo_t
Definition: qdef.h:31
void * quvi_subtitle_export_t
Definition: qdef.h:28
void * quvi_file_ext_t
Definition: qdef.h:32
void * quvi_subtitle_t
Definition: qdef.h:34
void * quvi_subtitle_type_t
Definition: qdef.h:29
void * quvi_resolve_t
Definition: qdef.h:35
void * quvi_scan_t
Definition: qdef.h:37
void * quvi_t
Definition: qdef.h:38
void * quvi_subtitle_lang_t
Definition: qdef.h:30
void * quvi_playlist_t
Definition: qdef.h:33
QuviError
Definition: qerror.h:28
QuviInfo
Definition: qinfo.h:36
QuviOption
Options to be used with quvi_set.
Definition: qoption.h:29
QuviScriptProperty
Definition: qscript.h:46
QuviSupportsMode
Definition: qsupp.h:28
QuviVersion
Definition: qversion.h:28
const char * quvi_resolve_destination_url(quvi_resolve_t handle)
Definition: resolve_destination_url.c:36
QuviBoolean quvi_resolve_forwarded(quvi_resolve_t handle)
Definition: resolve_forwarded.c:35
void quvi_resolve_free(quvi_resolve_t handle)
Free all of memory used by a resolve handle.
Definition: resolve_free.c:38
quvi_resolve_t quvi_resolve_new(quvi_t handle, const char *url)
Resolve URL redirection.
Definition: resolve_new.c:41
void quvi_scan_free(quvi_scan_t handle)
Free all of memory used by a scan handle.
Definition: scan_free.c:48
quvi_scan_t quvi_scan_new(quvi_t handle, const char *url)
Scan URL contents for supported embedded media URLs.
Definition: scan_new.c:79
const char * quvi_scan_next_media_url(quvi_scan_t handle)
Definition: scan_next_media_url.c:38
void quvi_script_get(quvi_t handle, QuviScriptType type, QuviScriptProperty id,...)
Return a script property.
Definition: script_get.c:150
QuviBoolean quvi_script_next(quvi_t handle, QuviScriptType type)
Traverse to the next script.
Definition: script_next.c:41
void quvi_set(quvi_t handle, QuviOption option,...)
Set library handle option.
Definition: set.c:71
const char * quvi_subtitle_export_data(quvi_subtitle_export_t handle)
Return exported data.
Definition: subtitle_export_data.c:38
void quvi_subtitle_export_free(quvi_subtitle_export_t handle)
Free all of memory used by a subtitle export handle.
Definition: subtitle_export_free.c:39
quvi_subtitle_export_t quvi_subtitle_export_new(quvi_subtitle_lang_t handle, char *to_format)
Create a new subtitle export handle.
Definition: subtitle_export_new.c:42
void quvi_subtitle_free(quvi_subtitle_t handle)
Free all of memory used by a subtitle handle.
Definition: subtitle_free.c:39
void quvi_subtitle_lang_get(quvi_subtitle_lang_t handle, QuviSubtitleLangProperty n,...)
Return a subtitle property.
Definition: subtitle_lang_get.c:118
const quvi_subtitle_lang_t quvi_subtitle_lang_next(quvi_subtitle_type_t handle)
Traverse to next available language sub_type.
Definition: subtitle_lang_next.c:37
void quvi_subtitle_lang_reset(quvi_subtitle_type_t handle)
Resets to the first available sub_lang.
Definition: subtitle_lang_reset.c:36
quvi_subtitle_t quvi_subtitle_new(quvi_t handle, const char *url)
Parse subtitle properties for URL.
Definition: subtitle_new.c:44
const quvi_subtitle_lang_t quvi_subtitle_select(quvi_subtitle_t handle, const char *id)
Select a sub_lang matching a sub_lang_id.
Definition: subtitle_select.c:129
void quvi_subtitle_type_get(quvi_subtitle_type_t handle, QuviSubtitleTypeProperty n,...)
Return a subtitle property.
Definition: subtitle_type_get.c:105
const quvi_subtitle_type_t quvi_subtitle_type_next(quvi_subtitle_t handle)
Traverse to next available sub_type.
Definition: subtitle_type_next.c:37
void quvi_subtitle_type_reset(quvi_subtitle_t handle)
Resets to the first available sub_type.
Definition: subtitle_type_reset.c:36
QuviBoolean quvi_supports(quvi_t handle, const char *url, QuviSupportsMode mode, QuviSupportsType type)
Check whether the URL is supported.
Definition: supports.c:108
const char * quvi_version(QuviVersion version)
Definition: version.c:97