Skip to content

qtdemux: Add Gapless AAC support

Carlos Rafael Giani requested to merge dv1/gstreamer:qtdemux-gapless-aac into main

These commits add gapless audio support to qtdemux. This is specific to single-stream audio-only .m4a data.

The most common way of supporting gapless AAC in MP4 is by relying on the iTunes iTunSMPB tag. Older Nero AAC encoders did not use this, but they always used a specific a fixed encoder delay and padding. So, as fallback, if the AAC file is found to have been encoded with Nero AAC, and the iTunSMPB is not present (newer Nero AAC versions did add it, older ones didn't), then that Nero AAC specific behavior is used. Similar fallbacks for other encoders could be added in the future.

This MR also adds unit tests to test for iTunSMPB based and older NEro based gapless handling in qtdemux.

This replaces !4198 (closed) .

Edited by Carlos Rafael Giani

Merge request reports