GNOME Bugzilla – Bug 695412
mpegtsmux AAC ADTS header seems incorrect
Last modified: 2013-07-05 09:48:20 UTC
Created attachment 238346 [details] [review]
Fix ADTS header
I don't think mpegtsmux_prepare_aac() extracts the info from the codec_data correctly. I get a bad ADTS header when muxing a 16kHz AAC-LC stream.
Please see attached patch - I've changed it so the codec_data parsing matches that in gst_qtdemux_handle_esds(). This makes my 16kHz LC stream play ok, and doesn't appear to break other streams. The generated header bytes also match those created by ffmpeg doing a similar muxing.
Looks good, thanks.
I removed the channel change because it doesn't make a difference (and because the current code matches aacparse).
frequency index == 15 for a custom sample rate with 24 extra bits isn't handled here, but then it's not handled in many other places either it seems.
Author: Kevin Thornberry <firstname.lastname@example.org>
Date: Thu Mar 7 22:19:15 2013 +0000
mpegtsmux: fix creation of ADTS header for AAC audio in MPEG-TS
Picked it into 1.0 as well.