Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrançois Laignel <francois@centricular.com>2023-09-18 18:01:07 +0300
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2023-10-12 18:45:58 +0300
commit785c9557c8d66c8f1048c2a5fdf481115436e0ac (patch)
tree03f558e222e2edfd3eb2214ac62a8aef018a2f23 /net/webrtc
parentc021e2b69f905a53c6eb80a7a52cf84e309b2649 (diff)
net/webrtcsink: drop State lock before calling set-local-description
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1325>
Diffstat (limited to 'net/webrtc')
-rw-r--r--net/webrtc/src/webrtcsink/imp.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/webrtc/src/webrtcsink/imp.rs b/net/webrtc/src/webrtcsink/imp.rs
index ca4b393c4..74a169079 100644
--- a/net/webrtc/src/webrtcsink/imp.rs
+++ b/net/webrtc/src/webrtcsink/imp.rs
@@ -1839,12 +1839,13 @@ impl BaseWebRTCSink {
.and_then(|format| format.parse::<i32>().ok());
}
- // FIXME I think the intention was to drop(state) and re-acquire the lock after the call
+ drop(state);
session
.webrtcbin
.emit_by_name::<()>("set-local-description", &[&answer, &None::<gst::Promise>]);
+ let mut state = self.state.lock().unwrap();
let session_id = session.id.clone();
if let Some(session_wrapper) = state.sessions.get_mut(&session_id) {