decodebin3: Release selection lock when pushing EOS 36/255836/3 accepted/tizen/unified/20210407.100555 submit/tizen/20210324.231443 submit/tizen/20210405.012807
authorEdward Hervey <edward@centricular.com>
Fri, 11 Dec 2020 09:13:59 +0000 (10:13 +0100)
committerGilbok Lee <gilbok.lee@samsung.com>
Wed, 24 Mar 2021 07:19:52 +0000 (16:19 +0900)
commit55a4129947738f9381a11266cff4fc57ff68ea93
tree213b2f416ac7c213ef4f4a754908428492972cc5
parent25fc89e45235e9a60cb7aa51ac12c0cdf2dcccc6
decodebin3: Release selection lock when pushing EOS

We can't keep the lock otherwise this would lock other actions. In order to keep
it safe, we grab a list of peer pads to send EOS to with the lock taken, then
send to the peer pads with the lock released.

Also make sure the selection lock is taken for another call to this function

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/847

Change-Id: I8c811ff53b77ed62b79a3e90f1f4dab616f02e36
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/971>
gst/playback/gstdecodebin3-parse.c
packaging/gst-plugins-base.spec