mpegtsbase/tsdemux: Cleanups and comments

This commit is contained in:
Edward Hervey 2011-07-16 13:47:45 +02:00
parent 9f1511e998
commit a00900367a
3 changed files with 12 additions and 5 deletions

View file

@ -72,9 +72,12 @@ struct _MpegTSBaseProgram
}; };
typedef enum { typedef enum {
BASE_MODE_SCANNING, /* PULL MODE */
BASE_MODE_SEEKING, BASE_MODE_SCANNING, /* Looking for PAT/PMT */
BASE_MODE_STREAMING, BASE_MODE_SEEKING, /* Seeking */
BASE_MODE_STREAMING, /* Normal mode (pushing out data) */
/* PUSH MODE */
BASE_MODE_PUSHING BASE_MODE_PUSHING
} MpegTSBaseMode; } MpegTSBaseMode;
@ -134,6 +137,7 @@ struct _MpegTSBaseClass {
void (*reset) (MpegTSBase *base); void (*reset) (MpegTSBase *base);
GstFlowReturn (*push) (MpegTSBase *base, MpegTSPacketizerPacket *packet, MpegTSPacketizerSection * section); GstFlowReturn (*push) (MpegTSBase *base, MpegTSPacketizerPacket *packet, MpegTSPacketizerSection * section);
gboolean (*push_event) (MpegTSBase *base, GstEvent * event); gboolean (*push_event) (MpegTSBase *base, GstEvent * event);
/* program_started gets called when program's pmt arrives for first time */ /* program_started gets called when program's pmt arrives for first time */
void (*program_started) (MpegTSBase *base, MpegTSBaseProgram *program); void (*program_started) (MpegTSBase *base, MpegTSBaseProgram *program);
/* program_stopped gets called when pat no longer has program's pmt */ /* program_stopped gets called when pat no longer has program's pmt */
@ -145,7 +149,7 @@ struct _MpegTSBaseClass {
void (*stream_removed) (MpegTSBase *base, MpegTSBaseStream *stream); void (*stream_removed) (MpegTSBase *base, MpegTSBaseStream *stream);
/* find_timestamps is called to find PCR */ /* find_timestamps is called to find PCR */
GstFlowReturn (*find_timestamps) (MpegTSBase * base, guint64 initoff, guint64 *offset); GstFlowReturn (*find_timestamps) (MpegTSBase * base, guint64 initoff, guint64 *offset);
/* seek is called to wait for seeking */ /* seek is called to wait for seeking */
GstFlowReturn (*seek) (MpegTSBase * base, GstEvent * event, guint16 pid); GstFlowReturn (*seek) (MpegTSBase * base, GstEvent * event, guint16 pid);

View file

@ -110,6 +110,7 @@ struct _TSDemuxStream
GstBufferListIterator *currentit; GstBufferListIterator *currentit;
GList *currentlist; GList *currentlist;
/* Current PTS for this stream */
GstClockTime pts; GstClockTime pts;
}; };
@ -305,6 +306,7 @@ static void
gst_ts_demux_reset (MpegTSBase * base) gst_ts_demux_reset (MpegTSBase * base)
{ {
GstTSDemux *demux = (GstTSDemux *) base; GstTSDemux *demux = (GstTSDemux *) base;
if (demux->index) { if (demux->index) {
g_array_free (demux->index, TRUE); g_array_free (demux->index, TRUE);
demux->index = NULL; demux->index = NULL;
@ -2409,5 +2411,5 @@ gst_ts_demux_plugin_init (GstPlugin * plugin)
"MPEG transport stream demuxer"); "MPEG transport stream demuxer");
return gst_element_register (plugin, "tsdemux", return gst_element_register (plugin, "tsdemux",
GST_RANK_SECONDARY, GST_TYPE_TS_DEMUX); GST_RANK_PRIMARY + 42, GST_TYPE_TS_DEMUX);
} }

View file

@ -70,6 +70,7 @@ struct _GstTSDemux
MpegTSBaseProgram *program; /* Current program */ MpegTSBaseProgram *program; /* Current program */
guint current_program_number; guint current_program_number;
gboolean need_newsegment; gboolean need_newsegment;
/* Downstream segment */
GstSegment segment; GstSegment segment;
GstClockTime duration; /* Total duration */ GstClockTime duration; /* Total duration */