PulseAudio + Phonon curious issue
Harald Fernengel
harry at kdevelop.org
Wed Jan 20 13:35:04 GMT 2010
Hi,
On Thursday 14 January 2010 00:15:27 Colin Guthrie wrote:
> 'Twas brillig, and Colin Guthrie at 13/01/10 10:29 did gyre and gimble:
> > I'll try and find a fix (tho' I am by no means a gstreamer coder - bit
> > of a noob there, but I'll try my best seeing as there is not exactly a
> > queue of people willing to work on the phonon-gstreamer backend right
> > now :()
>
> As with all the most confusing bugs the fix turned out to be trivial.
> Not sure if it will introduce other potential problems tho', so would
> appreciate feedback before I commit it upstream.
>
> I've created a Mandriva cooker pacakge and as gstreamer is our default
> backend I'll hopefully know fairly quickly if it's introduced a problem!!
>
> Patch can be found here:
> http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/phonon/current/S
> OURCES/phonon-4.3.80-fix-gstreamer-pulseaudio-deadlock.patch?revision=49107
> 8&view=markup
>
> Please let me know how you get on.
seems that m_resetNeeded needs to be set to true when stopping media:
diff --git a/src/3rdparty/phonon/gstreamer/mediaobject.cpp
b/src/3rdparty/phonon/gstreamer/mediaobje
index c2597b5..ceb1de8 100644
--- a/src/3rdparty/phonon/gstreamer/mediaobject.cpp
+++ b/src/3rdparty/phonon/gstreamer/mediaobject.cpp
@@ -622,6 +622,7 @@ void MediaObject::setState(State newstate)
changeState(Phonon::StoppedState);
} else if (gst_element_set_state(m_pipeline, GST_STATE_READY) !=
GST_STATE_CHANGE_FAILURE)
m_pendingState = Phonon::StoppedState;
+ m_resetNeeded = true;
} else {
m_backend->logMessage("phonon state request failed",
Backend::Info, this);
}
Otherwise play-stop-play would yield an error message.
Not sure whether there are other places where we need to set m_resetNeeded to
true - Colin, could you review please?
Thanks,
Harald
More information about the kde-multimedia
mailing list