2 #ifndef __GST_SS_DEMUX_H__
\r
3 #define __GST_SS_DEMUX_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
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
24 typedef struct _GstSSDemux GstSSDemux;
\r
25 typedef struct _GstSSDemuxClass GstSSDemuxClass;
\r
26 typedef struct _GstSSDemuxStream GstSSDemuxStream;
\r
32 * Opaque #GstSSDemux data structure.
\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
51 GstSSDemuxStream *streams[SS_STREAM_NUM];
\r
53 gboolean switch_eos;
\r
54 GstBuffer *protection_header;
\r
57 struct _GstSSDemuxClass
\r
59 GstElementClass parent_class;
\r
62 GType gst_ss_demux_get_type (void);
\r
65 #endif /* __GST_SS_DEMUX_H__ */
\r