summaryrefslogtreecommitdiffstats
path: root/gst/mpegdemux/gstmpegtsdemux.h
diff options
context:
space:
mode:
authorEdward Hervey <bilboed@bilboed.com>2009-05-09 09:57:47 +0200
committerEdward Hervey <bilboed@bilboed.com>2009-05-11 16:53:12 +0200
commit5aa3358f3b8604c8daf830847c77744824f53068 (patch)
treef9e9fb12116d6d113a3c47017b1a6c856276451b /gst/mpegdemux/gstmpegtsdemux.h
parent29d53b22f9934d3d2a6751be91c88caa320efda4 (diff)
downloadgst-plugins-bad-5aa3358f3b8604c8daf830847c77744824f53068.tar.gz
gst-plugins-bad-5aa3358f3b8604c8daf830847c77744824f53068.tar.bz2
gst-plugins-bad-5aa3358f3b8604c8daf830847c77744824f53068.zip
mpegtsdemux: Revert indentation and comment header file.
One shouldn't run gst-indent on .h files, in this case it was un-beautifying the indentation :)
Diffstat (limited to 'gst/mpegdemux/gstmpegtsdemux.h')
-rw-r--r--gst/mpegdemux/gstmpegtsdemux.h191
1 files changed, 98 insertions, 93 deletions
diff --git a/gst/mpegdemux/gstmpegtsdemux.h b/gst/mpegdemux/gstmpegtsdemux.h
index c4a907a5..2e2a8e63 100644
--- a/gst/mpegdemux/gstmpegtsdemux.h
+++ b/gst/mpegdemux/gstmpegtsdemux.h
@@ -52,14 +52,18 @@
#include "gstsectionfilter.h"
G_BEGIN_DECLS
+
#define MPEGTS_MIN_PES_BUFFER_SIZE 4 * 1024
#define MPEGTS_MAX_PES_BUFFER_SIZE 256 * 1024
+
#define MPEGTS_MAX_PID 0x1fff
#define MPEGTS_NORMAL_TS_PACKETSIZE 188
#define MPEGTS_M2TS_TS_PACKETSIZE 192
+
#define IS_MPEGTS_SYNC(data) (((data)[0] == 0x47) && \
(((data)[1] & 0x80) == 0x00) && \
(((data)[3] & 0x10) == 0x10))
+
#define GST_TYPE_MPEGTS_DEMUX (gst_mpegts_demux_get_type())
#define GST_MPEGTS_DEMUX(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),\
GST_TYPE_MPEGTS_DEMUX,GstMpegTSDemux))
@@ -71,6 +75,7 @@ G_BEGIN_DECLS
GST_TYPE_MPEGTS_DEMUX))
#define GST_IS_MPEGTS_DEMUX_CLASS(obj) (G_TYPE_CHECK_CLASS_TYPE((klass),\
GST_TYPE_MPEGTS_DEMUX))
+
typedef struct _GstMpegTSStream GstMpegTSStream;
typedef struct _GstMpegTSPMTEntry GstMpegTSPMTEntry;
typedef struct _GstMpegTSPMT GstMpegTSPMT;
@@ -79,157 +84,157 @@ typedef struct _GstMpegTSPAT GstMpegTSPAT;
typedef struct _GstMpegTSDemux GstMpegTSDemux;
typedef struct _GstMpegTSDemuxClass GstMpegTSDemuxClass;
-struct _GstMpegTSPMTEntry
-{
- guint16 PID;
+struct _GstMpegTSPMTEntry {
+ guint16 PID;
};
-struct _GstMpegTSPMT
-{
- guint16 program_number;
- guint8 version_number;
- gboolean current_next_indicator;
- guint8 section_number;
- guint8 last_section_number;
- guint16 PCR_PID;
- guint16 program_info_length;
- GstMPEGDescriptor *program_info;
-
- GArray *entries;
+struct _GstMpegTSPMT {
+ guint16 program_number;
+ guint8 version_number;
+ gboolean current_next_indicator;
+ guint8 section_number;
+ guint8 last_section_number;
+ guint16 PCR_PID;
+ guint16 program_info_length;
+ GstMPEGDescriptor * program_info;
+
+ GArray * entries;
};
-struct _GstMpegTSPATEntry
-{
- guint16 program_number;
- guint16 PID;
+struct _GstMpegTSPATEntry {
+ guint16 program_number;
+ guint16 PID;
};
-struct _GstMpegTSPAT
-{
- guint16 transport_stream_id;
- guint8 version_number;
- gboolean current_next_indicator;
- guint8 section_number;
- guint8 last_section_number;
+struct _GstMpegTSPAT {
+ guint16 transport_stream_id;
+ guint8 version_number;
+ gboolean current_next_indicator;
+ guint8 section_number;
+ guint8 last_section_number;
- GArray *entries;
+ GArray * entries;
};
-typedef enum _MpegTsStreamFlags
-{
+typedef enum _MpegTsStreamFlags {
MPEGTS_STREAM_FLAG_STREAM_TYPE_UNKNOWN = 0x01,
MPEGTS_STREAM_FLAG_PMT_VALID = 0x02,
- MPEGTS_STREAM_FLAG_IS_VIDEO = 0x04
+ MPEGTS_STREAM_FLAG_IS_VIDEO = 0x04
} MpegTsStreamFlags;
/* Information associated to a single MPEG stream. */
-struct _GstMpegTSStream
-{
- GstMpegTSDemux *demux;
+struct _GstMpegTSStream {
+ GstMpegTSDemux * demux;
- MpegTsStreamFlags flags;
+ MpegTsStreamFlags flags;
/* PID and type */
- guint16 PID;
- guint8 PID_type;
+ guint16 PID;
+ guint8 PID_type;
/* adaptation_field data */
- guint64 last_PCR;
- guint64 base_PCR;
- guint64 last_OPCR;
- guint64 last_PCR_difference;
- gboolean discont_PCR;
- GstClockTimeDiff discont_difference;
+ guint64 last_PCR;
+ guint64 base_PCR;
+ guint64 last_OPCR;
+ guint64 last_PCR_difference;
+ gboolean discont_PCR;
+ GstClockTimeDiff discont_difference;
/* for PAT streams */
- GstMpegTSPAT PAT;
+ GstMpegTSPAT PAT;
/* for PMT streams */
- GstMpegTSPMT PMT;
+ GstMpegTSPMT PMT;
/* for CA streams */
/* for PAT, PMT, CA and private streams */
- GstSectionFilter section_filter;
+ GstSectionFilter section_filter;
/* for PES streams */
- guint8 id;
- guint8 stream_type;
- GstBuffer *pes_buffer;
- guint32 pes_buffer_size;
- guint32 pes_buffer_used;
- gboolean pes_buffer_overflow;
- gboolean pes_buffer_in_sync;
- GstPESFilter filter;
- GstPad *pad;
- GstFlowReturn last_ret;
+ guint8 id;
+ guint8 stream_type;
+ GstBuffer * pes_buffer;
+ guint32 pes_buffer_size;
+ guint32 pes_buffer_used;
+ gboolean pes_buffer_overflow;
+ gboolean pes_buffer_in_sync;
+ GstPESFilter filter;
+ GstPad * pad;
+ GstFlowReturn last_ret;
GstMPEGDescriptor *ES_info;
/* needed because 33bit mpeg timestamps wrap around every (approx) 26.5 hrs */
- GstClockTimeDiff base_time;
- GstClockTime last_time;
+ GstClockTimeDiff base_time;
+ GstClockTime last_time;
/* pid of PMT that this stream belongs to */
- guint16 PMT_pid;
+ guint16 PMT_pid;
};
-struct _GstMpegTSDemux
-{
- GstElement parent;
+struct _GstMpegTSDemux {
+ GstElement parent;
/* properties */
- gboolean check_crc;
+ gboolean check_crc;
/* sink pad and adapter */
- GstPad *sinkpad;
- GstAdapter *adapter;
- guint8 **sync_lut;
- guint sync_lut_len;
+ GstPad * sinkpad;
+ GstAdapter * adapter;
+ guint8 ** sync_lut;
+ guint sync_lut_len;
/* current PMT PID */
- guint16 current_PMT;
+ guint16 current_PMT;
/* Array of MPEGTS_MAX_PID + 1 stream entries */
- GstMpegTSStream **streams;
+ GstMpegTSStream ** streams;
/* Array to perform pmts checks at gst_mpegts_demux_parse_adaptation_field */
- gboolean pmts_checked[MPEGTS_MAX_PID + 1];
-
+ gboolean pmts_checked[MPEGTS_MAX_PID + 1];
+
/* Array of Elementary Stream pids for ts with PMT */
- guint16 *elementary_pids;
- guint nb_elementary_pids;
+ guint16 * elementary_pids;
+ guint nb_elementary_pids;
/* Program number to use */
- gint program_number;
+ gint program_number;
/* indicates that we need to close our pad group, because we've added
* at least one pad */
- gboolean need_no_more_pads;
- guint16 packetsize;
- gboolean m2ts_mode;
+ gboolean need_no_more_pads;
+ guint16 packetsize;
+ gboolean m2ts_mode;
/* clocking */
- GstClock *clock;
- GstClockTime clock_base;
- /* Additional information required for seeking */
- guint64 num_packets;
- gint64 bitrate;
+ GstClock * clock;
+ GstClockTime clock_base;
+
+ /* Additional information required for seeking.
+ * num_packets: Number of packets outputted
+ * bitrate: estimated bitrate (based on pcr and num_packets */
+ guint64 num_packets;
+ gint64 bitrate;
+
/* Two PCRs observations to calculate bitrate */
- gint64 pcr[2];
- GstClockTime cache_duration;
+ gint64 pcr[2];
+
+ /* Cached duration estimation */
+ GstClockTime cache_duration;
+
/* Cached base_PCR in GStreamer time. */
- GstClockTime base_pts;
+ GstClockTime base_pts;
};
-struct _GstMpegTSDemuxClass
-{
- GstElementClass parent_class;
+struct _GstMpegTSDemuxClass {
+ GstElementClass parent_class;
- GstPadTemplate *sink_template;
- GstPadTemplate *video_template;
- GstPadTemplate *audio_template;
- GstPadTemplate *private_template;
+ GstPadTemplate * sink_template;
+ GstPadTemplate * video_template;
+ GstPadTemplate * audio_template;
+ GstPadTemplate * private_template;
};
-GType gst_mpegts_demux_get_type (void);
+GType gst_mpegts_demux_get_type (void);
-gboolean gst_mpegts_demux_plugin_init (GstPlugin * plugin);
+gboolean gst_mpegts_demux_plugin_init (GstPlugin *plugin);
G_END_DECLS
+
#endif /* __GST_MPEGTS_DEMUX_H__ */