dashdemux: Preserve current representation on live manifest updates
authorJan Schmidt <jan@centricular.com>
Sat, 20 Aug 2022 17:37:40 +0000 (03:37 +1000)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Mon, 5 Sep 2022 16:07:00 +0000 (16:07 +0000)
commit4e25c519defc61b6ce92466d2f6bab5c0258c880
tree3aabe74887e494d341ad18db94fd2d69bb372a4b
parenta5ef7e27811c5bc7b9b96d9c17d00ae1b9fd6ba8
dashdemux: Preserve current representation on live manifest updates

When updating a manifest during live playback, preserve the current
representation for each stream.

During update_fragment_info, if the current representation changed
because it couldn't be matched, trigger a caps change and new
header download.

This reverts commit e0e1db212fd0df2239583b9099fc4361adeded05
and reapplies "dashdemux: Fix issue when manifest update sets slow start
without passing necessary header & caps changes downstream" with
changes.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/507
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1729

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2920>
subprojects/gst-plugins-bad/ext/dash/gstdashdemux.c
subprojects/gst-plugins-bad/ext/dash/gstdashdemux.h
subprojects/gst-plugins-bad/ext/dash/gstmpdclient.c
subprojects/gst-plugins-bad/ext/dash/gstmpdclient.h