diff options
| author | Marcus Tomlinson <themarcustomlinson@gmail.com> | 2018-12-13 23:16:42 +0000 |
|---|---|---|
| committer | Marcus Tomlinson <themarcustomlinson@gmail.com> | 2018-12-14 17:58:49 +0000 |
| commit | 22c1d6cbea5061fb554010a16f018dbdf389e488 (patch) | |
| tree | f316cd791e5aa891085d375c44dde44cdd371c0b /RtAudio.cpp | |
| parent | fa8b676a577de663b8622d0e8f6ce3605576b977 (diff) | |
#170 : Insert missing render memcpy when !doConvertBuffer in WASAPI
Diffstat (limited to 'RtAudio.cpp')
| -rw-r--r-- | RtAudio.cpp | 9 |
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, |
