Explorar el Código

XAudio2: Use XAUDIO2_VOICE_NOSAMPLESPLAYED when possible.

For versions of XAudio2 with an IXAudio2SourceVoice::GetState() that offers a
flags parameter, we can use XAUDIO2_VOICE_NOSAMPLESPLAYED, since we don't
need this information in our current calls. According to MSDN, this makes the
the call about 3x faster.
Ryan C. Gordon hace 11 años
padre
commit
db1dd7560e
Se han modificado 1 ficheros con 2 adiciones y 2 borrados
  1. 2 2
      src/audio/xaudio2/SDL_xaudio2.c

+ 2 - 2
src/audio/xaudio2/SDL_xaudio2.c

@@ -241,14 +241,14 @@ XAUDIO2_WaitDone(_THIS)
     SDL_assert(!this->enabled);  /* flag that stops playing. */
     IXAudio2SourceVoice_Discontinuity(source);
 #if SDL_XAUDIO2_WIN8
-    IXAudio2SourceVoice_GetState(source, &state, 0);
+    IXAudio2SourceVoice_GetState(source, &state, XAUDIO2_VOICE_NOSAMPLESPLAYED);
 #else
     IXAudio2SourceVoice_GetState(source, &state);
 #endif
     while (state.BuffersQueued > 0) {
         SDL_SemWait(this->hidden->semaphore);
 #if SDL_XAUDIO2_WIN8
-        IXAudio2SourceVoice_GetState(source, &state, 0);
+        IXAudio2SourceVoice_GetState(source, &state, XAUDIO2_VOICE_NOSAMPLESPLAYED);
 #else
         IXAudio2SourceVoice_GetState(source, &state);
 #endif