Add examples/file_ext.c
[libquvi.git] / src / _quvi_media_s.h
blob255b6fa05eaff06cad84afb17f041909b2bbdadb
1 /* libquvi
2 * Copyright (C) 2012 Toni Gundogdu <legatvs@gmail.com>
4 * This file is part of libquvi <http://quvi.sourceforge.net/>.
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.
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.
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/>.
21 #ifndef _quvi_media_s_h
22 #define _quvi_media_s_h
24 struct _quvi_media_stream_s
26 struct
28 gdouble bitrate_kbit_s;
29 GString *encoding;
30 gdouble height;
31 gdouble width;
32 } video;
33 struct
35 gdouble bitrate_kbit_s;
36 GString *encoding;
37 } audio;
38 struct
40 gboolean best;
41 } flags;
42 GString *container;
43 GString *url;
44 GString *id;
47 typedef struct _quvi_media_stream_s *_quvi_media_stream_t;
49 struct _quvi_media_s
51 struct
53 GSList *stream;
54 } curr;
55 struct
57 GString *redirect_to; /* Set in a media script ("goto_url") */
58 GString *thumbnail;
59 GString *input; /* e.g. "http://youtube.com/?watch=foo" */
60 } url;
61 struct
63 _quvi_t quvi;
64 } handle;
65 /* Other */
66 gdouble start_time_ms;
67 gdouble duration_ms;
68 GSList *streams;
69 GString *title;
70 GString *id;
73 typedef struct _quvi_media_s *_quvi_media_t;
75 #endif /* _quvi_media_s_h */
77 /* vim: set ts=2 sw=2 tw=72 expandtab: */