After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 576188 - [playbin2] Reusing a playbin2 instance with visualizations creates deadlock
[playbin2] Reusing a playbin2 instance with visualizations creates deadlock
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal major
: 0.10.23
Assigned To: Wim Taymans
GStreamer Maintainers
Depends on:
Blocks: 542663
 
 
Reported: 2009-03-21 13:50 UTC by Sebastian Dröge (slomo)
Modified: 2009-03-23 18:41 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Sebastian Dröge (slomo) 2009-03-21 13:50:23 UTC
Hi,
when reusing a playbin2 instance, that is currently showing visualizations, it will deadlock. This is easy to reproduce with the patch in bug #542663.
Comment 1 Sebastian Dröge (slomo) 2009-03-21 13:52:05 UTC
To be more specific, it also happens when switching to a new pipeline that will show visualizations. It doesn't happen always but in >50%
Comment 2 Sebastian Dröge (slomo) 2009-03-22 17:47:26 UTC
The problem here seems to be related to the video sink being gconfvideosink. When changing the video sink to xvimagesink or ximagesink everything works without problems with the same code. So probably something is confused by gconfvideosink changing the internal sink as the audio pipeline is blocked in preroll and no video pipeline is running at this time, i.e. no thread is somewhere in the dec!conversion!videosink part.
Comment 3 Wim Taymans 2009-03-23 18:41:55 UTC
commit 14be3f41e26255cf559169b4cc1acd21653d990e
Author: Wim Taymans <wim.taymans@collabora.co.uk>
Date:   Mon Mar 23 19:40:18 2009 +0100

    playbin2: fix reuse of the video chains
    
    When reusing playbin with visualisations, reset the async property on the video
    sink because some sinks might dynamically recreate their sinks.
    Fixes #576188