SoundSourceM4A does not double audio output on monoaural tracks into stereo.

Bug #324666 reported by RJ Skerry-Ryan on 2009-02-03
Affects Status Importance Assigned to Milestone

Bug Description

SoundSourceM4A::read() does not properly double the read audio into stereo if the song is mono. Clients of SoundSourceProxy::read() expect this, and all other SoundSources do this.

RJ Skerry-Ryan (rryan) wrote :

I don't have any examples of mono files. Anybody have one?

Changed in mixxx:
assignee: nobody → RJ Ryan (rryan)
milestone: none → 1.8.0
status: New → Confirmed

You can make one from the stuff in mixxx/src/test/soundFileFormats. Specifically, unpack the reference file then use sox or whatever to make a mono m4a out of it. Better still, add M4A generation to the script so everyone can use it.

fenugrec (fenugrec) wrote :

Here's a patch for 1.8 trunk.
As it is, though, SSM4A::ParseHeader on a mono file will still do a Track->setChannels(2)
(hardcoded, see source file) .

The patch also cleans up some of the stuff I mentioned in bug #501542 ,
viz. ::ParseHeader discrepancies.

RJ Skerry-Ryan (rryan) wrote :

Nice patch, C. Stewart.

One problem: it does not divide the number of bytes to read by the channels. As the patch stands, you would fill the buffer with mono samples and then double it into 2* the available memory in the read buffer.

fenugrec (fenugrec) wrote :

Ah yes, I was misinterpreting the code. This patch should be better.

RJ Skerry-Ryan (rryan) wrote :

Fixed thanks to C. Stewart.

Changed in mixxx:
status: Confirmed → Fix Committed
assignee: RJ Ryan (rryan) → C. Stewart (fenugrec)
RJ Skerry-Ryan (rryan) on 2010-10-05
Changed in mixxx:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Bug attachments