decodebin3: Remove FIXME and do remove_input_stream() only for the corresponding...
authorSeungha Yang <sh.yang@lge.com>
Wed, 19 Jul 2017 10:58:28 +0000 (19:58 +0900)
committerEdward Hervey <bilboed@bilboed.com>
Wed, 19 Jul 2017 15:13:20 +0000 (17:13 +0200)
commitbf32c0b3b00b7f60d9ea9afd078be9cb090d9eb7
tree4a916e50b3f3e1f5054edb2e0aa2d85ffbb81144
parentabe1183c1704a284983bb0cfe4d5132dbdc5ed3a
decodebin3: Remove FIXME and do remove_input_stream() only for the corresponding parsebin

Do not remove other parsebin's input streams. It will cause unexpected
removal of any input streams in multi-parsebin use case.

Basically, the purpose of blocking buffers is similar to checking
no-more-pads of chain/group. That is, it gives hint to know the timing
to remove old (EOSed) streams of the parsebin and to add/reuse slots
for new input streams. But, that doesn't mean that we need to remove
other parsebin's EOSed stream. Each parsebin has most likely its
own streaming thread and therefore EOSed time can be much different.
(i.e., much early EOS of subtitle only parsebin)

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