uridecodebin3: Handle multiple pending pad block probes
authorEdward Hervey <edward@centricular.com>
Thu, 29 Dec 2022 14:58:24 +0000 (15:58 +0100)
committerEdward Hervey <bilboed@bilboed.com>
Fri, 30 Dec 2022 07:46:13 +0000 (08:46 +0100)
commita0655d513117a2fa93dfc3dd925791058af94e45
treefdfe23864253cd7ce6cc0ecbdbb08930930c5fc4
parent8ec82f93639f7f6e47925a700580aaac847401e0
uridecodebin3: Handle multiple pending pad block probes

It is quite possible to have the blocking probe called from different streaming
threads when all expected pads are present.

* Notify all waiters by using g_cond_broadcast instead of g_cond_signal
* Properly remove the probe after waiting

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3658>
subprojects/gst-plugins-base/gst/playback/gsturidecodebin3.c