Skip to content

Commit 9e1de8d

Browse files
committed
Reset effects when source starts playing;
1 parent 19fba27 commit 9e1de8d

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

src/modules/audio/audio.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,17 @@ static void onPlayback(ma_device* device, void* out, const void* in, uint32_t co
166166

167167
FOREACH_SOURCE(state.activeSourceMask, source) {
168168
uint32_t play = atomic_exchange(&source->playRequest, ~0u);
169-
if (play != ~0u) source->playing = !!play;
169+
170+
if (play != ~0u) {
171+
if (!source->playing && play == 1) {
172+
iplDirectEffectReset(source->directEffect);
173+
iplPanningEffectReset(source->panningEffect);
174+
iplBinauralEffectReset(source->binauralEffect);
175+
iplReflectionEffectReset(source->reflectionEffect);
176+
}
177+
178+
source->playing = !!play;
179+
}
170180

171181
uint32_t seek = atomic_exchange(&source->seekRequest, ~0u);
172182
if (seek != ~0u) source->offset = seek;

0 commit comments

Comments
 (0)