pulse/output: fix deadlock when resuming the stream

Unlock the mainloop in all code paths.
This commit is contained in:
Max Kellermann 2011-08-23 22:44:43 +02:00
parent 8d70f808d9
commit 25686e5bce
2 changed files with 4 additions and 1 deletions

1
NEWS
View File

@ -13,6 +13,7 @@ ver 0.16.4 (2011/??/??)
* output:
- alsa: fix SIGFPE when alsa announces a period size of 0
- httpd: don't warn on client disconnect
- pulse: fix deadlock when resuming the stream
ver 0.16.3 (2011/06/04)

View File

@ -683,8 +683,10 @@ pulse_output_play(void *data, const void *chunk, size_t size, GError **error_r)
/* unpause if previously paused */
if (pulse_output_stream_is_paused(po) &&
!pulse_output_stream_pause(po, false, error_r))
!pulse_output_stream_pause(po, false, error_r)) {
pa_threaded_mainloop_unlock(po->mainloop);
return 0;
}
/* wait until the server allows us to write */