summaryrefslogtreecommitdiff
path: root/gst/mpegtsdemux
diff options
context:
space:
mode:
authorEdward Hervey <bilboed@bilboed.com>2015-07-09 16:59:16 +0200
committerEdward Hervey <bilboed@bilboed.com>2015-07-09 18:15:54 +0200
commit0247dc748972e9c869e63916df37640c09b701c2 (patch)
tree7d8ac013b03ec2e235817fb564b8416acb7d38c1 /gst/mpegtsdemux
parent22df1aefd8106930a91ca7694117cd535adcfb5d (diff)
downloadgstreamer-plugins-bad-0247dc748972e9c869e63916df37640c09b701c2.tar.gz
mpegtsbase: Flush more on DISCONT buffers in push mode
When in push mode, we want to discard all previous observations from the mpegtspacketizer when we get a DISCONT buffer. This avoids trying to calculate bogus timestamps (estimating them using old PCR observations). We only do a hard reset in push-mode. In pull-mode we still need the observations (in order to seek properly)
Diffstat (limited to 'gst/mpegtsdemux')
-rw-r--r--gst/mpegtsdemux/mpegtsbase.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c
index 4751028cd..1836e9d83 100644
--- a/gst/mpegtsdemux/mpegtsbase.c
+++ b/gst/mpegtsdemux/mpegtsbase.c
@@ -1110,7 +1110,7 @@ mpegts_base_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
return res;
mpegts_base_flush (base, FALSE);
- mpegts_packetizer_flush (base->packetizer, FALSE);
+ mpegts_packetizer_flush (base->packetizer, base->mode == BASE_MODE_PUSHING);
}
mpegts_packetizer_push (base->packetizer, buf);