Hi guys,

For those of you who haven't been on IRC recently, I just wanted to give
a brief update on our quest to figure out this memory corruption
business:

1) Adam, Pawel, and I figured out how EngineBufferScaleDummy and the
EngineScaling classes in general are supposed to work. Our dummy
implementation doesn't do any scaling, it just copies memory into the
right places and scales the play position accordingly. I'm fairly
confident that the code we have in there is bug-free.

2) EngineBufferScaleLinear looks OK to me. With this in mind, I'm going
to switch "vinyl emulation" mode over to using our own linear
interpolation code (via EngineBufferScaleLinear).

3) The only problems I've encountered while using the linear
interpolation code and the dummy scaling code is a deadlock, and it's
only happened when I'm using vinyl control. To be clear, I haven't had
any random asserts or crashes with the dummy/lerping code. I'm
optimistic that we may have found the (or a?) source of the memory
corruption (EngineBufferScaleST).

So, all of this is going to need testing soon, whenever these changes
hit trunk. If other people find the linear interpolation code to be
stable for them as well, then some of us should try to take a hard look
at EngineBufferScaleST and figure out what's wrong there.

In the worst case, if we can't figure out what the problem is, I might
take a look at Chris Cannam's Rubberband library. Rubberband does the
same sort of stretching as Soundtouch, but is much newer. From what
we've learnt from EngineBufferScaleDummy, we should be able to throw
together some code that uses Rubberband without too much trouble
(*crosses fingers*).

Anyways, we're making progress!
(I'm a little disappointed by the vinyl control deadlock, but I only
have myself to blame, hah) :)

Thanks,
Albert

P.S. If I haven't replied to anyone's emails, sorry, I'm way behind with
my replies...


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
Mixxx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mixxx-devel

Reply via email to