tizen 2.3 release
[framework/multimedia/gst-plugins-ext0.10.git] / ssdemux / src / gstssdemux.h
1 \r
2 #ifndef __GST_SS_DEMUX_H__\r
3 #define __GST_SS_DEMUX_H__\r
4 \r
5 #include <gst/gst.h>\r
6 #include <gst/base/gstadapter.h>\r
7 #include <gst/app/gstappsrc.h>\r
8 #include <gst/app/gstappsink.h>\r
9 #include "ssmanifestparse.h"\r
10 #include "piffcommon.h"\r
11 \r
12 G_BEGIN_DECLS\r
13 #define GST_TYPE_SS_DEMUX \\r
14   (gst_ss_demux_get_type())\r
15 #define GST_SS_DEMUX(obj) \\r
16   (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_SS_DEMUX, GstSSDemux))\r
17 #define GST_SS_DEMUX_CLASS(klass) \\r
18   (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_SS_DEMUX,GstSSDemuxClass))\r
19 #define GST_IS_SS_DEMUX(obj) \\r
20   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_SS_DEMUX))\r
21 #define GST_IS_SS_DEMUX_CLASS(klass) \\r
22   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_SS_DEMUX))\r
23 \r
24 typedef struct _GstSSDemux GstSSDemux;\r
25 typedef struct _GstSSDemuxClass GstSSDemuxClass;\r
26 typedef struct _GstSSDemuxStream GstSSDemuxStream;\r
27 \r
28 \r
29 /**\r
30  * GstSSDemux:\r
31  *\r
32  * Opaque #GstSSDemux data structure.\r
33  */\r
34 struct _GstSSDemux\r
35 {\r
36   GstElement parent;\r
37 \r
38   GstPad *sinkpad;\r
39 \r
40   /* Properties */\r
41   gchar **cookies;             /* HTTP request cookies. */\r
42   gboolean allow_audio_only;  /*In LIVE case, allow audio only download when downloadrate is less */\r
43   guint64 max_cache_time;\r
44   gfloat bitrate_switch_tol;    /* tolerance with respect to the fragment duration to switch the bitarate*/\r
45   GstBuffer *manifest;\r
46   GstSSMParse *parser; /* manifest parser */\r
47   gint percent;\r
48   gint low_percent;\r
49   gint high_percent;\r
50   gboolean eos;\r
51   GstSSDemuxStream *streams[SS_STREAM_NUM];\r
52   SS_BW_MODE ss_mode;\r
53   gboolean switch_eos;\r
54   GstBuffer *protection_header;\r
55 };\r
56 \r
57 struct _GstSSDemuxClass\r
58 {\r
59   GstElementClass parent_class;\r
60 };\r
61 \r
62 GType gst_ss_demux_get_type (void);\r
63 \r
64 G_END_DECLS\r
65 #endif /* __GST_SS_DEMUX_H__ */\r
66 \r
67 \r
68 \r
69 \r