summaryrefslogtreecommitdiffstats
path: root/gst/mpegdemux/gstmpegtsdemux.c
diff options
context:
space:
mode:
authorDave Robillard <dave@drobilla.net>2009-06-19 21:03:10 -0400
committerDave Robillard <dave@drobilla.net>2009-06-19 21:03:10 -0400
commit23953f27c870c42ce369d717bc15b7f8001691a1 (patch)
tree19b3999c7b0c36fcefcbbcaaaa9102f612670ca7 /gst/mpegdemux/gstmpegtsdemux.c
parentd365eafd8f2cdb1ded93fe4bd95e568026abf0da (diff)
parent925e83ee60c5406b2e5f0f39b0da0f90370efc27 (diff)
downloadgst-plugins-bad-23953f27c870c42ce369d717bc15b7f8001691a1.tar.gz
gst-plugins-bad-23953f27c870c42ce369d717bc15b7f8001691a1.tar.bz2
gst-plugins-bad-23953f27c870c42ce369d717bc15b7f8001691a1.zip
Merge branch 'fdo' into lv2
Diffstat (limited to 'gst/mpegdemux/gstmpegtsdemux.c')
-rw-r--r--gst/mpegdemux/gstmpegtsdemux.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/gst/mpegdemux/gstmpegtsdemux.c b/gst/mpegdemux/gstmpegtsdemux.c
index b75bfc6d..cb082a2b 100644
--- a/gst/mpegdemux/gstmpegtsdemux.c
+++ b/gst/mpegdemux/gstmpegtsdemux.c
@@ -634,15 +634,15 @@ gst_mpegts_demux_fill_stream (GstMpegTSStream * stream, guint8 id,
caps = gst_caps_new_simple ("private/teletext", NULL);
}
break;
- case ST_HDV_PRIVATE_A0:
+ case ST_HDV_AUX_V:
template = klass->private_template;
name = g_strdup_printf ("private_%04x", stream->PID);
- caps = gst_caps_new_simple ("private/hdv-a0", NULL);
+ caps = gst_caps_new_simple ("hdv/aux-v", NULL);
break;
- case ST_HDV_PRIVATE_A1:
+ case ST_HDV_AUX_A:
template = klass->private_template;
name = g_strdup_printf ("private_%04x", stream->PID);
- caps = gst_caps_new_simple ("private/hdv-a1", NULL);
+ caps = gst_caps_new_simple ("hdv/aux-a", NULL);
break;
case ST_PRIVATE_SECTIONS:
case ST_MHEG:
@@ -923,8 +923,8 @@ gst_mpegts_demux_data_cb (GstPESFilter * filter, gboolean first,
* to drop. */
if (stream->PMT_pid <= MPEGTS_MAX_PID && demux->streams[stream->PMT_pid]
&& demux->streams[demux->streams[stream->PMT_pid]->PMT.PCR_PID]
- && demux->streams[demux->streams[stream->PMT_pid]->PMT.
- PCR_PID]->discont_PCR) {
+ && demux->streams[demux->streams[stream->PMT_pid]->PMT.PCR_PID]->
+ discont_PCR) {
GST_WARNING_OBJECT (demux, "middle of discont, dropping");
goto bad_timestamp;
}
@@ -946,8 +946,8 @@ gst_mpegts_demux_data_cb (GstPESFilter * filter, gboolean first,
*/
if (stream->PMT_pid <= MPEGTS_MAX_PID && demux->streams[stream->PMT_pid]
&& demux->streams[demux->streams[stream->PMT_pid]->PMT.PCR_PID]
- && demux->streams[demux->streams[stream->PMT_pid]->PMT.
- PCR_PID]->last_PCR > 0) {
+ && demux->streams[demux->streams[stream->PMT_pid]->PMT.PCR_PID]->
+ last_PCR > 0) {
GST_DEBUG_OBJECT (demux, "timestamps wrapped before noticed in PCR");
time = MPEGTIME_TO_GSTTIME (pts) + stream->base_time +
MPEGTIME_TO_GSTTIME ((guint64) (1) << 33);
@@ -2884,7 +2884,8 @@ gst_mpegts_demux_chain (GstPad * pad, GstBuffer * buffer)
/* process all packets */
for (i = 0; i < sync_count; i++) {
ret = gst_mpegts_demux_parse_transport_packet (demux, demux->sync_lut[i]);
- if (G_UNLIKELY (ret == GST_FLOW_LOST_SYNC)) {
+ if (G_UNLIKELY (ret == GST_FLOW_LOST_SYNC
+ || ret == GST_FLOW_NEED_MORE_DATA)) {
ret = GST_FLOW_OK;
continue;
}