Remove runtime backend switching
This was causing super horrible issues as it gets somewhat ugly when phonon does not destruct the backend objects completely. In the past this caused various problems (e.g. in gst callbacks to objects that were not existing anymore) as well as recreatable crashes on switching itself, not just of the KCM but *all* currently running Phonon applications. Generally speaking it required the backends to implement object tracking as to destroy the whole backend graph upon backend switch, which was only implemented in Xine and even there was insanely complicated given the use. Talking about use... it was agreed that the benefit of runtime switching does not justify the work involved to implement and support across multiple backends. Additionally switching the backend ought not be something you do every day, but ultimately not ever as the default backend installed by the user or the distributor should be of sufficient stability and use. Should this not be the case it *must* be considered a bug and treated as such. Working around by switching to another backend does not contribute to the long-term user experience in any way. The implementation at hand replaces the backend switching logic with a QMessageBox informing the user that she will have to restart the application in order to apply the backend change. In KDE 4.7's Phonon KCM we will introduce a more visually compelling way of feedback. Unfortunately, as to maintain support for older releases both the DBus interface and the handler function must remain present to provide the silly messagebox feedback :S BUG: 210427 FIXED-IN: 4.6.0 CCMAIL: kde-multimedia@kde.org CCMAIL: phonon-backends@kde.org CCMAIL: kde-devel@kde.org
parent
2e91ac41
Please register or sign in to comment