diff options
Diffstat (limited to 'media-sound/phonon/files/phonon-4.4.1-pulseaudio-connect.patch')
-rw-r--r-- | media-sound/phonon/files/phonon-4.4.1-pulseaudio-connect.patch | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/media-sound/phonon/files/phonon-4.4.1-pulseaudio-connect.patch b/media-sound/phonon/files/phonon-4.4.1-pulseaudio-connect.patch deleted file mode 100644 index 2aa84369c80c..000000000000 --- a/media-sound/phonon/files/phonon-4.4.1-pulseaudio-connect.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 1eb324f60f8df6bc7a866679919d79f1a2a3ff81 Mon Sep 17 00:00:00 2001 -From: Colin Guthrie <cguthrie@mandriva.org> -Date: Sat, 24 Apr 2010 14:54:36 +0100 -Subject: [PATCH] pulse: Fix the reading of stream information on startup. - -Due to the new probe+reconnect logic, it is possible to initialise -a 'PulseStream' object and start the backend outputting it -prior to our control connection being established. This means that -we miss the subscription event and never actually associate the -PA stream index with our stream object. Whenever something changes -on the stream at the PA end things would kick in and would work fine, -so this was sometimes hard to see and identify. - -This change simply invalidates all streams when we're finished connecting -to PA and then loads up all info from PA to set the indexes correctly. - -CCBUG: 235193 ---- - phonon/pulsesupport.cpp | 25 +++++++++++++++++++++++++ - 1 files changed, 25 insertions(+), 0 deletions(-) - -diff --git a/phonon/pulsesupport.cpp b/phonon/pulsesupport.cpp -index f4f2a13..92a732d 100644 ---- a/phonon/pulsesupport.cpp -+++ b/phonon/pulsesupport.cpp -@@ -569,6 +569,31 @@ static void context_state_callback(pa_context *c, void *) - return; - } - pa_operation_unref(o); -+ -+ // In the case of reconnection or simply lagging behind the stream object creation -+ // on startup (due to the probe+reconnect system), we invalidate all loaded streams -+ // and then load up info about all streams. -+ for (QMap<QString, PulseStream*>::iterator it = s_outputStreams.begin(); it != s_outputStreams.end(); ++it) { -+ PulseStream *stream = *it; -+ logMessage(QString("Phonon Output Stream %1 is gone at the PA end. Marking it as invalid in our cache as we may reuse it.").arg(stream->uuid())); -+ stream->setIndex(PA_INVALID_INDEX); -+ } -+ if (!(o = pa_context_get_sink_input_info_list(c, sink_input_cb, NULL))) { -+ logMessage(QString("pa_context_get_sink_input_info_list() failed")); -+ return; -+ } -+ pa_operation_unref(o); -+ -+ for (QMap<QString, PulseStream*>::iterator it = s_captureStreams.begin(); it != s_captureStreams.end(); ++it) { -+ PulseStream *stream = *it; -+ logMessage(QString("Phonon Capture Stream %1 is gone at the PA end. Marking it as invalid in our cache as we may reuse it.").arg(stream->uuid())); -+ stream->setIndex(PA_INVALID_INDEX); -+ } -+ if (!(o = pa_context_get_source_output_info_list(c, source_output_cb, NULL))) { -+ logMessage(QString("pa_context_get_source_output_info_list() failed")); -+ return; -+ } -+ pa_operation_unref(o); - } - - #ifdef HAVE_PULSEAUDIO_DEVICE_MANAGER --- -1.6.1 - |