mpegts: Check is program is identical before updating

There is no need to update the program if it's identical :)

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3427>
This commit is contained in:
Edward Hervey 2022-11-16 09:29:59 +01:00 committed by GStreamer Marge Bot
parent 5fc136bcf2
commit d0ed03fe3b

View file

@ -1209,6 +1209,10 @@ mpegts_base_apply_pmt (MpegTSBase * base, GstMpegtsSection * section)
if (G_UNLIKELY (old_program == NULL))
goto no_program;
if (G_UNLIKELY (mpegts_base_is_same_program (base, old_program, section->pid,
pmt)))
goto same_program;
if (base->streams_aware
&& mpegts_base_is_program_update (base, old_program, section->pid, pmt)) {
GST_FIXME ("We are streams_aware and new program is an update");
@ -1217,10 +1221,6 @@ mpegts_base_apply_pmt (MpegTSBase * base, GstMpegtsSection * section)
goto beach;
}
if (G_UNLIKELY (mpegts_base_is_same_program (base, old_program, section->pid,
pmt)))
goto same_program;
/* If the current program is active, this means we have a new program */
if (old_program->active) {
MpegTSBaseClass *klass = GST_MPEGTS_BASE_GET_CLASS (base);