qtdemux: Fix can not demux Opus track made by qtmux
authorZhao, Gang <gang.zhao.42@gmail.com>
Tue, 9 Nov 2021 13:20:19 +0000 (21:20 +0800)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 9 Nov 2021 17:57:49 +0000 (17:57 +0000)
commit6cad2a7150126e1181a01acb76533a2158095793
treef2d661ca08e1568667a9b617659d2894d2972472
parent0c9d9d90d98033e58ca5b3844a7e8215bb844395
qtdemux: Fix can not demux Opus track made by qtmux

Opus stream info is read from dOps box [1]. The offset of dOps box in Opus box is different in mp4a version 1 and 0 [2]. Calculate the offset of dOps box according to mp4a version.

[1] https://opus-codec.org/docs/opus_in_isobmff.html

[2] subprojects/gst-plugins-good/gst/isomp4/atoms.c:sample_entry_mp4a_copy_data:2146

Fixed: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/918
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1329>
subprojects/gst-plugins-good/gst/isomp4/qtdemux.c