vlc | branch: master | Thomas Guillem <[email protected]> | Tue Nov 14 14:32:58 2017 +0100| [fd09bcfd9b8b32fbe0fb98d2899068229fda17e2] | committer: Thomas Guillem
mmdevice: fix assert/UB when changing volume without any devices If there is no audio devices, Open() will succeed but MMSession() will fail. Then, MMThread() will wait for any events in order to call MMSession() again. In that case, don't try to call MMsession() without a valid device when volume or mute is changed from the user. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=fd09bcfd9b8b32fbe0fb98d2899068229fda17e2 --- modules/audio_output/mmdevice.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/audio_output/mmdevice.c b/modules/audio_output/mmdevice.c index 4f32cf0ea8..b6d116622e 100644 --- a/modules/audio_output/mmdevice.c +++ b/modules/audio_output/mmdevice.c @@ -1037,7 +1037,7 @@ static void *MMThread(void *data) EnterCriticalSection(&sys->lock); do - if (FAILED(MMSession(aout, it))) + if (sys->requested_device == NULL || FAILED(MMSession(aout, it))) SleepConditionVariableCS(&sys->work, &sys->lock, INFINITE); while (sys->it != NULL); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
