summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2020-07-31 12:03:46 +0300
committerSebastian Dröge <sebastian@centricular.com>2020-07-31 12:03:46 +0300
commit6378337a0ee7a539220fa909c8af30b077e71f8f (patch)
treeb5a6170ea972bac2838f83c2bfd1d3769db6a9cd
parent3492c81fcf43741b20d30b85016c9411042e2219 (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.rs14
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))
}