• Edward Hervey's avatar
    decodebin2: Handle flushing with multiple decode groups · eaf9ca90
    Edward Hervey authored
    When an upstream element wants to flush downstream, we need to take
    all chains/groups into consideration.
    To that effect, when a FLUSH_START event is seen, after having it
    sent downstream we mark all those chains/groups as "drained" (as if
    they had seen a EOS event on the endpads).
    When a FLUSH_STOP event is received, we check if we need to switch groups.
    This is done by checking if there are next groups. If so, we will switch
    over to the latest next_group. The actual switch will be done when
    that group is blocked.
gstdecodebin2.c 163 KB