From 22c1d6cbea5061fb554010a16f018dbdf389e488 Mon Sep 17 00:00:00 2001 From: Marcus Tomlinson Date: Thu, 13 Dec 2018 23:16:42 +0000 Subject: [PATCH] #170 : Insert missing render memcpy when !doConvertBuffer in WASAPI --- RtAudio.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/RtAudio.cpp b/RtAudio.cpp index 7c87572..ace0572 100644 --- a/RtAudio.cpp +++ b/RtAudio.cpp @@ -4860,8 +4860,7 @@ bool RtApiWasapi::probeDeviceOpen( unsigned int device, StreamMode mode, unsigne stream_.doConvertBuffer[mode] = false; if ( stream_.userFormat != stream_.deviceFormat[mode] || stream_.nUserChannels[0] != stream_.nDeviceChannels[0] || - stream_.nUserChannels[1] != stream_.nDeviceChannels[1] || - stream_.userInterleaved ) + stream_.nUserChannels[1] != stream_.nDeviceChannels[1] ) stream_.doConvertBuffer[mode] = true; else if ( stream_.userInterleaved != stream_.deviceInterleaved[mode] && stream_.nUserChannels[mode] > 1 ) @@ -5318,6 +5317,12 @@ void RtApiWasapi::wasapiThread() stream_.convertInfo[OUTPUT] ); } + else { + // no further conversion, simple copy userBuffer to deviceBuffer + memcpy( stream_.deviceBuffer, + stream_.userBuffer[OUTPUT], + stream_.bufferSize * stream_.nUserChannels[OUTPUT] * formatBytes( stream_.userFormat ) ); + } // Convert callback buffer to stream sample rate renderResampler->Convert( convBuffer, -- 2.30.2