Skip to content

decodebin3: force to pushing custom stream-start when no stream-start in input stream

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.

!121 (closed)

Merge request reports