GNOME Bugzilla – Bug 173007
[faad] Failed to decode buffer: Channel coupling not yet implemented
Last modified: 2006-05-03 21:48:17 UTC
Please describe the problem: http://stream.state.gov/streamvol/journals/fullversion.mov Doesn't play. Steps to reproduce: Actual results: Expected results: Does this happen every time? Other information:
confirmed, still raises the same error.
Created attachment 64030 [details] [review] possible fix This patch fixes the issue for this file (and many others). It creates a 'fake' private codec data chunk based on the sample rate and number of channels as provided by the demuxer and re-opens the decoder using faacDecInit2() if things didn't work out with faacDecInit() and the demuxer hasn't provided any private codec data of its own. The implementation is fairly conservative on purpose, ie. it only adds a fallback if things don't work as they do now (faad could certainly use some refactoring though), it's not meant to be pretty ;)
Created attachment 64035 [details] [review] updated patch updated patch, makes files from bug #332892 work as well.
*** Bug 339948 has been marked as a duplicate of this bug. ***
Committed to CVS: 2006-04-28 Tim-Philipp Müller <tim at centricular dot net> * ext/faad/gstfaad.c: (gst_faad_init), (aac_rate_idx), (gst_faad_setcaps), (gst_faad_chain), (gst_faad_open_decoder), (gst_faad_close_decoder), (gst_faad_change_state): * ext/faad/gstfaad.h: If we run into a decoding error, try re-opening the decoder with faacDecInit2() using fake codec data created from the data the demuxer gave us. Should fix a whole bunch of GStreamer-faad problems incl. 'channel coupling not implemented', 'maximum number of scalefactor bands exceeded' etc. (#173007, #332892).