mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-09-08 21:28:45 +00:00
qtdemux: AAC codec_data can be > 2 bytes long
This fixes the assumption that DecoderSpecificInfo must be 2 bytes long for AAC files. The specification allows HE-AAC to be explicitly signalled in a backward compatible way. This is done by means of an additional information after the regular AAC header. It is expected that decoders that can play AAC but not HE-AAC will parse the header normally and ignore extended bits, much as they do for the HE-AAC specific payload in the actual stream. https://bugzilla.gnome.org/show_bug.cgi?id=612313
This commit is contained in:
parent
bb9a8a9b7d
commit
4a244e0d55
1 changed files with 3 additions and 0 deletions
|
@ -7421,7 +7421,10 @@ gst_qtdemux_handle_esds (GstQTDemux * qtdemux, QtDemuxStream * stream,
|
||||||
rate = gst_codec_utils_aac_get_sample_rate_from_index (rateindex);
|
rate = gst_codec_utils_aac_get_sample_rate_from_index (rateindex);
|
||||||
if (rate > 0)
|
if (rate > 0)
|
||||||
stream->rate = rate;
|
stream->rate = rate;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set level and profile if possible */
|
||||||
|
if (data_ptr != NULL && data_len >= 2) {
|
||||||
gst_codec_utils_aac_caps_set_level_and_profile (stream->caps,
|
gst_codec_utils_aac_caps_set_level_and_profile (stream->caps,
|
||||||
data_ptr, data_len);
|
data_ptr, data_len);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue