Răsfoiți Sursa

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 12 ani în urmă
părinte
comite
db1dd7560e
1 a modificat fișierele cu 2 adăugiri și 2 ștergeri
  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