Skip to content
  • HoonHee Lee's avatar
    decodebin3: force to pushing custom stream-start when no stream-start in input stream · 8d585ffd
    HoonHee Lee authored
    This is timing issue and it could be observed as below scenario.
    
    1) parsebin0:src_0 is received EOS.
    2) It is marked to custom EOS and pushed it to multiqueue0:src_0.
    3) parsebin0:src_1 is received EOS and recognize ALL EOS state in multiqueue pre.
    4) It is pushed to multiqueue0:src_1 as regular EOS.
    5) Decodebin3 understand multiqueue pre and post are in ALL EOS when all drained.
    6) Decodebin3 try to send custom stream-start and final EOS to multiqueue all sinkpads.
    
    In normal case, we could get stored stream-start event from parsebin0:srcpads.
    But we've got NULL stream-start event and it is rarely found.
    Therefore, final EOS is propataged without custom stream-start and it is just handled
    in multiqueue's sink_event and then final EOS is not delivered to multiqueue post
    (e.g multiqueue_src_probe).
    
    To fallback this symptom, we make manually custom stream-start event and push before
    final EOS.
    
    gstreamer/gst-plugins-base!121
    8d585ffd