gst-plugins-rs/net
François Laignel 9a59763df1 webrtcsink: wait for Sessions to end
`State::finalize_session()` asynchronously sets the Session pipeline to Null.
In some cases, sessions `webrtcbin` could terminate their transition to Null
after `webrtcsink` had reached Null.

This commit adds a set of `finalizing_sessions`. When the finalization process
starts, the session is added to the set. After `webrtcbin` has reached the Null
state, the session is removed from the set and a condvar is notified.

In `unprepare`, `webrtcsink` loops until the `finalizing_sessions` set is
empty, awaiting for the condvar to be notified when it's not.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1221>
2023-05-24 10:18:47 +02:00
..
aws use Pad builders for optional name definition 2023-05-12 12:55:31 +02:00
hlssink3 use Pad builders for optional name definition 2023-05-12 12:55:31 +02:00
ndi use Pad builders for optional name definition 2023-05-12 12:55:31 +02:00
onvif use Pad builders for optional name definition 2023-05-12 12:55:31 +02:00
raptorq use Pad builders for optional name definition 2023-05-12 12:55:31 +02:00
reqwest use Pad builders for optional name definition 2023-05-12 12:55:31 +02:00
rtp use Pad builders for optional name definition 2023-05-12 12:55:31 +02:00
webrtc webrtcsink: wait for Sessions to end 2023-05-24 10:18:47 +02:00
webrtchttp use Pad builders for optional name definition 2023-05-12 12:55:31 +02:00