Skip to content
  • Edward Hervey's avatar
    decodebin3: Handle dual-output of STREAM_START/EOS · 1f792ab8
    Edward Hervey authored
    In order to flush out multiqueue, we send again a STREAM_START and
    then a EOS event.
    
    The problem was that was that we might end up pushing out on the
    output of multiqueue (and therefore decodebin3) a series of:
    * EOS / STREAM_START / EOS
    
    Apart from the uglyness of such output, If decodebin3 is used with
    elements such as concat on their output, they might potentially
    block on that second STREAM_START.
    
    In order to make sure we don't end up in that situation we send
    a custom STREAM_START event when refreshing multiqueue (which we
    drop on the output) and we don't special case EOS events on streams
    on which we already got EOS.
    
    At worst we now end up sending at most two EOS on the output of
    multiqueue (and decodebin3).
    1f792ab8