Skip to content

Commit aff6551

Browse files
author
Devin Roth
committed
Take advantage of Accelerate.
1 parent 88ce191 commit aff6551

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

BlackHole/BlackHole.c

+5-4
Original file line numberDiff line numberDiff line change
@@ -3802,8 +3802,8 @@ static OSStatus BlackHole_DoIOOperation(AudioServerPlugInDriverRef inDriver, Aud
38023802
else
38033803
{
38043804
// Copy the buffers.
3805-
memcpy(ioMainBuffer, ((void*)gRingBuffer) + ringBufferFrameLocationStart * kNumber_Of_Channels * sizeof(Float32), firstPartFrameSize * kNumber_Of_Channels * sizeof(Float32));
3806-
memcpy(ioMainBuffer + firstPartFrameSize * kNumber_Of_Channels * sizeof(Float32), gRingBuffer, secondPartFrameSize * kNumber_Of_Channels * sizeof(Float32));
3805+
cblas_scopy(firstPartFrameSize * kNumber_Of_Channels, gRingBuffer + ringBufferFrameLocationStart * kNumber_Of_Channels, 1, ioMainBuffer, 1);
3806+
cblas_scopy(secondPartFrameSize * kNumber_Of_Channels, gRingBuffer, 1, (Float32*)ioMainBuffer + firstPartFrameSize * kNumber_Of_Channels, 1);
38073807

38083808
// Finally we'll apply the output volume to the buffer.
38093809
vDSP_vsmul(ioMainBuffer, 1, &gVolume_Master_Value, ioMainBuffer, 1, inIOBufferFrameSize * kNumber_Of_Channels);
@@ -3819,8 +3819,9 @@ static OSStatus BlackHole_DoIOOperation(AudioServerPlugInDriverRef inDriver, Aud
38193819
lastOutputSampleTime= inIOCycleInfo->mOutputTime.mSampleTime;
38203820
isBufferClear = false;
38213821

3822-
memcpy(((void*)gRingBuffer) + ringBufferFrameLocationStart * kNumber_Of_Channels * sizeof(Float32), ioMainBuffer, firstPartFrameSize * kNumber_Of_Channels * sizeof(Float32));
3823-
memcpy(gRingBuffer, ioMainBuffer + firstPartFrameSize * kNumber_Of_Channels * sizeof(Float32), secondPartFrameSize * kNumber_Of_Channels * sizeof(Float32));
3822+
// Copy the buffers.
3823+
cblas_scopy(firstPartFrameSize * kNumber_Of_Channels, ioMainBuffer, 1, gRingBuffer + ringBufferFrameLocationStart * kNumber_Of_Channels, 1);
3824+
cblas_scopy(secondPartFrameSize * kNumber_Of_Channels, (Float32*)ioMainBuffer + firstPartFrameSize * kNumber_Of_Channels, 1, gRingBuffer, 1);
38243825

38253826
}
38263827

0 commit comments

Comments
 (0)