From: GStreamer (bugzilla.gnome.org) <bug...@bu...> - 2009-03-21 12:29:11
|
If you have any questions why you received this email, please see the text at the end of this email. Replies to this email are NOT read, please see the text at the end of this email. You can add comments to this bug at: http://bugzilla.gnome.org/show_bug.cgi?id=576180 GStreamer | gst-plugins-base | Ver: git Summary: [playbin2] Uses unref'd audiosink volume if using gconfaudiosink & audio sink supports volume Product: GStreamer Version: git Platform: Other OS/Version: Linux Status: UNCONFIRMED Severity: major Priority: Normal Component: gst-plugins-base AssignedTo: gst...@li... ReportedBy: sl...@ci... QAContact: gst...@li... GNOME version: Unspecified GNOME milestone: Unspecified Hi, playbin2 currently uses an unref'd volume element in the following scenario: a) playbin2 is created, audio-sink is set to gconfaudiosink. gconfaudiosink uses pulsesink. b) Play some file with audio c) reuse playbin2 for some other files with audio => crash as playsink->audiochain->volume points to an invalid memory area. This is caused by gconfaudiosink creating a new audiosink everytime it goes to PAUSED (or something like that). The problem now is, that playsink sets audiochain->volume only when the chain is created, i.e. it will contain the pulsesink of first file that was played. The proposed fix would be in gstplaysink.c:1518. If create_chain is FALSE we should call some kind of update_audio_chain() function that updates the volume element. Similar issues might also exist for the text/video sinks but I didn't look at them. OTOH this proposed fix will only work if the volume element changes only when the sink is reconfigured. In theory it could change always, so maybe we should add some callback to the sinks that is called when it's a bin and the children are changing (is this signal emitted also if a children of a children of a bin changes?). -- See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received this email, why you can't respond via email, how to stop receiving emails (or reduce the number you receive), and how to contact someone if you are having problems with the system. You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=576180. |