summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesper Larsen <knorr.jesper@gmail.com>2014-09-29 10:01:27 +0200
committerSebastian Dröge <sebastian@centricular.com>2014-10-14 09:26:35 +0200
commit3b149ae7aa36cc989f1ef289d75b7486d93bf425 (patch)
tree52d16c480f272f4226f1ea05a76dbdc993a87d01
parentffbeddcc24b084001da0b4d04378b87e453f48eb (diff)
downloadgstreamer-plugins-bad-3b149ae7aa36cc989f1ef289d75b7486d93bf425.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
-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 297f375c9..9b2debbb9 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;