diff --git a/Cargo.lock b/Cargo.lock index 6b106632f..339d1a768 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -13,9 +13,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.56" +version = "1.0.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27" +checksum = "08f9b8508dccb7687a1d6c4ce66b2b0ecef467c94667de27d8d7fe1f8d2a9cdc" [[package]] name = "async-attributes" @@ -54,9 +54,9 @@ dependencies = [ [[package]] name = "async-global-executor" -version = "2.0.3" +version = "2.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c026b7e44f1316b567ee750fea85103f87fcb80792b860e979f221259796ca0a" +checksum = "c290043c9a95b05d45e952fb6383c67bcb61471f60cfa21e890dba6654234f43" dependencies = [ "async-channel", "async-executor", @@ -131,9 +131,9 @@ dependencies = [ [[package]] name = "async-process" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83137067e3a2a6a06d67168e49e68a0957d215410473a740cea95a2425c0b7c6" +checksum = "cf2c06e30a24e8c78a3987d07f0930edf76ef35e027e7bdb063fccafdad1f60c" dependencies = [ "async-io", "blocking", @@ -148,9 +148,9 @@ dependencies = [ [[package]] name = "async-std" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8056f1455169ab86dd47b47391e4ab0cbd25410a70e9fe675544f49bafaf952" +checksum = "52580991739c5cdb36cde8b2a516371c0a3b70dda36d916cc08b82372916808c" dependencies = [ "async-attributes", "async-channel", @@ -183,9 +183,9 @@ checksum = "30696a84d817107fc028e049980e09d5e140e8da8f1caeb17e8e950658a3cea9" [[package]] name = "async-tungstenite" -version = "0.17.1" +version = "0.17.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7922abeade7dd8948c20dfa1f85dc48cc952d2e0791f7c42b8b1cbb07a57129d" +checksum = "a1b71b31561643aa8e7df3effe284fa83ab1a840e52294c5f4bd7bfd8b2becbb" dependencies = [ "async-native-tls 0.4.0", "async-std", @@ -313,16 +313,16 @@ dependencies = [ [[package]] name = "clap" -version = "3.1.6" +version = "3.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8c93436c21e4698bacadf42917db28b23017027a4deccb35dbe47a7e7840123" +checksum = "47582c09be7c8b32c0ab3a6181825ababb713fde6fff20fc573a3870dd45c6a0" dependencies = [ "atty", "bitflags", "clap_derive", + "clap_lex", "indexmap", "lazy_static", - "os_str_bytes", "strsim", "termcolor", "textwrap", @@ -330,9 +330,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "3.1.4" +version = "3.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da95d038ede1a964ce99f49cbe27a7fb538d1da595e4b4f70b8c8f338d17bf16" +checksum = "a3aab4734e083b809aaf5794e14e756d1c798d2c69c7f7de7a09a2f5214993c1" dependencies = [ "heck", "proc-macro-error", @@ -341,6 +341,15 @@ dependencies = [ "syn", ] +[[package]] +name = "clap_lex" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a37c35f1112dad5e6e0b1adaff798507497a18fceeb30cceb3bae7d1427b9213" +dependencies = [ + "os_str_bytes", +] + [[package]] name = "concurrent-queue" version = "1.2.2" @@ -368,9 +377,9 @@ checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" [[package]] name = "cpufeatures" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469" +checksum = "59a6001667ab124aebae2a495118e11d30984c3a653e99d86d58971708cf5e4b" dependencies = [ "libc", ] @@ -397,9 +406,9 @@ dependencies = [ [[package]] name = "ctor" -version = "0.1.21" +version = "0.1.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccc0a48a9b826acdf4028595adc9db92caea352f7af011a3034acd172a52a0aa" +checksum = "f877be4f7c9f246b183111634f75baa039715e3f46ce860677d3b19a69fb229c" dependencies = [ "quote", "syn", @@ -577,9 +586,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d39cd93900197114fa1fcb7ae84ca742095eed9442088988ae74fa744e930e77" +checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad" dependencies = [ "cfg-if", "libc", @@ -588,15 +597,15 @@ dependencies = [ [[package]] name = "glib" -version = "0.15.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89528258cfdc79b1e54591202705be67896ad254f99e3cc2ea3710e0307148f2" +version = "0.16.0" +source = "git+https://github.com/gtk-rs/gtk-rs-core#f9fa78ab81999b95531729f81a81a29e743898d4" dependencies = [ "bitflags", "futures-channel", "futures-core", "futures-executor", "futures-task", + "futures-util", "glib-macros", "glib-sys", "gobject-sys", @@ -608,9 +617,8 @@ dependencies = [ [[package]] name = "glib-macros" -version = "0.15.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41bfd8d227dead0829ac142454e97531b93f576d0805d779c42bfd799c65c572" +version = "0.16.0" +source = "git+https://github.com/gtk-rs/gtk-rs-core#f9fa78ab81999b95531729f81a81a29e743898d4" dependencies = [ "anyhow", "heck", @@ -623,9 +631,8 @@ dependencies = [ [[package]] name = "glib-sys" -version = "0.15.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19289e4953dad38c9fea1c5c52cc594f29afc4a70802822ef382dca356b27bfd" +version = "0.16.0" +source = "git+https://github.com/gtk-rs/gtk-rs-core#f9fa78ab81999b95531729f81a81a29e743898d4" dependencies = [ "libc", "system-deps", @@ -633,9 +640,9 @@ dependencies = [ [[package]] name = "gloo-timers" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d12a7f4e95cfe710f1d624fb1210b7d961a5fb05c4fd942f4feab06e61f590e" +checksum = "5fb7d06c1c8cc2a29bee7ec961009a0b2caa0793ee4900c2ffb348734ba1c8f9" dependencies = [ "futures-channel", "futures-core", @@ -645,9 +652,8 @@ dependencies = [ [[package]] name = "gobject-sys" -version = "0.15.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a085ec9acece647f905b675705c349eb00acba30505f5cee43459bc3b2e968cc" +version = "0.16.0" +source = "git+https://github.com/gtk-rs/gtk-rs-core#f9fa78ab81999b95531729f81a81a29e743898d4" dependencies = [ "glib-sys", "libc", @@ -665,9 +671,8 @@ dependencies = [ [[package]] name = "gstreamer" -version = "0.18.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c1545fac08d7a28f8707101298cbf99d1bc72529698ff2d1fec87cc30a3fb9a" +version = "0.19.0" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs#45e16f7753e4a815a42b13a6932fb6ee48e40bda" dependencies = [ "bitflags", "cfg-if", @@ -691,9 +696,8 @@ dependencies = [ [[package]] name = "gstreamer-app" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "653b14862e385f6a568a5c54aee830c525277418d765e93cdac1c1b97e25f300" +version = "0.19.0" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs#45e16f7753e4a815a42b13a6932fb6ee48e40bda" dependencies = [ "bitflags", "futures-core", @@ -708,9 +712,8 @@ dependencies = [ [[package]] name = "gstreamer-app-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3b401f21d731b3e5de802487f25507fabd34de2dd007d582f440fb1c66a4fbb" +version = "0.19.0" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs#45e16f7753e4a815a42b13a6932fb6ee48e40bda" dependencies = [ "glib-sys", "gstreamer-base-sys", @@ -721,9 +724,8 @@ dependencies = [ [[package]] name = "gstreamer-base" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224f35f36582407caf58ded74854526beeecc23d0cf64b8d1c3e00584ed6863f" +version = "0.19.0" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs#45e16f7753e4a815a42b13a6932fb6ee48e40bda" dependencies = [ "bitflags", "cfg-if", @@ -735,9 +737,8 @@ dependencies = [ [[package]] name = "gstreamer-base-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a083493c3c340e71fa7c66eebda016e9fafc03eb1b4804cf9b2bad61994b078e" +version = "0.19.0" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs#45e16f7753e4a815a42b13a6932fb6ee48e40bda" dependencies = [ "glib-sys", "gobject-sys", @@ -748,9 +749,8 @@ dependencies = [ [[package]] name = "gstreamer-rtp" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1a7fca987a2f01b555df2556ce7b64af546cb4a0c4376c84a816924278ae06" +version = "0.19.0" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs#45e16f7753e4a815a42b13a6932fb6ee48e40bda" dependencies = [ "bitflags", "glib", @@ -762,9 +762,8 @@ dependencies = [ [[package]] name = "gstreamer-rtp-sys" -version = "0.18.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2afde26d03b4146a39d07f576082f97b3775e7884ef3ccef5c4b7c0917e17469" +version = "0.19.0" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs#45e16f7753e4a815a42b13a6932fb6ee48e40bda" dependencies = [ "glib-sys", "gstreamer-base-sys", @@ -775,9 +774,8 @@ dependencies = [ [[package]] name = "gstreamer-sdp" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8a0db444f6281489f03c7b23bc379dbe0e3cffa55c839c192976190bb298c78" +version = "0.19.0" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs#45e16f7753e4a815a42b13a6932fb6ee48e40bda" dependencies = [ "glib", "gstreamer", @@ -786,9 +784,8 @@ dependencies = [ [[package]] name = "gstreamer-sdp-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67ed8f02e2a2c6b50d27987115401418c4172b14959d562757737a4e7b280d6c" +version = "0.19.0" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs#45e16f7753e4a815a42b13a6932fb6ee48e40bda" dependencies = [ "glib-sys", "gstreamer-sys", @@ -798,9 +795,8 @@ dependencies = [ [[package]] name = "gstreamer-sys" -version = "0.18.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3517a65d3c2e6f8905b456eba5d53bda158d664863aef960b44f651cb7d33e2" +version = "0.19.0" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs#45e16f7753e4a815a42b13a6932fb6ee48e40bda" dependencies = [ "glib-sys", "gobject-sys", @@ -810,9 +806,8 @@ dependencies = [ [[package]] name = "gstreamer-video" -version = "0.18.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfbeef259fe286d6271402160daf7692b6bc56d52b2a9437dead797f3f60c222" +version = "0.19.0" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs#45e16f7753e4a815a42b13a6932fb6ee48e40bda" dependencies = [ "bitflags", "cfg-if", @@ -828,9 +823,8 @@ dependencies = [ [[package]] name = "gstreamer-video-sys" -version = "0.18.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33331b1675e73b5b000c796354278eca7fdde9327015971d9f41afe28b96e0dc" +version = "0.19.0" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs#45e16f7753e4a815a42b13a6932fb6ee48e40bda" dependencies = [ "glib-sys", "gobject-sys", @@ -842,9 +836,8 @@ dependencies = [ [[package]] name = "gstreamer-webrtc" -version = "0.18.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66be30e56113bcdf5acc151bd098fae4916a41f57dc99b570e14e4112111b723" +version = "0.19.0" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs#45e16f7753e4a815a42b13a6932fb6ee48e40bda" dependencies = [ "glib", "gstreamer", @@ -855,9 +848,8 @@ dependencies = [ [[package]] name = "gstreamer-webrtc-sys" -version = "0.18.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ea5f3bab2859f0b279edab6ea2620700259fd1bf91cf82185fe10a0fc5e96cc" +version = "0.19.0" +source = "git+https://gitlab.freedesktop.org/gstreamer/gstreamer-rs#45e16f7753e4a815a42b13a6932fb6ee48e40bda" dependencies = [ "glib-sys", "gstreamer-sdp-sys", @@ -888,9 +880,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03" +checksum = "ff8670570af52249509a86f5e3e18a08c60b177071826898fde8997cf5f6bfbb" dependencies = [ "bytes", "fnv", @@ -899,9 +891,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.6.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9100414882e15fb7feccb4897e5f0ff0ff1ca7d1a86a23208ada4d7a18e6c6c4" +checksum = "496ce29bb5a52785b44e0f7ca2847ae0bb839c9bd28f69acac9b99d461c0c04c" [[package]] name = "human_bytes" @@ -922,9 +914,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.8.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223" +checksum = "0f647032dfaa1f8b6dc29bd3edb7bbef4861b8b8007ebb118d6db284fd59f6ee" dependencies = [ "autocfg", "hashbrown", @@ -947,9 +939,9 @@ checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" [[package]] name = "js-sys" -version = "0.3.56" +version = "0.3.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a38fc24e30fd564ce974c02bf1d337caddff65be6cc4735a1f7eab22a7440f04" +checksum = "671a26f820db17c2a2750743f1dd03bafd15b98c9f30c7c2628c024c05d73397" dependencies = [ "wasm-bindgen", ] @@ -971,15 +963,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.120" +version = "0.2.125" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad5c14e80759d0939d013e6ca49930e59fc53dd8e5009132f76240c179380c09" +checksum = "5916d2ae698f6de9bfb891ad7a8d65c09d232dc58cc4ac433c7da3b2fd84bc2b" [[package]] name = "log" -version = "0.4.14" +version = "0.4.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" dependencies = [ "cfg-if", "value-bag", @@ -1002,9 +994,9 @@ checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" [[package]] name = "memchr" -version = "2.4.1" +version = "2.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" +checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "muldiv" @@ -1014,9 +1006,9 @@ checksum = "b5136edda114182728ccdedb9f5eda882781f35fa6e80cc360af12a8932507f3" [[package]] name = "native-tls" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48ba9f7719b5a0f42f338907614285fb5fd70e53858141f69898a1fb7203b24d" +checksum = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9" dependencies = [ "lazy_static", "libc", @@ -1032,9 +1024,9 @@ dependencies = [ [[package]] name = "num-integer" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" dependencies = [ "autocfg", "num-traits", @@ -1054,9 +1046,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" dependencies = [ "autocfg", ] @@ -1079,18 +1071,30 @@ checksum = "87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9" [[package]] name = "openssl" -version = "0.10.38" +version = "0.10.40" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95" +checksum = "fb81a6430ac911acb25fe5ac8f1d2af1b4ea8a4fdfda0f1ee4292af2e2d8eb0e" dependencies = [ "bitflags", "cfg-if", "foreign-types", "libc", "once_cell", + "openssl-macros", "openssl-sys", ] +[[package]] +name = "openssl-macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "openssl-probe" version = "0.1.5" @@ -1099,9 +1103,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-sys" -version = "0.9.72" +version = "0.9.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e46109c383602735fa0a2e48dd2b7c892b048e1bf69e5c3b1d804b7d9c203cb" +checksum = "9d5fd19fb3e0a8191c1e34935718976a3e70c112ab9a24af6d7cadccd9d90bc0" dependencies = [ "autocfg", "cc", @@ -1124,9 +1128,6 @@ name = "os_str_bytes" version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64" -dependencies = [ - "memchr", -] [[package]] name = "parking" @@ -1136,9 +1137,9 @@ checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" [[package]] name = "paste" -version = "1.0.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0744126afe1a6dd7f394cb50a716dbe086cb06e255e53d8d0185d82828358fb5" +checksum = "0c520e05135d6e763148b6426a837e239041653ba7becd2e538c076c738025fc" [[package]] name = "percent-encoding" @@ -1148,9 +1149,9 @@ checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" [[package]] name = "pin-project-lite" -version = "0.2.8" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c" +checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" [[package]] name = "pin-utils" @@ -1160,9 +1161,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.24" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe" +checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" [[package]] name = "polling" @@ -1185,9 +1186,9 @@ checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872" [[package]] name = "pretty-hex" -version = "0.2.1" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5c99d529f0d30937f6f4b8a86d988047327bb88d04d2c4afc356de74722131" +checksum = "c6fa0831dd7cc608c38a5e323422a0077678fa5744aa2be4ad91c4ece8eec8d5" [[package]] name = "proc-macro-crate" @@ -1225,18 +1226,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.36" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" +checksum = "9027b48e9d4c9175fa2218adf3557f91c1137021739951d4932f5f8268ac48aa" dependencies = [ "unicode-xid", ] [[package]] name = "quote" -version = "1.0.15" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145" +checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1" dependencies = [ "proc-macro2", ] @@ -1273,9 +1274,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.2.11" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8380fe0152551244f0747b1bf41737e0f8a74f97a14ccefd1148187271634f3c" +checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" dependencies = [ "bitflags", ] @@ -1354,27 +1355,27 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.136" +version = "1.0.137" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" +checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1" dependencies = [ "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.5" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16ae07dd2f88a366f15bd0632ba725227018c69a1c8550a927324f8eb8368bb9" +checksum = "212e73464ebcde48d723aa02eb270ba62eff38a9b732df31f33f1b4e145f3a54" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.136" +version = "1.0.137" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" +checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be" dependencies = [ "proc-macro2", "quote", @@ -1383,9 +1384,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.79" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95" +checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c" dependencies = [ "itoa", "ryu", @@ -1433,9 +1434,9 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5" +checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32" [[package]] name = "smallvec" @@ -1445,12 +1446,12 @@ checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83" [[package]] name = "socket2" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" +checksum = "ca642ba17f8b2995138b1d7711829c92e98c0a25ea019de790f4f09279c4e296" dependencies = [ "libc", - "winapi", + "windows-sys", ] [[package]] @@ -1461,9 +1462,9 @@ checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" [[package]] name = "syn" -version = "1.0.89" +version = "1.0.92" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea297be220d52398dcc07ce15a209fce436d361735ac1db700cab3b6cdfb9f54" +checksum = "7ff7c592601f11445996a06f8ad0c27f094a58857c2f89e97974ab9235b92c52" dependencies = [ "proc-macro2", "quote", @@ -1508,9 +1509,9 @@ dependencies = [ [[package]] name = "test-log" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb78caec569a40f42c078c798c0e35b922d9054ec28e166f0d6ac447563d91a4" +checksum = "4235dbf7ea878b3ef12dea20a59c134b405a66aafc4fc2c7b9935916e289e735" dependencies = [ "proc-macro2", "quote", @@ -1525,18 +1526,18 @@ checksum = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb" [[package]] name = "thiserror" -version = "1.0.30" +version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" +checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.30" +version = "1.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" +checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a" dependencies = [ "proc-macro2", "quote", @@ -1554,9 +1555,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.5.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" dependencies = [ "tinyvec_macros", ] @@ -1569,18 +1570,18 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "toml" -version = "0.5.8" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" dependencies = [ "serde", ] [[package]] name = "tracing" -version = "0.1.32" +version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a1bdf54a7c28a2bbf701e1d2233f6c77f473486b94bee4f9678da5a148dca7f" +checksum = "5d0ecdcb44a79f0fe9844f0c4f33a342cbcbb5117de8001e6ba0dc2351327d09" dependencies = [ "cfg-if", "log", @@ -1591,9 +1592,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e65ce065b4b5c53e73bb28912318cb8c9e9ad3921f1d669eb0e68b4c8143a2b" +checksum = "cc6b8ad3567499f98a1db7a752b07a7c8c7c7c34c332ec00effb2b0027974b7c" dependencies = [ "proc-macro2", "quote", @@ -1602,9 +1603,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.23" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa31669fa42c09c34d94d8165dd2012e8ff3c66aca50f3bb226b68f216f2706c" +checksum = "f54c8ca710e81886d498c2fd3331b56c93aa248d49de2222ad2742247c60072f" dependencies = [ "lazy_static", "valuable", @@ -1612,9 +1613,9 @@ dependencies = [ [[package]] name = "tracing-log" -version = "0.1.2" +version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6923477a48e41c1951f1999ef8bb5a3023eb723ceadafe78ffb65dc366761e3" +checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" dependencies = [ "lazy_static", "log", @@ -1623,9 +1624,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e0ab7bdc962035a87fba73f3acca9b8a8d0034c2e6f60b84aeaaddddc155dce" +checksum = "4bc28f93baff38037f64e6f43d34cfa1605f27a49c34e8a04c5e78b0babf2596" dependencies = [ "ansi_term", "lazy_static", @@ -1667,9 +1668,9 @@ checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" [[package]] name = "unicode-bidi" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" +checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" [[package]] name = "unicode-normalization" @@ -1682,9 +1683,9 @@ dependencies = [ [[package]] name = "unicode-xid" -version = "0.2.2" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" +checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04" [[package]] name = "url" @@ -1721,9 +1722,9 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" [[package]] name = "value-bag" -version = "1.0.0-alpha.8" +version = "1.0.0-alpha.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79923f7731dc61ebfba3633098bf3ac533bbd35ccd8c57e7088d9a5eebe0263f" +checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55" dependencies = [ "ctor", "version_check", @@ -1761,9 +1762,9 @@ checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" [[package]] name = "wasm-bindgen" -version = "0.2.79" +version = "0.2.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25f1af7423d8588a3d840681122e72e6a24ddbcb3f0ec385cac0d12d24256c06" +checksum = "27370197c907c55e3f1a9fbe26f44e937fe6451368324e009cba39e139dc08ad" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -1771,9 +1772,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.79" +version = "0.2.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b21c0df030f5a177f3cba22e9bc4322695ec43e7257d865302900290bcdedca" +checksum = "53e04185bfa3a779273da532f5025e33398409573f348985af9a1cbf3774d3f4" dependencies = [ "bumpalo", "lazy_static", @@ -1786,9 +1787,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.29" +version = "0.4.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb6ec270a31b1d3c7e266b999739109abce8b6c87e4b31fcfcd788b65267395" +checksum = "6f741de44b75e14c35df886aff5f1eb73aa114fa5d4d00dcd37b5e01259bf3b2" dependencies = [ "cfg-if", "js-sys", @@ -1798,9 +1799,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.79" +version = "0.2.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f4203d69e40a52ee523b2529a773d5ffc1dc0071801c87b3d270b471b80ed01" +checksum = "17cae7ff784d7e83a2fe7611cfe766ecf034111b49deb850a3dc7699c08251f5" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1808,9 +1809,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.79" +version = "0.2.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa8a30d46208db204854cadbb5d4baf5fcf8071ba5bf48190c3e59937962ebc" +checksum = "99ec0dc7a4756fffc231aab1b9f2f578d23cd391390ab27f952ae0c9b3ece20b" dependencies = [ "proc-macro2", "quote", @@ -1821,15 +1822,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.79" +version = "0.2.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2" +checksum = "d554b7f530dee5964d9a9468d95c1f8b8acae4f282807e7d27d4b03099a46744" [[package]] name = "web-sys" -version = "0.3.56" +version = "0.3.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c060b319f29dd25724f09a2ba1418f142f539b2be99fbf4d2d5a8f7330afb8eb" +checksum = "7b17e741662c70c8bd24ac5c5b18de314a2c26c32bf8346ee1e6f53de919c283" dependencies = [ "js-sys", "wasm-bindgen", @@ -1935,3 +1936,46 @@ name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" +dependencies = [ + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" + +[[package]] +name = "windows_i686_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" + +[[package]] +name = "windows_i686_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" diff --git a/plugins/Cargo.toml b/plugins/Cargo.toml index 1038bc948..0b4c318b2 100644 --- a/plugins/Cargo.toml +++ b/plugins/Cargo.toml @@ -9,12 +9,12 @@ repository = "https://github.com/centricular/webrtcsink/" build = "build.rs" [dependencies] -gst = { package = "gstreamer", version = "0.18", features = ["v1_20", "ser_de"] } -gst-app = { package = "gstreamer-app", version = "0.18", features = ["v1_20"] } -gst-video = { package = "gstreamer-video", version = "0.18", features = ["v1_20", "ser_de"] } -gst-webrtc = { package = "gstreamer-webrtc", version = "0.18", features = ["v1_20"] } -gst-sdp = { package = "gstreamer-sdp", version = "0.18", features = ["v1_20"] } -gst-rtp = { package = "gstreamer-rtp", version = "0.18", features = ["v1_20"] } +gst = { git="https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", package = "gstreamer", features = ["v1_20", "ser_de"] } +gst-app = { git="https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", package = "gstreamer-app", features = ["v1_20"] } +gst-video = { git="https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", package = "gstreamer-video", features = ["v1_20", "ser_de"] } +gst-webrtc = { git="https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", package = "gstreamer-webrtc", features = ["v1_20"] } +gst-sdp = { git="https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", package = "gstreamer-sdp", features = ["v1_20"] } +gst-rtp = { git="https://gitlab.freedesktop.org/gstreamer/gstreamer-rs", package = "gstreamer-rtp", features = ["v1_20"] } once_cell = "1.0" smallvec = "1" anyhow = "1" @@ -47,6 +47,7 @@ gst-plugin-version-helper = "0.7" [features] static = [] capi = [] +gst1_22 = ["gst/v1_22", "gst-app/v1_22", "gst-video/v1_22", "gst-webrtc/v1_22", "gst-sdp/v1_22", "gst-rtp/v1_22"] [package.metadata.capi] min_version = "0.8.0" diff --git a/plugins/src/signaller/imp.rs b/plugins/src/signaller/imp.rs index cfdaf22cc..f54168862 100644 --- a/plugins/src/signaller/imp.rs +++ b/plugins/src/signaller/imp.rs @@ -7,7 +7,6 @@ use futures::prelude::*; use gst::glib; use gst::glib::prelude::*; use gst::subclass::prelude::*; -use gst::{gst_debug, gst_error, gst_info, gst_trace, gst_warning}; use once_cell::sync::Lazy; use std::path::PathBuf; use std::sync::Mutex; @@ -69,7 +68,7 @@ impl Signaller { ) .await?; - gst_info!(CAT, obj: element, "connected"); + gst::info!(CAT, obj: element, "connected"); // Channel for asynchronously sending out websocket message let (mut ws_sink, mut ws_stream) = ws.split(); @@ -82,7 +81,7 @@ impl Signaller { let send_task_handle = task::spawn(async move { while let Some(msg) = websocket_receiver.next().await { if let Some(element) = element_clone.upgrade() { - gst_trace!(CAT, obj: &element, "Sending websocket message {:?}", msg); + gst::trace!(CAT, obj: &element, "Sending websocket message {:?}", msg); } ws_sink .send(WsMessage::Text(serde_json::to_string(&msg).unwrap())) @@ -90,7 +89,7 @@ impl Signaller { } if let Some(element) = element_clone.upgrade() { - gst_info!(CAT, obj: &element, "Done sending"); + gst::info!(CAT, obj: &element, "Done sending"); } ws_sink.send(WsMessage::Close(None)).await?; @@ -111,14 +110,14 @@ impl Signaller { if let Some(element) = element_clone.upgrade() { match msg { Ok(WsMessage::Text(msg)) => { - gst_trace!(CAT, obj: &element, "Received message {}", msg); + gst::trace!(CAT, obj: &element, "Received message {}", msg); if let Ok(msg) = serde_json::from_str::(&msg) { match msg { p::OutgoingMessage::Registered( p::RegisteredMessage::Producer { peer_id, .. }, ) => { - gst_info!( + gst::info!( CAT, obj: &element, "We are registered with the server, our peer id is {}", @@ -128,12 +127,12 @@ impl Signaller { p::OutgoingMessage::Registered(_) => unreachable!(), p::OutgoingMessage::StartSession { peer_id } => { if let Err(err) = element.add_consumer(&peer_id) { - gst_warning!(CAT, obj: &element, "{}", err); + gst::warning!(CAT, obj: &element, "{}", err); } } p::OutgoingMessage::EndSession { peer_id } => { if let Err(err) = element.remove_consumer(&peer_id) { - gst_warning!(CAT, obj: &element, "{}", err); + gst::warning!(CAT, obj: &element, "{}", err); } } p::OutgoingMessage::Peer(p::PeerMessage { @@ -151,13 +150,13 @@ impl Signaller { .unwrap(), ), ) { - gst_warning!(CAT, obj: &element, "{}", err); + gst::warning!(CAT, obj: &element, "{}", err); } } p::PeerMessageInner::Sdp(p::SdpMessage::Offer { .. }) => { - gst_warning!( + gst::warning!( CAT, obj: &element, "Ignoring offer from peer" @@ -173,12 +172,12 @@ impl Signaller { None, &candidate, ) { - gst_warning!(CAT, obj: &element, "{}", err); + gst::warning!(CAT, obj: &element, "{}", err); } } }, _ => { - gst_warning!( + gst::warning!( CAT, obj: &element, "Ignoring unsupported message {:?}", @@ -187,7 +186,7 @@ impl Signaller { } } } else { - gst_error!( + gst::error!( CAT, obj: &element, "Unknown message from server: {}", @@ -199,7 +198,7 @@ impl Signaller { } } Ok(WsMessage::Close(reason)) => { - gst_info!( + gst::info!( CAT, obj: &element, "websocket connection closed: {:?}", @@ -221,7 +220,7 @@ impl Signaller { } if let Some(element) = element_clone.upgrade() { - gst_info!(CAT, obj: &element, "Stopped websocket receiving"); + gst::info!(CAT, obj: &element, "Stopped websocket receiving"); } }); @@ -302,7 +301,7 @@ impl Signaller { } pub fn stop(&self, element: &WebRTCSink) { - gst_info!(CAT, obj: element, "Stopping now"); + gst::info!(CAT, obj: element, "Stopping now"); let mut state = self.state.lock().unwrap(); let send_task_handle = state.send_task_handle.take(); @@ -313,7 +312,7 @@ impl Signaller { if let Some(handle) = send_task_handle { if let Err(err) = handle.await { - gst_warning!(CAT, obj: element, "Error while joining send task: {}", err); + gst::warning!(CAT, obj: element, "Error while joining send task: {}", err); } } @@ -325,7 +324,7 @@ impl Signaller { } pub fn consumer_removed(&self, element: &WebRTCSink, peer_id: &str) { - gst_debug!(CAT, obj: element, "Signalling consumer {} removed", peer_id); + gst::debug!(CAT, obj: element, "Signalling consumer {} removed", peer_id); let state = self.state.lock().unwrap(); let peer_id = peer_id.to_string(); @@ -390,12 +389,12 @@ impl ObjectImpl for Signaller { let address: Option<_> = value.get().expect("type checked upstream"); if let Some(address) = address { - gst_info!(CAT, "Signaller address set to {}", address); + gst::info!(CAT, "Signaller address set to {}", address); let mut settings = self.settings.lock().unwrap(); settings.address = Some(address); } else { - gst_error!(CAT, "address can't be None"); + gst::error!(CAT, "address can't be None"); } } "cafile" => { diff --git a/plugins/src/webrtcsink/imp.rs b/plugins/src/webrtcsink/imp.rs index 994320775..df4386d0a 100644 --- a/plugins/src/webrtcsink/imp.rs +++ b/plugins/src/webrtcsink/imp.rs @@ -1,8 +1,8 @@ use anyhow::Context; use gst::glib; +use gst::glib::value::FromValue; use gst::prelude::*; use gst::subclass::prelude::*; -use gst::{gst_debug, gst_error, gst_info, gst_log, gst_trace, gst_warning}; use gst_rtp::prelude::*; use gst_video::prelude::*; use gst_video::subclass::prelude::*; @@ -236,7 +236,7 @@ fn create_navigation_event>(sink: &N, msg: &str) { if let Ok(event) = event { sink.send_event(event.structure()); } else { - gst_error!(CAT, "Invalid navigation event: {:?}", msg); + gst::error!(CAT, "Invalid navigation event: {:?}", msg); } } @@ -609,7 +609,7 @@ impl VideoEncoder { .build(); if !caps.is_strictly_equal(¤t_caps) { - gst_log!( + gst::log!( CAT, obj: element, "consumer {}: setting bitrate {} and caps {} on encoder {:?}", @@ -671,7 +671,7 @@ impl CongestionController { let delay_factor = sent_minus_received as f64 / target_bitrate; let last_update_time = self.last_update_time.replace(std::time::Instant::now()); - gst_trace!( + gst::trace!( CAT, obj: element, "consumer {}: considering stats {}", @@ -699,7 +699,7 @@ impl CongestionController { CongestionControlOp::Increase(if let Some(ema) = self.bitrate_ema { let bitrate_stdev = self.bitrate_emvar.sqrt(); - gst_trace!( + gst::trace!( CAT, obj: element, "consumer {}: Old bitrate: {}, ema: {}, stddev: {}", @@ -714,7 +714,7 @@ impl CongestionController { // homegrown algorithm not implementing gcc, revisit when implementing // the rest of the RFC if target_bitrate < ema - 7. * bitrate_stdev { - gst_trace!( + gst::trace!( CAT, obj: element, "consumer {}: below last congestion window", @@ -723,7 +723,7 @@ impl CongestionController { /* Multiplicative increase */ IncreaseType::Multiplicative(1.03) } else if target_bitrate > ema + 7. * bitrate_stdev { - gst_trace!( + gst::trace!( CAT, obj: element, "consumer {}: above last congestion window", @@ -753,7 +753,7 @@ impl CongestionController { let packets_per_frame = f64::ceil(bits_per_frame / (1200. * 8.)); let avg_packet_size_bits = bits_per_frame / packets_per_frame; - gst_trace!( + gst::trace!( CAT, obj: element, "consumer {}: still in last congestion window", @@ -765,7 +765,7 @@ impl CongestionController { } } else { /* Multiplicative increase */ - gst_trace!( + gst::trace!( CAT, obj: element, "consumer {}: outside congestion window", @@ -814,19 +814,19 @@ impl CongestionController { let mut rtt = 0.; let mut n_rtts = 0u64; for inbound_stat in &inbound_rtp_stats { - if let Err(err) = (|| -> Result<(), gst::structure::GetError> { + if let Err(err) = (|| -> Result<(), gst::structure::GetError<<::Checker as glib::value::ValueTypeChecker>::Error>> { rtt += inbound_stat.get::("round-trip-time")?; n_rtts += 1; Ok(()) })() { - gst_debug!(CAT, "{:?}", err); + gst::debug!(CAT, "{:?}", err); } } rtt /= f64::max(1., n_rtts as f64); - gst_log!(CAT, "Round trip time: {}", rtt); + gst::log!(CAT, "Round trip time: {}", rtt); rtt } @@ -877,7 +877,7 @@ impl CongestionController { control_op: CongestionControlOp, controller_type: ControllerType, ) { - gst_trace!( + gst::trace!( CAT, obj: element, "consumer {}: applying congestion control operation {:?}", @@ -933,7 +933,7 @@ impl CongestionController { ) / n_encoders; if target_bitrate != prev_bitrate { - gst_info!( + gst::info!( CAT, "{:?} {} => {}", control_op, @@ -1012,14 +1012,14 @@ impl State { && self.codec_discovery_done { if let Err(err) = self.signaller.start(element) { - gst_error!(CAT, obj: element, "error: {}", err); + gst::error!(CAT, obj: element, "error: {}", err); gst::element_error!( element, gst::StreamError::Failed, ["Failed to start signaller {}", err] ); } else { - gst_info!(CAT, "Started signaller"); + gst::info!(CAT, "Started signaller"); self.signaller_state = SignallerState::Started; } } @@ -1029,7 +1029,7 @@ impl State { if self.signaller_state == SignallerState::Started { self.signaller.stop(element); self.signaller_state = SignallerState::Stopped; - gst_info!(CAT, "Stopped signaller"); + gst::info!(CAT, "Stopped signaller"); } } } @@ -1102,7 +1102,7 @@ impl Consumer { payloader_caps_mut.set_simple(&[("ssrc", &ssrc)]); } - gst_info!( + gst::info!( CAT, obj: element, "Requesting WebRTC pad for consumer {} with caps {}", @@ -1154,7 +1154,7 @@ impl Consumer { webrtc_pad: &WebRTCPad, codecs: &BTreeMap, ) -> Result<(), Error> { - gst_info!( + gst::info!( CAT, obj: element, "Connecting input stream {} for consumer {}", @@ -1342,7 +1342,7 @@ impl InputStream { impl NavigationEventHandler { pub fn new(element: &super::WebRTCSink, webrtcbin: &gst::Element) -> Self { - gst_info!(CAT, "Creating navigation data channel"); + gst::info!(CAT, "Creating navigation data channel"); let channel = webrtcbin.emit_by_name::( "create-data-channel", &[ @@ -1414,7 +1414,7 @@ impl WebRTCSink { payload: pt, }) } else { - gst_warning!(CAT, obj: &self.instance(), + gst::warning!(CAT, obj: &self.instance(), "Too many formats for available payload type range, ignoring {}", s); None @@ -1428,7 +1428,7 @@ impl WebRTCSink { /// Prepare for accepting consumers, by setting /// up StreamProducers for each of our sink pads fn prepare(&self, element: &super::WebRTCSink) -> Result<(), Error> { - gst_debug!(CAT, obj: element, "preparing"); + gst::debug!(CAT, obj: element, "preparing"); self.state .lock() @@ -1443,7 +1443,7 @@ impl WebRTCSink { /// Unprepare by stopping consumers, then the signaller object. /// Might abort codec discovery fn unprepare(&self, element: &super::WebRTCSink) -> Result<(), Error> { - gst_info!(CAT, obj: element, "unpreparing"); + gst::info!(CAT, obj: element, "unpreparing"); let mut state = self.state.lock().unwrap(); @@ -1487,7 +1487,7 @@ impl WebRTCSink { /// Called by the signaller when it has encountered an error pub fn handle_signalling_error(&self, element: &super::WebRTCSink, error: anyhow::Error) { - gst_error!(CAT, obj: element, "Signalling error: {:?}", error); + gst::error!(CAT, obj: element, "Signalling error: {:?}", error); gst::element_error!( element, @@ -1510,7 +1510,7 @@ impl WebRTCSink { .emit_by_name::<()>("set-local-description", &[&offer, &None::]); if let Err(err) = state.signaller.handle_sdp(element, peer_id, &offer) { - gst_warning!( + gst::warning!( CAT, "Failed to handle SDP for consumer {}: {}", peer_id, @@ -1525,21 +1525,21 @@ impl WebRTCSink { fn negotiate(&self, element: &super::WebRTCSink, peer_id: &str) { let state = self.state.lock().unwrap(); - gst_debug!(CAT, obj: element, "Negotiating for peer {}", peer_id); + gst::debug!(CAT, obj: element, "Negotiating for peer {}", peer_id); if let Some(consumer) = state.consumers.get(peer_id) { let element = element.downgrade(); - gst_debug!(CAT, "Creating offer for peer {}", peer_id); + gst::debug!(CAT, "Creating offer for peer {}", peer_id); let peer_id = peer_id.to_string(); let promise = gst::Promise::with_change_func(move |reply| { - gst_debug!(CAT, "Created offer for peer {}", peer_id); + gst::debug!(CAT, "Created offer for peer {}", peer_id); if let Some(element) = element.upgrade() { let this = Self::from_instance(&element); let reply = match reply { Ok(Some(reply)) => reply, Ok(None) => { - gst_warning!( + gst::warning!( CAT, obj: &element, "Promise returned without a reply for {}", @@ -1549,7 +1549,7 @@ impl WebRTCSink { return; } Err(err) => { - gst_warning!( + gst::warning!( CAT, obj: &element, "Promise returned with an error for {}: {:?}", @@ -1567,7 +1567,7 @@ impl WebRTCSink { { this.on_offer_created(&element, offer, &peer_id); } else { - gst_warning!( + gst::warning!( CAT, "Reply without an offer for consumer {}: {:?}", peer_id, @@ -1582,7 +1582,7 @@ impl WebRTCSink { .webrtcbin .emit_by_name::<()>("create-offer", &[&None::, &promise]); } else { - gst_debug!( + gst::debug!( CAT, obj: element, "consumer for peer {} no longer exists", @@ -1604,7 +1604,7 @@ impl WebRTCSink { .signaller .handle_ice(element, &peer_id, &candidate, Some(sdp_m_line_index), None) { - gst_warning!( + gst::warning!( CAT, "Failed to handle ICE for consumer {}: {}", peer_id, @@ -1628,7 +1628,7 @@ impl WebRTCSink { return Err(WebRTCSinkError::DuplicateConsumerId(peer_id.to_string())); } - gst_info!(CAT, obj: element, "Adding consumer {}", peer_id); + gst::info!(CAT, obj: element, "Adding consumer {}", peer_id); let pipeline = gst::Pipeline::new(Some(&format!("consumer-pipeline-{}", peer_id))); @@ -1678,7 +1678,7 @@ impl WebRTCSink { match state { gst_webrtc::WebRTCPeerConnectionState::Failed => { let this = Self::from_instance(&element); - gst_warning!( + gst::warning!( CAT, obj: &element, "Connection state for consumer {} failed", @@ -1687,7 +1687,7 @@ impl WebRTCSink { let _ = this.remove_consumer(&element, &peer_id_clone, true); } _ => { - gst_log!( + gst::log!( CAT, obj: &element, "Connection state for consumer {} changed: {:?}", @@ -1709,7 +1709,7 @@ impl WebRTCSink { match state { gst_webrtc::WebRTCICEConnectionState::Failed => { - gst_warning!( + gst::warning!( CAT, obj: &element, "Ice connection state for consumer {} failed", @@ -1718,7 +1718,7 @@ impl WebRTCSink { let _ = this.remove_consumer(&element, &peer_id_clone, true); } _ => { - gst_log!( + gst::log!( CAT, obj: &element, "Ice connection state for consumer {} changed: {:?}", @@ -1753,7 +1753,7 @@ impl WebRTCSink { webrtcbin.property::("ice-gathering-state"); if let Some(element) = element_clone.upgrade() { - gst_log!( + gst::log!( CAT, obj: &element, "Ice gathering state for consumer {} changed: {:?}", @@ -1831,7 +1831,7 @@ impl WebRTCSink { let this = Self::from_instance(&element); match msg.view() { gst::MessageView::Error(err) => { - gst_error!( + gst::error!( CAT, "Consumer {} error: {}, details: {:?}", peer_id_clone, @@ -1857,12 +1857,12 @@ impl WebRTCSink { } gst::MessageView::Latency(..) => { if let Some(pipeline) = pipeline_clone.upgrade() { - gst_info!(CAT, obj: &pipeline, "Recalculating latency"); + gst::info!(CAT, obj: &pipeline, "Recalculating latency"); let _ = pipeline.recalculate_latency(); } } gst::MessageView::Eos(..) => { - gst_error!( + gst::error!( CAT, "Unexpected end of stream for consumer {}", peer_id_clone @@ -1986,7 +1986,7 @@ impl WebRTCSink { if let Err(err) = consumer.connect_input_stream(element, producer, webrtc_pad, &state.codecs) { - gst_error!( + gst::error!( CAT, obj: element, "Failed to connect input stream {} for consumer {}: {}", @@ -1998,7 +1998,7 @@ impl WebRTCSink { break; } } else { - gst_error!( + gst::error!( CAT, obj: element, "No producer to connect consumer {} to", @@ -2059,7 +2059,7 @@ impl WebRTCSink { let sdp_m_line_index = sdp_m_line_index.ok_or(WebRTCSinkError::MandatorySdpMlineIndex)?; if let Some(consumer) = state.consumers.get(peer_id) { - gst_trace!(CAT, "adding ice candidate for peer {}", peer_id); + gst::trace!(CAT, "adding ice candidate for peer {}", peer_id); consumer .webrtcbin .emit_by_name::<()>("add-ice-candidate", &[&sdp_m_line_index, &candidate]); @@ -2093,7 +2093,7 @@ impl WebRTCSink { .media(webrtc_pad.media_idx) .and_then(|media| media.as_text().ok()); - gst_warning!( + gst::warning!( CAT, "consumer {} refused media {}: {:?}", peer_id, @@ -2116,7 +2116,7 @@ impl WebRTCSink { { webrtc_pad.payload = Some(payload); } else { - gst_warning!( + gst::warning!( CAT, "consumer {} did not provide valid payload for media index {}", peer_id, @@ -2136,7 +2136,7 @@ impl WebRTCSink { let peer_id = peer_id.to_string(); let promise = gst::Promise::with_change_func(move |reply| { - gst_debug!(CAT, "received reply {:?}", reply); + gst::debug!(CAT, "received reply {:?}", reply); if let Some(element) = element.upgrade() { let this = Self::from_instance(&element); @@ -2270,7 +2270,7 @@ impl WebRTCSink { /* We don't consider this fatal, as long as we end up with one * potential codec for each input stream */ - gst_warning!( + gst::warning!( CAT, obj: element, "Codec discovery pipeline failed: {}", @@ -2342,11 +2342,11 @@ impl WebRTCSink { // Nothing changed true } else { - gst_error!(CAT, obj: pad, "Renegotiation is not supported"); + gst::error!(CAT, obj: pad, "Renegotiation is not supported"); false } } else { - gst_info!(CAT, obj: pad, "Received caps event {:?}", e); + gst::info!(CAT, obj: pad, "Received caps event {:?}", e); let mut all_pads_have_caps = true; @@ -2384,7 +2384,7 @@ impl WebRTCSink { match fut.await { Ok(Err(err)) => { - gst_error!(CAT, obj: &element, "error: {}", err); + gst::error!(CAT, obj: &element, "error: {}", err); gst::element_error!( element, gst::StreamError::CodecNotFound, @@ -2775,7 +2775,7 @@ impl ObjectImpl for WebRTCSink { let element = args[0].get::().expect("signal arg"); let enc = args[3].get::().unwrap(); - gst_debug!( + gst::debug!( CAT, obj: &element, "applying default configuration on encoder {:?}", @@ -2864,7 +2864,7 @@ impl ElementImpl for WebRTCSink { _caps: Option<&gst::Caps>, ) -> Option { if element.current_state() > gst::State::Ready { - gst_error!(CAT, "element pads can only be requested before starting"); + gst::error!(CAT, "element pads can only be requested before starting"); return None; } @@ -2985,10 +2985,10 @@ impl NavigationImpl for WebRTCSink { state.streams.iter_mut().for_each(|(_, stream)| { if stream.sink_pad.name().starts_with("video_") { - gst_log!(CAT, "Navigating to: {:?}", event); + gst::log!(CAT, "Navigating to: {:?}", event); // FIXME: Handle multi tracks. if !stream.sink_pad.push_event(event.clone()) { - gst_info!(CAT, "Could not send event: {:?}", event); + gst::info!(CAT, "Could not send event: {:?}", event); } } }); diff --git a/plugins/src/webrtcsink/utils.rs b/plugins/src/webrtcsink/utils.rs index a7bde37cb..ca9111797 100644 --- a/plugins/src/webrtcsink/utils.rs +++ b/plugins/src/webrtcsink/utils.rs @@ -6,7 +6,6 @@ use anyhow::{Context, Error}; use once_cell::sync::Lazy; use gst::prelude::*; -use gst::{gst_debug, gst_error, gst_trace, gst_warning}; static CAT: Lazy = Lazy::new(|| { gst::DebugCategory::new( @@ -49,11 +48,11 @@ impl StreamProducer { pub fn add_consumer(&self, consumer: &gst_app::AppSrc, consumer_id: &str) { let mut consumers = self.consumers.lock().unwrap(); if consumers.consumers.get(consumer_id).is_some() { - gst_error!(CAT, "Consumer already added"); + gst::error!(CAT, "Consumer already added"); return; } - gst_debug!(CAT, "Adding consumer"); + gst::debug!(CAT, "Adding consumer"); consumer.set_property("max-buffers", 0u64); consumer.set_property("max-bytes", 0u64); @@ -67,7 +66,7 @@ impl StreamProducer { .add_probe(gst::PadProbeType::EVENT_UPSTREAM, move |_pad, info| { if let Some(gst::PadProbeData::Event(ref ev)) = info.data { if gst_video::UpstreamForceKeyUnitEvent::parse(ev).is_ok() { - gst_debug!(CAT, "Requesting keyframe"); + gst::debug!(CAT, "Requesting keyframe"); let _ = appsink_clone.send_event(ev.clone()); } } @@ -85,9 +84,9 @@ impl StreamProducer { /// Remove a consumer appsrc by id pub fn remove_consumer(&self, consumer_id: &str) { if let Some(consumer) = self.consumers.lock().unwrap().consumers.remove(consumer_id) { - gst_debug!(CAT, "Removed consumer {}", consumer.appsrc.name()); + gst::debug!(CAT, "Removed consumer {}", consumer.appsrc.name()); } else { - gst_debug!(CAT, "Consumer {} not found", consumer_id); + gst::debug!(CAT, "Consumer {} not found", consumer_id); } } @@ -123,7 +122,7 @@ impl<'a> From<&'a gst_app::AppSink> for StreamProducer { let sample = match appsink.pull_sample() { Ok(sample) => sample, Err(_err) => { - gst_debug!(CAT, "Failed to pull sample"); + gst::debug!(CAT, "Failed to pull sample"); return Err(gst::FlowError::Flushing); } }; @@ -132,7 +131,7 @@ impl<'a> From<&'a gst_app::AppSink> for StreamProducer { return Ok(gst::FlowSuccess::Ok); } - gst_trace!(CAT, "processing sample"); + gst::trace!(CAT, "processing sample"); let latency = consumers.current_latency; let latency_updated = mem::replace(&mut consumers.latency_updated, false); @@ -167,7 +166,7 @@ impl<'a> From<&'a gst_app::AppSink> for StreamProducer { .is_ok() && !requested_keyframe { - gst_debug!(CAT, "Requesting keyframe for first buffer"); + gst::debug!(CAT, "Requesting keyframe for first buffer"); appsink.send_event( gst_video::UpstreamForceKeyUnitEvent::builder() .all_headers(true) @@ -183,7 +182,7 @@ impl<'a> From<&'a gst_app::AppSink> for StreamProducer { for consumer in current_consumers { if let Err(err) = consumer.push_sample(&sample) { - gst_warning!(CAT, "Failed to push sample: {}", err); + gst::warning!(CAT, "Failed to push sample: {}", err); } } @@ -266,7 +265,7 @@ impl StreamConsumer { appsrc.set_callbacks( gst_app::AppSrcCallbacks::builder() .enough_data(move |_appsrc| { - gst_debug!( + gst::debug!( CAT, "consumer {} is not consuming fast enough, old samples are getting dropped", consumer_id