qtdemux: opus: set entry as sampled

... otherwise streams with constant size samples defined with a single
`sample_size` for all samples in the `stsz` box fall in the category
`chunks_are_samples` in `qtdemux_stbl_init`, overriding the actual
sample count.

`FOURCC_soun` would set this automatically for `compression_id == 0xfffe`,
however `compression_id` is read from the Audio Sample Entry box at an offset
marked as "pre-defined" in some version of the spec and set to 0 both by
GStreamer and FFmpeg for opus streams.

Considering the stream `sampled` flag is set explicitely by other fourcc
variants, doing so for opus seems consistent.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4908>
This commit is contained in:
François Laignel 2023-06-20 14:56:44 +02:00 committed by Tim-Philipp Müller
parent adafbe4fad
commit 107c456c0d

View file

@ -12978,6 +12978,9 @@ qtdemux_parse_trak (GstQTDemux * qtdemux, GNode * trak)
channel_mapping_family, stream_count, coupled_count,
channel_mapping);
g_free (channel_mapping);
entry->sampled = TRUE;
break;
}
default: