diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2020-07-31 12:03:46 +0300 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2020-07-31 12:03:46 +0300 |
commit | 6378337a0ee7a539220fa909c8af30b077e71f8f (patch) | |
tree | b5a6170ea972bac2838f83c2bfd1d3769db6a9cd | |
parent | 3492c81fcf43741b20d30b85016c9411042e2219 (diff) |
sendrecv/Rust: Only set pipeline to Playing after connecting to the signals
Might miss some signal emissions otherwise, especially the
on-negotiation-needed signal.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/21>
-rw-r--r-- | webrtc/sendrecv/gst-rust/src/main.rs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/webrtc/sendrecv/gst-rust/src/main.rs b/webrtc/sendrecv/gst-rust/src/main.rs index 961b97d..904b072 100644 --- a/webrtc/sendrecv/gst-rust/src/main.rs +++ b/webrtc/sendrecv/gst-rust/src/main.rs @@ -142,13 +142,6 @@ impl App { // Channel for outgoing WebSocket messages from other threads let (send_ws_msg_tx, send_ws_msg_rx) = mpsc::unbounded::<WsMessage>(); - // Asynchronously set the pipeline to Playing - pipeline.call_async(|pipeline| { - pipeline - .set_state(gst::State::Playing) - .expect("Couldn't set pipeline to Playing"); - }); - let app = App(Arc::new(AppInner { args, pipeline, @@ -228,6 +221,13 @@ impl App { } }); + // Asynchronously set the pipeline to Playing + app.pipeline.call_async(|pipeline| { + pipeline + .set_state(gst::State::Playing) + .expect("Couldn't set pipeline to Playing"); + }); + Ok((app, send_gst_msg_rx, send_ws_msg_rx)) } |