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 574163 - Fix gst_pad_activate_pull deactivation with unlinked element
Fix gst_pad_activate_pull deactivation with unlinked element
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other Linux
: Normal normal
: 0.10.23
Assigned To: Wim Taymans
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-03-04 20:05 UTC by Antoine Tremblay
Modified: 2009-03-05 10:37 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Fix pull mode pad deactivation (1.21 KB, patch)
2009-03-04 20:13 UTC, Antoine Tremblay
committed Details | Review

Description Antoine Tremblay 2009-03-04 20:05:40 UTC
When de/activating a pad in pull mode the pad needs to de/activate the
peer pad it is connected to, failure to be able to do this in activation mode
is an error.

However failure to do it in deactivation mode is not an error imho as long as something else deactivates that pad which is very likely, and even if nothing does I'm don't think it's worth making the deactivation of the pull element fail.

In my situation as I unlinked an element in the PAUSED state (without any dataflow), before setting it's state to NULL, the pad thread leaked since it could not deactivate it's pad as it was unlinked. ( I know that's not the best senario but it shouldn't cause a leak...)

Fixed code to make only the activation case an error.

please review /comment...,
Comment 1 Antoine Tremblay 2009-03-04 20:13:30 UTC
Created attachment 130060 [details] [review]
Fix pull mode pad deactivation
Comment 2 Wim Taymans 2009-03-05 10:37:24 UTC
commit fe2f12b162d66d089af8610444d9f8b28bde0cf7
Author: Antoine Tremblay <hexa00@gmail.com>
Date:   Thu Mar 5 11:29:48 2009 +0100

    GstPad: relax failure to deactivate unlinked pads
    
    When de/activating a pad in pull mode the pad needs to de/activate the
    peer pad it is connected to, failure to be able to do this in activation mode
    is an error.
    
    However if there is no peerpad, we can still deactivate the pad correctly and
    assume the application will deactivate the unlinked peer pad eventually.
    
    Fixes #574163.