qtdemux: parse Opus and dOps as qtdemux nodes and add size checks
authorFrançois Laignel <francois@centricular.com>
Mon, 19 Jun 2023 13:11:30 +0000 (15:11 +0200)
committerTim-Philipp Müller <tim@centricular.com>
Mon, 19 Jun 2023 15:09:48 +0000 (16:09 +0100)
commit670ce68f0683c3900bc3534cd91f1b95199621af
treec065d0a5bb0c747e69efb14c66049b4f0a857af5
parent8d2dc95567464ea8cfd32731d619e45455907715
qtdemux: parse Opus and dOps as qtdemux nodes and add size checks

This allows checking the nodes conformity and dumping parsed values.

Note: Audio Sample Entry version parsing and offset handling is handled as part
of `FOURCC_soun` common processing and in `qtdemux_parse_node`.

Also, only read `stream_count` and `coupled_count` when
`channel_mapping_family` != 0. See:

https://opus-codec.org/docs/opus_in_isobmff.html#4.3.2

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4891>
subprojects/gst-plugins-good/gst/isomp4/qtdemux.c
subprojects/gst-plugins-good/gst/isomp4/qtdemux_dump.c
subprojects/gst-plugins-good/gst/isomp4/qtdemux_dump.h
subprojects/gst-plugins-good/gst/isomp4/qtdemux_types.c