From d393063868618a077130cf0178caddcbfad635ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 27 Jun 2019 13:57:42 +0300 Subject: [PATCH] Update Rust sendrecv example to latest GLib/GStreamer bindings --- webrtc/sendrecv/gst-rust/Cargo.lock | 104 +++++++++++++-------------- webrtc/sendrecv/gst-rust/Cargo.toml | 8 +-- webrtc/sendrecv/gst-rust/src/main.rs | 6 +- 3 files changed, 58 insertions(+), 60 deletions(-) diff --git a/webrtc/sendrecv/gst-rust/Cargo.lock b/webrtc/sendrecv/gst-rust/Cargo.lock index 4eb581b3eb..82777b9aa5 100644 --- a/webrtc/sendrecv/gst-rust/Cargo.lock +++ b/webrtc/sendrecv/gst-rust/Cargo.lock @@ -236,19 +236,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "glib" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "glib-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gobject-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "glib-sys" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", @@ -257,10 +257,10 @@ dependencies = [ [[package]] name = "gobject-sys" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "glib-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -271,10 +271,10 @@ version = "0.1.0" dependencies = [ "clap 2.33.0 (registry+https://github.com/rust-lang/crates.io-index)", "failure 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)", - "glib 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "gstreamer 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gstreamer-sdp 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gstreamer-webrtc 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gstreamer 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gstreamer-sdp 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gstreamer-webrtc 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "serde 1.0.93 (registry+https://github.com/rust-lang/crates.io-index)", @@ -286,15 +286,15 @@ dependencies = [ [[package]] name = "gstreamer" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "cfg-if 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)", - "glib 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "glib-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gobject-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gstreamer-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gstreamer-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", "muldiv 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)", @@ -303,66 +303,64 @@ dependencies = [ [[package]] name = "gstreamer-sdp" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "bitflags 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)", - "glib 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "glib-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gobject-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gstreamer 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gstreamer-sdp-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gstreamer-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gstreamer 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gstreamer-sdp-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gstreamer-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gstreamer-sdp-sys" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "glib-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gobject-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gstreamer-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gstreamer-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gstreamer-sys" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "glib-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gobject-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gstreamer-webrtc" -version = "0.13.0" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "glib 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", - "glib-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gobject-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gstreamer 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gstreamer-sdp 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gstreamer-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gstreamer-webrtc-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gstreamer 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gstreamer-sdp 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gstreamer-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gstreamer-webrtc-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] name = "gstreamer-webrtc-sys" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ - "glib-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gobject-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gstreamer-sdp-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", - "gstreamer-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", + "glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gstreamer-sdp-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", + "gstreamer-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)", "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -1337,15 +1335,15 @@ dependencies = [ "checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82" "checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7" "checksum futures 0.1.28 (registry+https://github.com/rust-lang/crates.io-index)" = "45dc39533a6cae6da2b56da48edae506bb767ec07370f86f70fc062e9d435869" -"checksum glib 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0c4e8fdc159c196a5dfa53a92929ac4c10c8a6637ffb43951f3fff89c2cd2365" -"checksum glib-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5bda542f3caee39a027638e9644ff89204101ad916fd7370b585ad2c5fc97e61" -"checksum gobject-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "23e05a14290d3dc255223cba51db4b0f3da438d5250657996fa99b2a30faf43e" -"checksum gstreamer 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7edd8690dc3fb124e02d06c266c0b2a1ff4617910a26bbf2afb6d8183e76bf8c" -"checksum gstreamer-sdp 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "edbaa1a273328f4e8ab261cc2bc0065fdb0f2f53a16f0525b4f5d75cf0aa6225" -"checksum gstreamer-sdp-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "81136c0579291b36c1b2fb0e797f4847e22ac502ee36733dfdc5a95fb71c23f0" -"checksum gstreamer-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "79e3a47e15245892cfa722e5f64714c9e2de5683eef0a706f56a8899b78100c8" -"checksum gstreamer-webrtc 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "90b57e4a91aa677fae841711af3b5b962d37c64c1c62cbeefaba4af18e049c2f" -"checksum gstreamer-webrtc-sys 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9dd6c04ea7cd1222787d6718f1e42a062cae3abbe257ff9ebb34793e67afcdad" +"checksum glib 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d70d737019da0473a7cd6d9240571cf58c6897dcb10edf32b90774f4ba237c1b" +"checksum glib-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4b86a9169fbc9cf9a0ef315039c2304b09d5c575c5fde7defba3576a0311b863" +"checksum gobject-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "61d55bc9202447ca776f6ad0048c36e3312010f66f82ab478e97513e93f3604b" +"checksum gstreamer 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3ef25820a32bd6f51191f3eb466499a80f89c00d67a1448c08b9b5f9aebb7613" +"checksum gstreamer-sdp 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b2e680156e5a488eda9ebd6081c0141386ef72bb81e3f0e6a2ca0c3129d82ac2" +"checksum gstreamer-sdp-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e062aa557a851d8aac367df24ca80040ec45340033c0c6675fbdc7f26f71da48" +"checksum gstreamer-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bdfc2f6cc9b6a1f5159bfd500310fe431cfb0b74b3af17ce3fdf8353cf586975" +"checksum gstreamer-webrtc 0.14.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e085c2c1ddfbbf91459c950d10b40e7acef1f8661f6e86aa4d40edfef91cd167" +"checksum gstreamer-webrtc-sys 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0bf7375d6737037e01c6c2342ab30e6ff77cf5e36fc64c81d8d43054b33f4fa7" "checksum httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83" "checksum hyper 0.10.16 (registry+https://github.com/rust-lang/crates.io-index)" = "0a0652d9a2609a968c14be1a9ea00bf4b1d64e2e1f53a1b51b6fff3a6e829273" "checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e" diff --git a/webrtc/sendrecv/gst-rust/Cargo.toml b/webrtc/sendrecv/gst-rust/Cargo.toml index 2dae05c4e6..cfc86645dd 100644 --- a/webrtc/sendrecv/gst-rust/Cargo.toml +++ b/webrtc/sendrecv/gst-rust/Cargo.toml @@ -6,10 +6,10 @@ authors = ["maxmcd "] [dependencies] clap = "2.31.2" failure = "0.1.1" -glib = "0.7" -gstreamer = "0.13" -gstreamer-sdp = "0.13" -gstreamer-webrtc = "0.13" +glib = "0.8" +gstreamer = "0.14" +gstreamer-sdp = "0.14" +gstreamer-webrtc = "0.14" lazy_static = "1.0" rand = "0.6" serde = "1.0.66" diff --git a/webrtc/sendrecv/gst-rust/src/main.rs b/webrtc/sendrecv/gst-rust/src/main.rs index e6b4c3eea6..560900c956 100644 --- a/webrtc/sendrecv/gst-rust/src/main.rs +++ b/webrtc/sendrecv/gst-rust/src/main.rs @@ -354,7 +354,7 @@ impl App { &queue2, ])?; - queue2.link_filtered(&self.0.webrtcbin, &*RTP_CAPS_VP8)?; + queue2.link_filtered(&self.0.webrtcbin, Some(&*RTP_CAPS_VP8))?; Ok(()) } @@ -398,7 +398,7 @@ impl App { &queue3, ])?; - queue3.link_filtered(&self.0.webrtcbin, &*RTP_CAPS_OPUS)?; + queue3.link_filtered(&self.0.webrtcbin, Some(&*RTP_CAPS_OPUS))?; Ok(()) } @@ -676,7 +676,7 @@ fn main() { println!("connected"); // Create basic pipeline - let pipeline = gst::Pipeline::new("main"); + let pipeline = gst::Pipeline::new(Some("main")); let webrtcbin = gst::ElementFactory::make("webrtcbin", None).unwrap(); pipeline.add(&webrtcbin).unwrap();