GNOME Bugzilla – Bug 632039
[matroskamux] does not support aac in ADTS format
Last modified: 2010-10-18 09:41:22 UTC
* Steps to reproduce: GST_DEBUG=matroskamux:4 gst-launch-0.10 audiotestsrc ! faac outputformat=1 ! matroskamux ! fakesink * Actual result: streaming task paused, reason not-negotiated (-4) ERROR: pipeline doesn't want to preroll. * Expected result: Should work with adts
Created attachment 172242 [details] [review] matroskamux: hack: accept ADTS input Well, it should not really accept adts; it might make life easier for some, but more dangerous for others. That is, matroska specs do mention all over the place stuff like "Audio stream is stripped from ADTS headers and normal matroska frame based muxing scheme is applied." (which is a subtle hint it really should not contain ADTS). Attached patch will hack it so, but the result seems only handled by matroskademux (and not other players), so not likely Way To Go. So, unless there are suggestions how to get it in there cleanly (which seems contrary to the above specs), this is going way of NOTABUG.
Created attachment 172262 [details] mkv file that contains several swtich from 2 to 6 audio channels (faac outputformat set to ADTS) thx for the patch. In your patch this is GST_MATROSKA_CODEC_ID_AUDIO_AAC_MPEG4, not GST_MATROSKA_CODEC_ID_AUDIO_AAC. Well, I made a mkv file that contains aac with its outputformat set to ADTS. The recorded audio has 2 channels, then 6, then 2, then 6. Unfortunatelly, faad fails to decode it entirely, whereas it can decode it partially if the muxer is mpegtsmux, thanks to your other patch from bug: https://bugzilla.gnome.org/show_bug.cgi?id=631501
As stated earlier, ADTS in mkv is not really expected. matroskademux has some special casing to handle it, but that only applies to the _AAC case, not the _AAC_MPEG4, so it fails in the latter case (though should work in the former). Lacking alternative suggestions for ADTS in mkv, this is NOTABUG (and patch feels too much of a hack to go through). BTW, if you really want to hack ADTS in some container, it should (?) work (and play) with avimux or qtmux, provided caps are mutated into stream-format=raw (e.g. using capssetter).
Created attachment 172594 [details] mkv file that contains several swtich from 2 to 6 audio channels (faac outputformat set to ADTS) Using GST_MATROSKA_CODEC_ID_AUDIO_AAC this time. Just to keep something correct in this report