GNOME Bugzilla – Bug 414887
[gconf] gconfaudiosink doesn't set GST_ELEMENT_IS_SINK until READY
Last modified: 2007-03-07 11:15:51 UTC
If you set up a pipeline with a gconfaudiosink as its only sink without first changing the sink's state to READY, the pipeline thinks it doesn't have sink, so position queries fail. Other audio sinks (and autoaudiosink) work properly. This can be reproduced with rhythmbox with the visualisation plugin disabled - the song position display will stay at 0:00. Totem doesn't exhibit the problem as it sets the sink to READY before adding it to the pipeline. This problem does not occur with -good 0.10.5.
* ext/gconf/gstswitchsink.c: (gst_switch_sink_reset): Mark us as a sink when we have no fakesink in NULL. Fixes #414887.
New, more different fix: * ext/gconf/gstswitchsink.c: (gst_switch_sink_reset), (gst_switch_commit_new_kid), (gst_switch_sink_set_child): Install fakesink in NULL by fixing some broken logic. This obviates the need to manually set _IS_SINK. Add some comments and remove a little cruft while I'm at it.