decodebin3: Push EOS to output stream if they are all drained
authorSeungha Yang <sh.yang@lge.com>
Wed, 25 Jan 2017 10:51:17 +0000 (19:51 +0900)
committerEdward Hervey <bilboed@bilboed.com>
Thu, 13 Jul 2017 05:32:42 +0000 (07:32 +0200)
commit60cae68c4e243e461ecd3eff011c0cb988235521
tree11c4b05388d2b9d688cf7ed2db4535996c6a9029
parentfc67a689aff22f183598e5aed6599efb68d5516b
decodebin3: Push EOS to output stream if they are all drained

decodebin3 checks input streams and pushes EOS if all input streams
are EOSed. If not, fake EOS is pushed to the corresponding slot.

When adaptivedemux is used with multi-track configuration,
adaptivedemux never ever push EOS to non-selected track
because streaming thread for the slot stops with not-linked flow return.
So, decodebin3 should generate EOS itself to finish playback.

https://bugzilla.gnome.org/show_bug.cgi?id=777735
gst/playback/gstdecodebin3.c