summaryrefslogtreecommitdiff
path: root/gst/mpegtsdemux
diff options
context:
space:
mode:
authorJesper Larsen <knorr.jesper@gmail.com>2014-09-29 10:01:27 +0200
committerEdward Hervey <bilboed@bilboed.com>2014-09-29 11:41:01 +0200
commit1b8e76d235f4adc42fdbc2f4b63f822d74097622 (patch)
treeee0492315674f9fe9787bcc0e349bd954f675d7d /gst/mpegtsdemux
parent29f1f4533ee210ca959c40566d9ad781f48a073b (diff)
downloadgstreamer-plugins-bad-1b8e76d235f4adc42fdbc2f4b63f822d74097622.tar.gz
tsdemux: do not discard on discont if PES start
If a discontinuity in the stream is detected, data is discarded until a new PES starts. If the first packet after the discontinuity is also the start of a PES, there is no reason to discard the packets. https://bugzilla.gnome.org/show_bug.cgi?id=737569
Diffstat (limited to 'gst/mpegtsdemux')
-rw-r--r--gst/mpegtsdemux/tsdemux.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gst/mpegtsdemux/tsdemux.c b/gst/mpegtsdemux/tsdemux.c
index 23c35d2ac..bd196c37b 100644
--- a/gst/mpegtsdemux/tsdemux.c
+++ b/gst/mpegtsdemux/tsdemux.c
@@ -1850,7 +1850,8 @@ gst_ts_demux_queue_data (GstTSDemux * demux, TSDemuxStream * stream,
} else {
GST_WARNING ("CONTINUITY: Mismatch packet %d, stream %d",
cc, stream->continuity_counter);
- stream->state = PENDING_PACKET_DISCONT;
+ if (stream->state != PENDING_PACKET_EMPTY)
+ stream->state = PENDING_PACKET_DISCONT;
}
stream->continuity_counter = cc;