qtdemux: Refuse seeks in BYTES format
authorJan Schmidt <jan@centricular.com>
Tue, 22 Jun 2021 07:19:19 +0000 (17:19 +1000)
committerJan Schmidt <jan@centricular.com>
Tue, 22 Jun 2021 08:05:56 +0000 (18:05 +1000)
commit34a6acede18f539deef7584946844ca8a2899ab0
treeee3a7abb783165de7721dbb8c76474106df36fa6
parent95f6c31c21269843419bcc61d1eb6e5708305c55
qtdemux: Refuse seeks in BYTES format

If downstream tries to seek in BYTES format, don't pass that through
to upstream. The byte positions downstream requests won't make any
sense in the muxed stream. There might be other formats we want to
pass through to upstream, but BYTES is not one of them. If we get a
seeking query about BYTES format, refuse that too.

This fixes a situation where we're playing a fragmented mp4 over http
and qtdemux refuses the initial seek (in TIME format), but then
h264parse/baseparse send a seek in BYTES format and everything falls
apart.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1014>
gst/isomp4/qtdemux.c