aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2017-06-09 13:32:34 -0700
committerChris Robinson <[email protected]>2017-06-09 13:32:34 -0700
commita35b9bbd3eac75771ca90d5755068cf88d5406aa (patch)
treee48fc30e03daf2f8f5399436ebefec9e46f382e0 /OpenAL32
parentba0644254c9cbf0fac21af49cbafd5289c90ff1c (diff)
Don't force a fade-in when resuming a paused source
This needs to be handled more automatically by the mixer to work correctly. Otherwise, requiring a property update on resume can put the source into a playing state with the mixer never playing it, due to not having valid mixing parameters and the mixing parameters not getting calculated because no updates are specified by the app (and forcing an update can break deferred updates).
Diffstat (limited to 'OpenAL32')
-rw-r--r--OpenAL32/alSource.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/OpenAL32/alSource.c b/OpenAL32/alSource.c
index 46f23a75..be191fdb 100644
--- a/OpenAL32/alSource.c
+++ b/OpenAL32/alSource.c
@@ -2502,17 +2502,7 @@ AL_API ALvoid AL_APIENTRY alSourcePlayv(ALsizei n, const ALuint *sources)
case AL_PAUSED:
assert(voice != NULL);
- /* A source that's paused simply resumes. Clear its mixing
- * parameters and mark it as 'fading' so it fades in from
- * silence.
- */
- voice->Step = 0;
- voice->Flags |= VOICE_IS_FADING;
- memset(voice->Direct.Params, 0, sizeof(voice->Direct.Params[0])*
- voice->NumChannels);
- for(s = 0;s < device->NumAuxSends;s++)
- memset(voice->Send[s].Params, 0, sizeof(voice->Send[s].Params[0])*
- voice->NumChannels);
+ /* A source that's paused simply resumes. */
ATOMIC_STORE(&voice->Playing, true, almemory_order_release);
ATOMIC_STORE(&source->state, AL_PLAYING, almemory_order_release);
goto finish_play;