FS#12754 - Opus decoder fails to play stereo tracks encoded with the "--uncoupled" option

Attached to Project: Rockbox
Opened by Kyle (Kyle) - Sunday, 23 September 2012, 23:52 GMT
Task Type Bugs
Category Codecs
Status Unconfirmed
Assigned To No-one
Operating System Sansa AMSv2
Severity Low
Priority Normal
Reported Version Daily build (which?)
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


I have some stereo files that need to be encoded as two independent channels with no lossy stereo coupling. I encode these files by passing "--uncoupled" to the Opus encoder, e.g.

opusenc --bitrate 64 --framesize 60 --uncoupled example.wav example.opus

The lossless flac version of a sample of such a file prior to encoding can be downloaded from

If I do not pass the "--uncoupled" option to the encoder, the resulting Opus file plays with no trouble on my Sansa Clip+. The sample of this encoding is at
However, if I pass the "--uncoupled" option, sample at
Rockbox only plays a cacophony of chirps, scratches, squeaks and garbled noise, and no hint of the original sound is detectable.

Note: I have only been able to test this on a Clip+, as I own no other Rockbox player that is capable of playing Opus files at this time. Hopefully someone can confirm this problem on other targets, but for now, I have been able to reproduce it 100% on the Clip+, and I can confidently point to "--uncoupled" as the encoder option that results in an unplayable file.
This task depends upon

Comment by Bertrik Sikken (bertrik) - Monday, 24 September 2012, 07:46 GMT
Does the file play back correctly with opusdecoder?
Does the file play back correctly in the simulator?
Can you check the stack usage of the codec thread (menu system / debug / OS stacks or something like that)? It should preferably be less than 90%. This used to be a problem earlier
Comment by Kyle (Kyle) - Monday, 24 September 2012, 11:36 GMT
Both opusdec and ffmpeg with libopus enabled play the uncoupled file with no problem using both the Audacious ffmpeg plugin and sox -t ffmpeg. The Clip+ simulator, however, produces the same unintelegible noise as the real device when trying to play the uncoupled file. Is there a way to send the debug info while this file is playing to a log file or similar? I am visually impaired, and use the voice functionality, but the voice file doesn't speak debug information, stack sizes, etc.
Comment by Andree Buschmann (Buschel) - Friday, 28 September 2012, 19:57 GMT
For the non-working file the following configuration is read from the header:

h->nb_streams = 2
h->nb_coupled = 0
h->channels = 2

The working file (as several other working file I know) use:

h->nb_streams = 1
h->nb_coupled = 1
h->channels = 2