1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
|
/* libquvi
* Copyright (C) 2012 Toni Gundogdu <legatvs@gmail.com>
*
* This file is part of libquvi <http://quvi.sourceforge.net/>.
*
* This library is free software: you can redistribute it and/or
* modify it under the terms of the GNU Affero General Public
* License as published by the Free Software Foundation, either
* version 3 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General
* Public License along with this library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef _quvi_media_s_h
#define _quvi_media_s_h
struct _quvi_media_stream_s
{
struct
{
gdouble bitrate_kbit_s;
GString *encoding;
gdouble height;
gdouble width;
} video;
struct
{
gdouble bitrate_kbit_s;
GString *encoding;
} audio;
struct
{
gboolean best;
} flags;
GString *container;
GString *url;
GString *id;
};
typedef struct _quvi_media_stream_s *_quvi_media_stream_t;
struct _quvi_media_s
{
struct
{
GSList *stream;
} curr;
struct
{
GString *redirect_to; /* Set in a media script ("goto_url") */
GString *thumbnail;
GString *input; /* e.g. "http://youtube.com/?watch=foo" */
} url;
struct
{
_quvi_t quvi;
} handle;
/* Other */
gdouble start_time_ms;
gdouble duration_ms;
GSList *streams;
GString *title;
GString *id;
};
typedef struct _quvi_media_s *_quvi_media_t;
#endif /* _quvi_media_s_h */
/* vim: set ts=2 sw=2 tw=72 expandtab: */
|