diff --git a/utils/togglerecord/src/togglerecord/imp.rs b/utils/togglerecord/src/togglerecord/imp.rs index 858a4bc3..5ea63f22 100644 --- a/utils/togglerecord/src/togglerecord/imp.rs +++ b/utils/togglerecord/src/togglerecord/imp.rs @@ -2041,9 +2041,6 @@ impl ElementImpl for ToggleRecord { Some(stream) => stream.clone(), }; - stream.srcpad.set_active(false).unwrap(); - stream.sinkpad.set_active(false).unwrap(); - pads.remove(&stream.sinkpad).unwrap(); pads.remove(&stream.srcpad).unwrap(); @@ -2054,6 +2051,13 @@ impl ElementImpl for ToggleRecord { drop(pads); drop(other_streams_guard); + let main_state = self.main_stream.state.lock(); + self.main_stream_cond.notify_all(); + drop(main_state); + + stream.srcpad.set_active(false).unwrap(); + stream.sinkpad.set_active(false).unwrap(); + element.remove_pad(&stream.sinkpad).unwrap(); element.remove_pad(&stream.srcpad).unwrap(); }