vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Thu Aug 11 16:35:12 2011 +0300| [c72c363f0344ac9bfb280fd4c48299c862561eff] | committer: Rémi Denis-Courmont
PulseAudio: missing lock > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c72c363f0344ac9bfb280fd4c48299c862561eff --- modules/audio_output/pulse.c | 14 ++++++++------ src/pulse/mainloop.c | 2 ++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/modules/audio_output/pulse.c b/modules/audio_output/pulse.c index 24c7193..f1af097 100644 --- a/modules/audio_output/pulse.c +++ b/modules/audio_output/pulse.c @@ -823,18 +823,20 @@ static void Close (vlc_object_t *obj) var_DelCallback (aout, "audio-device", StreamMove, s); var_Destroy (aout, "audio-device"); + vlc_pa_lock (); pa_stream_disconnect(s); /* Clear all callbacks */ pa_stream_set_state_callback(s, NULL, NULL); - pa_stream_set_latency_update_callback(s, NULL, aout); - pa_stream_set_moved_callback(s, NULL, aout); - pa_stream_set_overflow_callback(s, NULL, aout); - pa_stream_set_started_callback(s, NULL, aout); - pa_stream_set_suspended_callback(s, NULL, aout); - pa_stream_set_underflow_callback(s, NULL, aout); + pa_stream_set_latency_update_callback(s, NULL, NULL); + pa_stream_set_moved_callback(s, NULL, NULL); + pa_stream_set_overflow_callback(s, NULL, NULL); + pa_stream_set_started_callback(s, NULL, NULL); + pa_stream_set_suspended_callback(s, NULL, NULL); + pa_stream_set_underflow_callback(s, NULL, NULL); pa_stream_unref(s); + vlc_pa_unlock (); } vlc_pa_disconnect(obj, ctx); diff --git a/src/pulse/mainloop.c b/src/pulse/mainloop.c index f1d1d77..8ed7bb5 100644 --- a/src/pulse/mainloop.c +++ b/src/pulse/mainloop.c @@ -262,9 +262,11 @@ void vlc_pa_disconnect (vlc_object_t *obj, pa_context *ctx) { pa_threaded_mainloop *mainloop = vlc_pa_mainloop; + vlc_pa_lock (); pa_context_disconnect (ctx); pa_context_set_state_callback (ctx, NULL, NULL); pa_context_unref (ctx); + vlc_pa_unlock (); vlc_pa_mainloop_deinit (mainloop); (void) obj; _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
