Menu

#4 DAV_DspCircularBuffer bug!

open
None
5
2011-08-21
2010-09-20
Anonymous
No

ver dav1.4 beta2
UNIT DAV_DspCircularBuffer,
bug in in all writebuffer function:

function TCustomCircularBuffer32.WriteBuffer(
const Data: PDAVSingleFixedArray; const SampleFrames: Cardinal): Cardinal;
....
PartialSamples := FBufferSize - FWriteBufferPos;
Move(Data^[0], FBuffer^[FWriteBufferPos], PartialSamples * SizeOf(Single));
line 421>>> Move(Data^[PartialSamples], FBuffer^[PartialSamples], (Result - PartialSamples) * SizeOf(Single));
FWriteBufferPos := (Result - PartialSamples);

if FWriteBufferPos >= FBufferSize
then FWriteBufferPos := FWriteBufferPos - FBufferSize;

shoud be:
line 421: Move(Data^[PartialSamples], FBuffer^[0], (Result - PartialSamples) * SizeOf(Single));
and other:
line 528: Move(Data^[PartialSamples], FBuffer^[0], (Result - PartialSamples) * SizeOf(Double));
line 667: Move( Left^[PartialSamples], FBuffer[0]^[0], (Result - PartialSamples) * SizeOf(Single));
line 668: Move(Right^[PartialSamples], FBuffer[1]^[0], (Result - PartialSamples) * SizeOf(Single));
line 808: Move( Left^[PartialSamples], FBuffer[0]^[0], (Result - PartialSamples) * SizeOf(Double));
line 809: Move(Right^[PartialSamples], FBuffer[1]^[0], (Result - PartialSamples) * SizeOf(Double));
line 1041: Move(Data[Channel]^[PartialSamples], FBuffer[Channel]^[0], (Result - PartialSamples) * SizeOf(Single));
line 1235: Move(Data[Channel]^[PartialSamples], FBuffer[Channel]^[PartialSamples], (Result - PartialSamples) * SizeOf(Double));

line 1463: Move(Data[Channel]^[PartialSamples], FBuffer[1]^[0], (Result - PartialSamples) * SizeOf(Single));

line 1722: Move(Data[Channel]^[PartialSamples], FBuffer[1]^[0], (Result - PartialSamples) * SizeOf(Double));

line 529: FWriteBufferPos := Result - PartialSamples;
line 810: FWriteBufferPos := Result - PartialSamples;

----------------------
The correct file, see attachment

Discussion

  • Anonymous

    Anonymous - 2010-09-20

    line 1235: Move(Data[Channel]^[PartialSamples], FBuffer[Channel]^[0], (Result - PartialSamples) * SizeOf(Double));

    :)

     
  • Nobody/Anonymous

    91et2b <a href="http://uxzpimqpqfmr.com/">uxzpimqpqfmr</a>, [url=http://vfyfofbhsrgj.com/]vfyfofbhsrgj[/url], [link=http://cypeuxporfbd.com/]cypeuxporfbd[/link], http://sbvvqcxnrijh.com/

     
  • Christian-W. Budde

    • assigned_to: nobody --> cwbudde
     

Log in to post a comment.