Skip to content
  • Edward Hervey's avatar
    playsink: Properly mark pending blocked pads · 62053852
    Edward Hervey authored
    When blocking input pads, we also need to properly set the appropriate
    pending flag.
    
    Without this, when switching stream types after initial configuration
    (like going from Audio+Video to Audio+Video+Sub) playsink would never
    wait for *all* input streams to be blocked (it would just wait for the
    new input pad (text in this case) to be blocked).
    
    Since the reconfiguration might introduce unlinking/relinking of elements,
    we need to ensure that *ALL* input streams are blocked.
    
    Failure to do so would result in having some input streams pushing data
    to inactive elements (returning GST_FLOW_FLUSHING) or unlinked pads
    (returning GST_FLOW_NOT_LINKED).
    
    A later optimization could involve only blocking the input pads that
    might be involved in reconfiguration. But better be safe than sorry for
    now :)
    62053852