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
25 extern "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 
38 
39  /* Media */
40 
41  quvi_media_t quvi_media_new(quvi_t, const char*);
43 
45 
48 
49  void quvi_media_stream_select(quvi_media_t, const char*);
51 
52  /* Playlist */
53 
56 
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 
84 
85  /* Subtitle */
86 
89 
92 
95 
98 
101 
103 
104  /* Subtitle - export */
105 
108 
110 
111  /* Convenience - file extension */
112 
115 
116  const char *quvi_file_ext_get(quvi_file_ext_t);
117 
118  /* Convenience */
119 
120  QuviBoolean quvi_supports(quvi_t, const char*,
122 
123  const char *quvi_version(QuviVersion);
124 
125  const char *quvi_errmsg(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: */
quvi_media_t quvi_media_new(quvi_t handle, const char *url)
Parse media properties for URL.
Definition: media_new.c:44
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_file_ext_t
Definition: qdef.h:32
void * quvi_playlist_t
Definition: qdef.h:33
QuviPlaylistProperty
Definition: qplaylistprop.h:35
void quvi_playlist_free(quvi_playlist_t handle)
Free all of memory used by a playlist handle.
Definition: playlist_free.c:39
QuviBoolean quvi_supports(quvi_t handle, const char *url, QuviSupportsMode mode, QuviSupportsType type)
Check whether the URL is supported.
Definition: supports.c:108
quvi_playlist_t quvi_playlist_new(quvi_t handle, const char *url)
Parse playlist properties for URL.
Definition: playlist_new.c:44
QuviInfo
Definition: qinfo.h:35
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
void quvi_scan_free(quvi_scan_t handle)
Free all of memory used by a scan handle.
Definition: scan_free.c:48
QuviScriptProperty
Definition: qscript.h:45
const char * quvi_subtitle_export_data(quvi_subtitle_export_t handle)
Return exported data.
Definition: subtitle_export_data.c:38
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
quvi_subtitle_t quvi_subtitle_new(quvi_t handle, const char *url)
Parse subtitle properties for URL.
Definition: subtitle_new.c:44
QuviSubtitleLangProperty
Definition: qsubtprop.h:58
QuviScriptType
Definition: qscript.h:35
QuviMediaProperty
Definition: qmediaprop.h:35
void quvi_script_get(quvi_t handle, QuviScriptType type, QuviScriptProperty id,...)
Return a script property.
Definition: script_get.c:150
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_resolve_t
Definition: qdef.h:35
void quvi_resolve_free(quvi_resolve_t handle)
Free all of memory used by a resolve handle.
Definition: resolve_free.c:38
void quvi_subtitle_type_reset(quvi_subtitle_t handle)
Resets to the first available sub_type.
Definition: subtitle_type_reset.c:36
QuviBoolean quvi_ok(quvi_t handle)
Check if an error occurred.
Definition: ok.c:36
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
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_t
Definition: qdef.h:38
void quvi_subtitle_type_get(quvi_subtitle_type_t handle, QuviSubtitleTypeProperty n,...)
Return a subtitle property.
Definition: subtitle_type_get.c:105
void quvi_http_metainfo_get(quvi_http_metainfo_t handle, QuviHTTPMetaInfoProperty property,...)
Return a HTTP meta-info property.
Definition: http_metainfo_get.c:92
QuviSubtitleTypeProperty
Definition: qsubtprop.h:50
void quvi_media_stream_reset(quvi_media_t handle)
Resets to the first available m_stream.
Definition: media_stream_reset.c:36
const char * quvi_scan_next_media_url(quvi_scan_t handle)
Definition: scan_next_media_url.c:38
quvi_resolve_t quvi_resolve_new(quvi_t handle, const char *url)
Resolve URL redirection.
Definition: resolve_new.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_set(quvi_t handle, QuviOption option,...)
Set library handle option.
Definition: set.c:71
QuviSupportsType
Definition: qsupp.h:34
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_scan_t
Definition: qdef.h:37
void * quvi_http_metainfo_t
Definition: qdef.h:31
void quvi_free(quvi_t handle)
Free all of memory used by a library handle.
Definition: free.c:46
quvi_t quvi_new()
Create a new library handle.
Definition: new.c:55
const char * quvi_version(QuviVersion version)
Definition: version.c:97
QuviBoolean quvi_playlist_media_next(quvi_playlist_t handle)
Traverse to next available playlist media.
Definition: playlist_media_next.c:37
QuviBoolean quvi_resolve_forwarded(quvi_resolve_t handle)
Definition: resolve_forwarded.c:35
const char * quvi_resolve_destination_url(quvi_resolve_t handle)
Definition: resolve_destination_url.c:36
QuviError quvi_errcode(quvi_t handle)
Definition: errcode.c:34
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
void * quvi_subtitle_type_t
Definition: qdef.h:29
void quvi_subtitle_lang_reset(quvi_subtitle_type_t handle)
Resets to the first available sub_lang.
Definition: subtitle_lang_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
void quvi_media_free(quvi_media_t handle)
Free all of memory used by a media handle.
Definition: media_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
QuviHTTPMetaInfoProperty
Definition: qhttpmiprop.h:35
QuviBoolean quvi_script_next(quvi_t handle, QuviScriptType type)
Traverse to the next script.
Definition: script_next.c:41
void quvi_playlist_media_reset(quvi_playlist_t handle)
Resets to the first available playlist media.
Definition: playlist_media_reset.c:36
void * quvi_media_t
Definition: qdef.h:36
void * quvi_subtitle_t
Definition: qdef.h:34
QuviError
Definition: qerror.h:27
QuviOption
Options to be used with quvi_set.
Definition: qoption.h:28
void quvi_subtitle_free(quvi_subtitle_t handle)
Free all of memory used by a subtitle handle.
Definition: subtitle_free.c:39
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
QuviSupportsMode
Definition: qsupp.h:27
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
QuviVersion
Definition: qversion.h:27
void * quvi_subtitle_lang_t
Definition: qdef.h:30
QuviBoolean
Definition: qbool.h:27
void quvi_media_get(quvi_media_t handle, QuviMediaProperty property,...)
Return a media property.
Definition: media_get.c:171
void * quvi_subtitle_export_t
Definition: qdef.h:28
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
const char * quvi_errmsg(quvi_t handle)
Definition: errmsg.c:57
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_get(quvi_t handle, QuviInfo info,...)
Return information about the library handle.
Definition: get.c:100
void quvi_playlist_get(quvi_playlist_t handle, QuviPlaylistProperty property,...)
Return a playlist property.
Definition: playlist_get.c:151