diff --git a/net/webrtc/src/webrtcsink/imp.rs b/net/webrtc/src/webrtcsink/imp.rs index ca4b393c..74a16907 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::().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::]); + let mut state = self.state.lock().unwrap(); let session_id = session.id.clone(); if let Some(session_wrapper) = state.sessions.get_mut(&session_id) {