summaryrefslogtreecommitdiffstats
path: root/ext/pulse
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2009-01-05 17:31:13 +0000
committerSebastian Dröge <slomo@circular-chaos.org>2009-01-05 17:31:13 +0000
commit67cc69ad52addeee2999f5919cfc3b0fbc554ec8 (patch)
treed8023bb891908cbe74893317df874da29b74fc3b /ext/pulse
parentd576b9fdbed4a4b14c3318f4df39413099d25e9d (diff)
ext/pulse/pulsesink.c: Don't wait for the pulse mainloop when destroying the stream.
Original commit message from CVS: * ext/pulse/pulsesink.c: (gst_pulsesink_destroy_stream): Don't wait for the pulse mainloop when destroying the stream. Fixes a deadlock when the pulsedaemon goes away while pulsesink is PLAYING. Fixes bug #556986.
Diffstat (limited to 'ext/pulse')
-rw-r--r--ext/pulse/pulsesink.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/ext/pulse/pulsesink.c b/ext/pulse/pulsesink.c
index b5b980f1..282ce25a 100644
--- a/ext/pulse/pulsesink.c
+++ b/ext/pulse/pulsesink.c
@@ -279,7 +279,6 @@ gst_pulsesink_destroy_stream (GstPulseSink * pulsesink)
{
if (pulsesink->stream) {
pa_stream_disconnect (pulsesink->stream);
- pa_threaded_mainloop_wait (pulsesink->mainloop);
pa_stream_unref (pulsesink->stream);
pulsesink->stream = NULL;
}
@@ -588,16 +587,14 @@ gst_pulsesink_prepare (GstAudioSink * asink, GstRingBufferSpec * spec)
if (!pulsesink->context
|| pa_context_get_state (pulsesink->context) != PA_CONTEXT_READY) {
GST_ELEMENT_ERROR (pulsesink, RESOURCE, FAILED, ("Bad context state: %s",
- pulsesink->
- context ? pa_strerror (pa_context_errno (pulsesink->context)) :
- NULL), (NULL));
+ pulsesink->context ? pa_strerror (pa_context_errno (pulsesink->
+ context)) : NULL), (NULL));
goto unlock_and_fail;
}
if (!(pulsesink->stream = pa_stream_new (pulsesink->context,
- pulsesink->
- stream_name ? pulsesink->stream_name : "Playback Stream",
- &pulsesink->sample_spec,
+ pulsesink->stream_name ? pulsesink->
+ stream_name : "Playback Stream", &pulsesink->sample_spec,
gst_pulse_gst_to_channel_map (&channel_map, spec)))) {
GST_ELEMENT_ERROR (pulsesink, RESOURCE, FAILED,
("Failed to create stream: %s",