Browse Source

Allow loopback without having to define output parameters

tags/5.1.0
Marcus Tomlinson 7 years ago
parent
commit
4e5d52a99b
1 changed files with 12 additions and 1 deletions
  1. +12
    -1
      RtAudio.cpp

+ 12
- 1
RtAudio.cpp View File

@@ -4764,6 +4764,13 @@ bool RtApiWasapi::probeDeviceOpen( unsigned int device, StreamMode mode, unsigne
// if device index falls within render devices and is configured for loopback
if ( device < renderDeviceCount && mode == INPUT )
{
// if renderAudioClient is not initialised, initialise it now
IAudioClient*& renderAudioClient = ( ( WasapiHandle* ) stream_.apiHandle )->renderAudioClient;
if ( !renderAudioClient )
{
probeDeviceOpen( device, OUTPUT, channels, firstChannel, sampleRate, format, bufferSize, options );
}

// retrieve captureAudioClient from devicePtr
IAudioClient*& captureAudioClient = ( ( WasapiHandle* ) stream_.apiHandle )->captureAudioClient;

@@ -4793,8 +4800,12 @@ bool RtApiWasapi::probeDeviceOpen( unsigned int device, StreamMode mode, unsigne
// if device index falls within render devices and is configured for output
if ( device < renderDeviceCount && mode == OUTPUT )
{
// retrieve renderAudioClient from devicePtr
// if renderAudioClient is already initialised, don't initialise it again
IAudioClient*& renderAudioClient = ( ( WasapiHandle* ) stream_.apiHandle )->renderAudioClient;
if ( renderAudioClient )
{
return SUCCESS;
}

hr = renderDevices->Item( device, &devicePtr );
if ( FAILED( hr ) ) {


Loading…
Cancel
Save