diff --git a/net/webrtc/src/webrtcsink/imp.rs b/net/webrtc/src/webrtcsink/imp.rs index 6b11a27fa..80699880d 100644 --- a/net/webrtc/src/webrtcsink/imp.rs +++ b/net/webrtc/src/webrtcsink/imp.rs @@ -4268,13 +4268,14 @@ impl BaseWebRTCSink { let codecs = if !state.codecs.is_empty() { Codecs::from_map(&state.codecs) } else { + drop(state); let settings = self.settings.lock().unwrap(); let codecs = Codecs::list_encoders( settings.video_caps.iter().chain(settings.audio_caps.iter()), ); + state = self.state.lock().unwrap(); state.codecs = codecs.to_map(); - codecs };