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
