GNOME Bugzilla – Bug 632442
[vorbisenc] failed to dynamically switch between 2 and 6 audio channels
Last modified: 2010-10-18 11:09:40 UTC
Created attachment 172596 [details] aac file that contains 2 audio channels then 6 then 2 then 6 (recorded with faac outputformat=1) ** steps to reproduce: gst-launch-0.10 filesrc location=res.aac ! aacparse ! faad ! audioconvert ! vorbisenc ! oggmux ! filesink location=res.ogg ** Actual result: You can hear to beginning of res.ogg but when switching to 6 audio channels, you can't hear. (data for 6 channels is assumed to be 2) ** Expected result: You should be able to hear the whole audio stream from res.ogg ** Other infos: - You can hear with aacparse: gst-launch-0.10 filesrc location=res.aac ! aacparse ! faad ! alsasink - I think the problem does not come from audioconvert because gst-launch-0.10 filesrc location=res.aac ! aacparse ! faad ! audioconvert ! faac outputformat=1 ! filesink location=res2.aac preserves the switchs. - I do not know if vorbisdec is able to do that but for now I think the problem comes from vorbisenc side.
vorbis does not support this as far as I know. This can be done with ogg/vorbis in principle, but would have to be handled at the application level, or you'd have to write a convenience bin for it. Basically you need to create a new vorbisenc when the format changes and hook that up to oggmux and finish off the old stream, so that you get a so-called 'chained ogg'. So NOTABUG IMHO.
Yes, NOTABUG. Vorbis doesn't support stream changes in the middle of a stream and even with Ogg this is not possible (header pages must be at the front of the file IIRC).