Skip to content
  • Edward Hervey's avatar
    gstpad: Make pad (de)activation atomic · d915dd4b
    Edward Hervey authored and Edward Hervey's avatar Edward Hervey committed
    The following could happen previously:
    * T1: calls gst_pad_set_active()
    * T2: currently (de)activating it
    * T1: gst_pad_set_active() returns, caller assumes that the pad has
      completed the requested (de)activation ... whereas it is not
      the case since the actual (de)activation in T2 might still be
      going on.
    
    To ensure atomicity of pad (de)activation, we use a internal
    variable (and cond) to ensure only one thread at a time goes through
    the actual (de)activation block
    
    https://bugzilla.gnome.org/show_bug.cgi?id=790431
    d915dd4b