summaryrefslogtreecommitdiff
path: root/RtAudio.cpp
diff options
context:
space:
mode:
authorMarcus Tomlinson <themarcustomlinson@gmail.com>2018-12-13 23:16:42 +0000
committerMarcus Tomlinson <themarcustomlinson@gmail.com>2018-12-14 17:58:49 +0000
commit22c1d6cbea5061fb554010a16f018dbdf389e488 (patch)
treef316cd791e5aa891085d375c44dde44cdd371c0b /RtAudio.cpp
parentfa8b676a577de663b8622d0e8f6ce3605576b977 (diff)
#170 : Insert missing render memcpy when !doConvertBuffer in WASAPI
Diffstat (limited to 'RtAudio.cpp')
-rw-r--r--RtAudio.cpp9
1 files 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,