Rockbox

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

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

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
http://kyle.tk/binaural-beat-sample.flac

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
http://kyle.tk/binaural-beat-sample-64k.opus However, if I pass the "–uncoupled" option, sample at
http://kyle.tk/binaural-beat-sample-64k-uncoupled.opus 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.

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

Kyle commented on 2012-09-24 11:36

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.

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

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing