diff options
author | Dave Robillard <dave@drobilla.net> | 2009-06-19 21:03:10 -0400 |
---|---|---|
committer | Dave Robillard <dave@drobilla.net> | 2009-06-19 21:03:10 -0400 |
commit | 23953f27c870c42ce369d717bc15b7f8001691a1 (patch) | |
tree | 19b3999c7b0c36fcefcbbcaaaa9102f612670ca7 /gst/mpegdemux/gstmpegtsdemux.c | |
parent | d365eafd8f2cdb1ded93fe4bd95e568026abf0da (diff) | |
parent | 925e83ee60c5406b2e5f0f39b0da0f90370efc27 (diff) | |
download | gst-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.c | 19 |
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; } |