Move stream_.state update to the end of wasapiThread()
[rtaudio-cdist.git] / RtAudio.cpp
index 1bde9f8e5c57786797c79ef1350492562608ddb5..18e900e8fbc73402359c554f418b1a9fb9528b4a 100644 (file)
@@ -1,4 +1,4 @@
-/************************************************************************/
+/************************************************************************/
 /*! \class RtAudio
     \brief Realtime audio i/o C++ classes.
 
@@ -5098,7 +5098,7 @@ void RtApiWasapi::wasapiThread()
           }
 
           // Convert callback buffer to user sample rate
-          unsigned int deviceBufferOffset = convBufferSize * stream_.nDeviceChannels[INPUT] * formatBytes( stream_.userFormat );
+          unsigned int deviceBufferOffset = convBufferSize * stream_.nDeviceChannels[INPUT] * formatBytes( stream_.deviceFormat[INPUT] );
           unsigned int convSamples = 0;
 
           captureResampler->Convert( stream_.deviceBuffer + deviceBufferOffset,
@@ -5366,13 +5366,11 @@ Exit:
 
   CoUninitialize();
 
+  if ( !errorText_.empty() )
+    error( errorType );
+
   // update stream state
   stream_.state = STREAM_STOPPED;
-
-  if ( errorText_.empty() )
-    return;
-  else
-    error( errorType );
 }
 
 //******************** End of __WINDOWS_WASAPI__ *********************//