diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 470c8f99..b29202c7 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -18,7 +18,7 @@ jobs: fail-fast: false matrix: os: [ubuntu-22.04] - rust: [nightly] + rust: [stable] target: ["default"] steps: - uses: actions/checkout@v2 diff --git a/Cargo.lock b/Cargo.lock index ee76ac24..e3785c48 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "addr2line" @@ -570,7 +570,7 @@ dependencies = [ "gleam 0.12.2", "glutin", "ipc-channel", - "rand 0.5.6", + "rand 0.9.0", "serde", "serde_derive", "serde_json", @@ -781,6 +781,18 @@ dependencies = [ "wasi 0.11.0+wasi-snapshot-preview1", ] +[[package]] +name = "getrandom" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0" +dependencies = [ + "cfg-if 1.0.0", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", +] + [[package]] name = "gimli" version = "0.27.0" @@ -1403,9 +1415,8 @@ dependencies = [ [[package]] name = "ipc-channel" -version = "0.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6fb8251fb7bcd9ccd3725ed8deae9fe7db8e586495c9eb5b0c52e6233e5e75ea" +version = "0.20.0" +source = "git+https://github.com/wusyong/ipc-channel?branch=0.20.0#cba5ad93cb4a9c363de49c4f9886da1964f34d1e" dependencies = [ "bincode", "crossbeam-channel", @@ -1413,7 +1424,7 @@ dependencies = [ "lazy_static", "libc", "mio 1.0.2", - "rand 0.8.5", + "rand 0.9.0", "serde", "tempfile", "uuid", @@ -1493,9 +1504,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.149" +version = "0.2.171" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b" +checksum = "c19937216e9d3aa9956d9bb8dfc0b0c8beb6058fc4f7a4dc4d850edf86a237d6" [[package]] name = "libloading" @@ -1667,7 +1678,6 @@ checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec" dependencies = [ "hermit-abi 0.3.9", "libc", - "log 0.4.17", "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] @@ -2047,17 +2057,10 @@ dependencies = [ ] [[package]] -name = "rand" -version = "0.5.6" +name = "r-efi" +version = "5.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9" -dependencies = [ - "cloudabi", - "fuchsia-cprng", - "libc", - "rand_core 0.3.1", - "winapi 0.3.9", -] +checksum = "74765f6d916ee2faa39bc8e68e4f3ed8949b48cccdac59983d287a7cb71ce9c5" [[package]] name = "rand" @@ -2080,13 +2083,13 @@ dependencies = [ [[package]] name = "rand" -version = "0.8.5" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +checksum = "3779b94aeb87e8bd4e834cee3650289ee9e0d5677f976ecdb6d219e5f4f6cd94" dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.4", + "rand_chacha 0.9.0", + "rand_core 0.9.3", + "zerocopy", ] [[package]] @@ -2101,12 +2104,12 @@ dependencies = [ [[package]] name = "rand_chacha" -version = "0.3.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core 0.6.4", + "rand_core 0.9.3", ] [[package]] @@ -2126,11 +2129,11 @@ checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc" [[package]] name = "rand_core" -version = "0.6.4" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" dependencies = [ - "getrandom", + "getrandom 0.3.2", ] [[package]] @@ -2275,7 +2278,7 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom", + "getrandom 0.2.8", "redox_syscall 0.2.16", "thiserror 1.0.50", ] @@ -3088,7 +3091,7 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" dependencies = [ - "getrandom", + "getrandom 0.2.8", ] [[package]] @@ -3138,6 +3141,15 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wayland-client" version = "0.21.13" @@ -3635,6 +3647,15 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.6.0", +] + [[package]] name = "wr_malloc_size_of" version = "0.0.1" @@ -3679,3 +3700,23 @@ name = "xml-rs" version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3" + +[[package]] +name = "zerocopy" +version = "0.8.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2586fea28e186957ef732a5f8b3be2da217d65c5969d4b1e17f973ebbe876879" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a996a8f63c5c4448cd959ac1bab0aaa3306ccfd060472f85943ee0750f0169be" +dependencies = [ + "proc-macro2 1.0.92", + "quote 1.0.38", + "syn 2.0.94", +] diff --git a/Cargo.toml b/Cargo.toml index 0636666d..d4f97e17 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -34,7 +34,7 @@ gstreamer-gl-egl = { version = "0.23" } gstreamer-gl-wayland = { version = "0.23" } gstreamer-gl-x11 = { version = "0.23" } gstreamer-sys = "0.23" -ipc-channel = "0.19" +ipc-channel = { git = "https://github.com/wusyong/ipc-channel", branch = "0.20.0" } [patch."https://github.com/servo/webrender"] webrender = { git = "https://github.com/jdm/webrender", branch = "crash-backtrace" } diff --git a/examples/Cargo.toml b/examples/Cargo.toml index 9a07936c..3229b96a 100644 --- a/examples/Cargo.toml +++ b/examples/Cargo.toml @@ -9,9 +9,9 @@ euclid = { version = "0.22", optional = true } failure = { version = "0.1", optional = true } failure_derive = { version = "0.1", optional = true } gleam = { version = "0.12.2", optional = true } -rand = { version = "0.5.0", optional = true } +rand = { version = "0.9.0", optional = true } time = { version = "0.1.40", optional = true } -serde = {version = "1.0", optional = true } +serde = { version = "1.0", optional = true } serde_derive = { version = "1.0", optional = true } serde_json = { version = "1.0", optional = true } servo-media-dummy = { path = "../backends/dummy" } @@ -30,10 +30,20 @@ clap = { version = "2.33", default-features = false, optional = true } [features] default = [] -gui = [ "euclid", "clap", "failure", "failure_derive", "gleam", "glutin", "webrender", "webrender_api", "winit" ] -player = [ "ipc-channel" ] -noise = [ "rand" ] -webrtc = [ "rand", "serde", "serde_derive", "serde_json", "websocket" ] +gui = [ + "euclid", + "clap", + "failure", + "failure_derive", + "gleam", + "glutin", + "webrender", + "webrender_api", + "winit", +] +player = ["ipc-channel"] +noise = ["rand"] +webrtc = ["rand", "serde", "serde_derive", "serde_json", "websocket"] [[bin]] name = "dummy" @@ -94,17 +104,17 @@ path = "play.rs" [[bin]] name = "play_noise" path = "play_noise.rs" -required-features = [ "noise" ] +required-features = ["noise"] [[bin]] name = "player" path = "player/main.rs" -required-features = [ "player", "gui" ] +required-features = ["player", "gui"] [[bin]] name = "play_media_stream" path = "play_media_stream.rs" -required-features = [ "player" ] +required-features = ["player"] [[bin]] name = "stream_reader_node" @@ -117,12 +127,12 @@ path = "stream_dest_node.rs" [[bin]] name = "simple_player" path = "simple_player.rs" -required-features = [ "player" ] +required-features = ["player"] [[bin]] name = "muted_player" path = "muted_player.rs" -required-features = [ "player" ] +required-features = ["player"] [[bin]] name = "oscillator" @@ -139,7 +149,7 @@ path = "constant_source.rs" [[bin]] name = "simple_webrtc" path = "simple_webrtc.rs" -required-features = [ "webrtc" ] +required-features = ["webrtc"] [[bin]] name = "set_value_curve" @@ -160,4 +170,4 @@ path = "iir_filter.rs" [[bin]] name = "media_element_source_node" path = "media_element_source_node.rs" -required-features = [ "player" ] +required-features = ["player"] diff --git a/examples/simple_webrtc.rs b/examples/simple_webrtc.rs index d08a2693..b2c5b190 100644 --- a/examples/simple_webrtc.rs +++ b/examples/simple_webrtc.rs @@ -376,7 +376,7 @@ fn run_example(servo_media: Arc) { let (send_msg_tx, send_msg_rx) = mpsc::channel::(); let send_loop = send_loop(sender, send_msg_rx); - let our_id = rand::thread_rng().gen_range(10, 10_000); + let our_id = rand::thread_rng().gen_range(10..10_000); println!("Registering id {} with server", our_id); send_msg_tx .send(OwnedMessage::Text(format!("HELLO {}", our_id)))