FWIW this hacky patch fixes things, but it is surely a workaround not a proper fix.
--- quodlibet/player/gstbe.py 2010-10-09 11:32:56.000000000 +0100 +++ /usr/lib/pymodules/python2.6/quodlibet/player/gstbe.py 2010-10-10 13:10:48.000000000 +0100 @@ -72,15 +72,18 @@ "gconfaudiosink profile=music") pipeline, self.name = GStreamerSink(pipeline) if gst.version() >= (0, 10, 24): + self.__false_references = [] # The output buffer is necessary to run the song-ended and # song-started events through QL's signal handlers before the # playbin2 hits EOF inside a gapless transition. bufbin = gst.Bin() + self.__false_references.append(bufbin) queue = gst.element_factory_make('queue') queue.set_property('max-size-time', 500 * gst.MSECOND) self._vol_element = vol = gst.element_factory_make('volume') pipeline = [queue, vol] + pipeline for idx, elem in enumerate(pipeline): + self.__false_references.append(elem) bufbin.add(elem) if idx > 0: pipeline[idx-1].link(elem) @@ -90,6 +93,7 @@ bufbin.set_state(gst.STATE_NULL) if result == gst.STATE_CHANGE_FAILURE: return False gpad = gst.GhostPad('sink', queue.get_pad('sink')) + self.__false_references.append(gpad) bufbin.add_pad(gpad) self.bin = gst.element_factory_make('playbin2') id = self.bin.connect('about-to-finish', self.__about_to_finish) -- Ian Campbell Let us treat men and women well; Treat them as if they were real; Perhaps they are. -- Ralph Waldo Emerson
signature.asc
Description: This is a digitally signed message part