mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-07 07:58:51 +00:00
mpegts: Also clear packetizer on TIME DISCONT
When dealing with TIME-based input, the incoming stream could have potentially changed completely. In order to check whether it did or not, we need to re-check all sections (PAT, PMT...). If it didn't, we will keep using the existing streams/pad, and if it did we will act as if there was a program switch. Fixes HLS streaming with decodebin3/playbin3
This commit is contained in:
parent
4aadf50012
commit
fb36608ccd
1 changed files with 3 additions and 2 deletions
|
@ -1164,9 +1164,10 @@ mpegts_base_chain (GstPad * pad, GstObject * parent, GstBuffer * buf)
|
||||||
* we want to drop all previous observations (hard:TRUE) from
|
* we want to drop all previous observations (hard:TRUE) from
|
||||||
* the packetizer */
|
* the packetizer */
|
||||||
if (base->mode == BASE_MODE_PUSHING
|
if (base->mode == BASE_MODE_PUSHING
|
||||||
&& base->segment.format == GST_FORMAT_TIME)
|
&& base->segment.format == GST_FORMAT_TIME) {
|
||||||
mpegts_packetizer_flush (base->packetizer, TRUE);
|
mpegts_packetizer_flush (base->packetizer, TRUE);
|
||||||
else
|
mpegts_packetizer_clear (base->packetizer);
|
||||||
|
} else
|
||||||
mpegts_packetizer_flush (base->packetizer, FALSE);
|
mpegts_packetizer_flush (base->packetizer, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue