vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Thu Aug  2 
18:01:36 2012 +0300| [2c1d3be4a40a7246178ebf889d038bfef7e067fd] | committer: 
Rémi Denis-Courmont

wasapi: restart aout if device is invalidated (fixes #6826)

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=2c1d3be4a40a7246178ebf889d038bfef7e067fd
---

 modules/audio_output/wasapi.c |    6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/modules/audio_output/wasapi.c b/modules/audio_output/wasapi.c
index 97b45a1..25532b7 100644
--- a/modules/audio_output/wasapi.c
+++ b/modules/audio_output/wasapi.c
@@ -93,7 +93,7 @@ struct aout_sys_t
 static void Play(audio_output_t *aout, block_t *block, mtime_t *restrict drift)
 {
     aout_sys_t *sys = aout->sys;
-    HRESULT hr;
+    HRESULT hr = S_OK;
 
     Enter();
     if (likely(sys->clock != NULL))
@@ -158,6 +158,10 @@ static void Play(audio_output_t *aout, block_t *block, 
mtime_t *restrict drift)
 
     Leave();
     block_Release(block);
+
+    /* Restart on unplug */
+    if (unlikely(hr == AUDCLNT_E_DEVICE_INVALIDATED))
+        var_TriggerCallback(aout, "audio-device");
 }
 
 static void Pause(audio_output_t *aout, bool paused, mtime_t date)

_______________________________________________
vlc-commits mailing list
[email protected]
http://mailman.videolan.org/listinfo/vlc-commits

Reply via email to