Here is the code from sblaster.c:
case DSP_DMA_16_ALIASED:
if (sb.dma.stereo)
{
sb.chan->AddSamples_s16(read>>2,sb.dma.buf.b16);
} else {
sb.chan->AddSamples_m16(read>>1,sb.dma.buf.b16);
}
break;
Last edited by cyberwalker on 2005-06-26, 03:25. Edited 1 time in total.
The code cyberwalker posted is inside that switch block. Also, in case anyone suggests that maybe a reference or pointer is being passed, here is the function prototype for AddSamples_s16:
Function should initialise "read" variable by calling
read=sb.dma.chan->Read(... );
Obviously, that part is missing in case of DSP_DMA_16_ALIASED.
Certainly a bug (because "read" is local non-static variable).