diff --git a/.cargo/config.toml.in b/.cargo/config.toml.in index 4b320cf64210..99400f9ccbb5 100644 --- a/.cargo/config.toml.in +++ b/.cargo/config.toml.in @@ -65,9 +65,9 @@ git = "https://github.com/mozilla/application-services" rev = "7c275b9088557abcbc8f3c2834f9aaa9064ca5e4" replace-with = "vendored-sources" -[source."git+https://github.com/mozilla/audioipc?rev=3495905752a4263827f5d43737f9ca3ed0243ce0"] +[source."git+https://github.com/mozilla/audioipc?branch=cherry-pick-firefox-128-129"] git = "https://github.com/mozilla/audioipc" -rev = "3495905752a4263827f5d43737f9ca3ed0243ce0" +branch = "cherry-pick-firefox-128-129" replace-with = "vendored-sources" [source."git+https://github.com/mozilla/cubeb-coreaudio-rs?rev=8bce3b333a920999055397a397e59c2b81a93b9a"] diff --git a/Cargo.lock b/Cargo.lock index eb2e18539435..3d988de4b188 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -260,7 +260,7 @@ dependencies = [ [[package]] name = "audioipc2" version = "0.6.0" -source = "git+https://github.com/mozilla/audioipc?rev=3495905752a4263827f5d43737f9ca3ed0243ce0#3495905752a4263827f5d43737f9ca3ed0243ce0" +source = "git+https://github.com/mozilla/audioipc?branch=cherry-pick-firefox-128-129#e1071472c55193032aa4c1403317844005f9d0fc" dependencies = [ "arrayvec", "ashmem", @@ -288,7 +288,7 @@ dependencies = [ [[package]] name = "audioipc2-client" version = "0.6.0" -source = "git+https://github.com/mozilla/audioipc?rev=3495905752a4263827f5d43737f9ca3ed0243ce0#3495905752a4263827f5d43737f9ca3ed0243ce0" +source = "git+https://github.com/mozilla/audioipc?branch=cherry-pick-firefox-128-129#e1071472c55193032aa4c1403317844005f9d0fc" dependencies = [ "audio_thread_priority", "audioipc2", @@ -299,7 +299,7 @@ dependencies = [ [[package]] name = "audioipc2-server" version = "0.6.0" -source = "git+https://github.com/mozilla/audioipc?rev=3495905752a4263827f5d43737f9ca3ed0243ce0#3495905752a4263827f5d43737f9ca3ed0243ce0" +source = "git+https://github.com/mozilla/audioipc?branch=cherry-pick-firefox-128-129#e1071472c55193032aa4c1403317844005f9d0fc" dependencies = [ "audio_thread_priority", "audioipc2", diff --git a/third_party/rust/audioipc2-server/.cargo-checksum.json b/third_party/rust/audioipc2-server/.cargo-checksum.json index d7ba879e5030..00593bdcb9ea 100644 --- a/third_party/rust/audioipc2-server/.cargo-checksum.json +++ b/third_party/rust/audioipc2-server/.cargo-checksum.json @@ -1 +1 @@ -{"files":{"Cargo.toml":"62eab883f31c0c088ff865fe2e4305d987b7b534f6cdfe1e5812072a2ec13f8b","cbindgen.toml":"fb6abe1671497f432a06e40b1db7ed7cd2cceecbd9a2382193ad7534e8855e34","src/lib.rs":"d70079c66de72c3469504f1f0c9cf5e510644cac17f2d8300b8d12218740e07b","src/server.rs":"187e2236aa9f2fb6cc4a533d40714a71504afa5ef9d849ac28b7f26032859c29"},"package":null} \ No newline at end of file +{"files":{"Cargo.toml":"62eab883f31c0c088ff865fe2e4305d987b7b534f6cdfe1e5812072a2ec13f8b","cbindgen.toml":"fb6abe1671497f432a06e40b1db7ed7cd2cceecbd9a2382193ad7534e8855e34","src/lib.rs":"d70079c66de72c3469504f1f0c9cf5e510644cac17f2d8300b8d12218740e07b","src/server.rs":"352bf1e1458d8ee1c78fd95b8d855f1a248b743440c86a00a44c0ce405e94496"},"package":null} \ No newline at end of file diff --git a/third_party/rust/audioipc2-server/src/server.rs b/third_party/rust/audioipc2-server/src/server.rs index 96a8fc388355..d9b8299f3955 100644 --- a/third_party/rust/audioipc2-server/src/server.rs +++ b/third_party/rust/audioipc2-server/src/server.rs @@ -261,6 +261,11 @@ impl ServerStreamCallbacks { return cubeb::ffi::CUBEB_ERROR.try_into().unwrap(); } + if nframes == 0 { + // Optimization: skip the RPC call when there are no frames. + return 0; + } + let r = self.data_callback_rpc.call(CallbackReq::Data { nframes, input_frame_size: self.input_frame_size as usize, diff --git a/toolkit/library/rust/shared/Cargo.toml b/toolkit/library/rust/shared/Cargo.toml index dcad9ee731eb..49b82166da55 100644 --- a/toolkit/library/rust/shared/Cargo.toml +++ b/toolkit/library/rust/shared/Cargo.toml @@ -25,8 +25,8 @@ webrender_bindings = { path = "../../../../gfx/webrender_bindings" } cubeb-coreaudio = { git = "https://github.com/mozilla/cubeb-coreaudio-rs", rev = "8bce3b333a920999055397a397e59c2b81a93b9a", optional = true } cubeb-pulse = { git = "https://github.com/mozilla/cubeb-pulse-rs", rev="8678dcab1c287de79c4c184ccc2e065bc62b70e2", optional = true, features=["pulse-dlopen"] } cubeb-sys = { version = "0.13", optional = true, features=["gecko-in-tree"] } -audioipc2-client = { git = "https://github.com/mozilla/audioipc", rev = "3495905752a4263827f5d43737f9ca3ed0243ce0", optional = true } -audioipc2-server = { git = "https://github.com/mozilla/audioipc", rev = "3495905752a4263827f5d43737f9ca3ed0243ce0", optional = true } +audioipc2-client = { git = "https://github.com/mozilla/audioipc", branch = "cherry-pick-firefox-128-129", optional = true } +audioipc2-server = { git = "https://github.com/mozilla/audioipc", branch = "cherry-pick-firefox-128-129", optional = true } encoding_glue = { path = "../../../../intl/encoding_glue" } authrs_bridge = { path = "../../../../dom/webauthn/authrs_bridge" } gkrust_utils = { path = "../../../../xpcom/rust/gkrust_utils" }