vhost-device-sound: update pipewire dependencies

Update pipewire dependencies after the MR -
https://gitlab.freedesktop.org/pipewire/pipewire-rs/-/merge_requests/210
in pipewire-rs that fixes the crash during vhost-device-sound
test execution

Close #538

Signed-off-by: Dorinda Bassey <dbassey@redhat.com>
This commit is contained in:
Dorinda Bassey 2024-01-19 10:04:57 +01:00 committed by Stefano Garzarella
parent f6d8ac9bda
commit 6ca911eb5f
3 changed files with 43 additions and 14 deletions

42
Cargo.lock generated
View File

@ -33,6 +33,16 @@ dependencies = [
"pkg-config",
]
[[package]]
name = "annotate-snippets"
version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ccaf7e9dfbb6ab22c82e473cd1a8a7bd313c19a5b7e40970f3d89ef5a5c9e81e"
dependencies = [
"unicode-width",
"yansi-term",
]
[[package]]
name = "anstream"
version = "0.6.11"
@ -140,10 +150,11 @@ dependencies = [
[[package]]
name = "bindgen"
version = "0.66.1"
version = "0.68.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f2b84e06fc203107bfbad243f4aba2af864eb7db3b1cf46ea0a023b0b433d2a7"
checksum = "726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078"
dependencies = [
"annotate-snippets",
"bitflags 2.4.1",
"cexpr",
"clang-sys",
@ -649,7 +660,7 @@ dependencies = [
[[package]]
name = "libspa"
version = "0.7.2"
source = "git+https://gitlab.freedesktop.org/pipewire/pipewire-rs.git?rev=5fe090b3ac8f6fed756c4871ac18f26edda3ac89#5fe090b3ac8f6fed756c4871ac18f26edda3ac89"
source = "git+https://gitlab.freedesktop.org/pipewire/pipewire-rs.git?rev=675dab340015ba2cc9e8ad1cc99b3a1e5005a18a#675dab340015ba2cc9e8ad1cc99b3a1e5005a18a"
dependencies = [
"bitflags 2.4.1",
"cc",
@ -665,9 +676,9 @@ dependencies = [
[[package]]
name = "libspa-sys"
version = "0.7.2"
source = "git+https://gitlab.freedesktop.org/pipewire/pipewire-rs.git?rev=5fe090b3ac8f6fed756c4871ac18f26edda3ac89#5fe090b3ac8f6fed756c4871ac18f26edda3ac89"
source = "git+https://gitlab.freedesktop.org/pipewire/pipewire-rs.git?rev=675dab340015ba2cc9e8ad1cc99b3a1e5005a18a#675dab340015ba2cc9e8ad1cc99b3a1e5005a18a"
dependencies = [
"bindgen 0.66.1",
"bindgen 0.68.1",
"cc",
"system-deps 6.2.0",
]
@ -821,7 +832,7 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
[[package]]
name = "pipewire"
version = "0.7.2"
source = "git+https://gitlab.freedesktop.org/pipewire/pipewire-rs.git?rev=5fe090b3ac8f6fed756c4871ac18f26edda3ac89#5fe090b3ac8f6fed756c4871ac18f26edda3ac89"
source = "git+https://gitlab.freedesktop.org/pipewire/pipewire-rs.git?rev=675dab340015ba2cc9e8ad1cc99b3a1e5005a18a#675dab340015ba2cc9e8ad1cc99b3a1e5005a18a"
dependencies = [
"anyhow",
"bitflags 2.4.1",
@ -837,9 +848,9 @@ dependencies = [
[[package]]
name = "pipewire-sys"
version = "0.7.2"
source = "git+https://gitlab.freedesktop.org/pipewire/pipewire-rs.git?rev=5fe090b3ac8f6fed756c4871ac18f26edda3ac89#5fe090b3ac8f6fed756c4871ac18f26edda3ac89"
source = "git+https://gitlab.freedesktop.org/pipewire/pipewire-rs.git?rev=675dab340015ba2cc9e8ad1cc99b3a1e5005a18a#675dab340015ba2cc9e8ad1cc99b3a1e5005a18a"
dependencies = [
"bindgen 0.66.1",
"bindgen 0.68.1",
"libspa-sys",
"system-deps 6.2.0",
]
@ -1279,6 +1290,12 @@ version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
[[package]]
name = "unicode-width"
version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
[[package]]
name = "unsafe-libyaml"
version = "0.2.10"
@ -1771,3 +1788,12 @@ checksum = "56c1936c4cc7a1c9ab21a1ebb602eb942ba868cbd44a99cb7cdc5892335e1c85"
dependencies = [
"linked-hash-map",
]
[[package]]
name = "yansi-term"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe5c30ade05e61656247b2e334a031dfd0cc466fadef865bdcdea8d537951bf1"
dependencies = [
"winapi",
]

View File

@ -31,7 +31,7 @@ vmm-sys-util = "0.12"
# Make alsa and pipewire backends available only on gnu
[target.'cfg(target_env = "gnu")'.dependencies]
alsa = { version = "0.8", optional = true }
pw = { package = "pipewire", git = "https://gitlab.freedesktop.org/pipewire/pipewire-rs.git", rev = "5fe090b3ac8f6fed756c4871ac18f26edda3ac89", optional = true }
pw = { package = "pipewire", git = "https://gitlab.freedesktop.org/pipewire/pipewire-rs.git", rev = "675dab340015ba2cc9e8ad1cc99b3a1e5005a18a", optional = true }
[dev-dependencies]
rstest = "0.18.2"

View File

@ -10,7 +10,10 @@ use std::{
};
use log::debug;
use pw::{properties, spa, sys::PW_ID_CORE, Context, Core, ThreadLoop};
use pw::{
context::Context, core::Core, properties::properties, spa, sys::PW_ID_CORE,
thread_loop::ThreadLoop,
};
use spa::{
param::{
audio::{AudioFormat, AudioInfoRaw},
@ -51,7 +54,7 @@ use crate::{
Direction, Error, Result, Stream,
};
impl From<Direction> for spa::Direction {
impl From<Direction> for spa::utils::Direction {
fn from(val: Direction) -> Self {
match val {
Direction::Output => Self::Output,
@ -89,7 +92,7 @@ impl PwBackend {
let lock_guard = thread_loop.lock();
let context = pw::Context::new(&thread_loop).expect("failed to create context");
let context = Context::new(&thread_loop).expect("failed to create context");
thread_loop.start();
let core = context.connect(None).expect("Failed to connect to core");
@ -336,10 +339,10 @@ impl AudioBackend for PwBackend {
let listener_stream = stream
.add_local_listener()
.state_changed(|old, new| {
.state_changed(|_, _, old, new| {
debug!("State changed: {:?} -> {:?}", old, new);
})
.param_changed(move |stream, id, _data, param| {
.param_changed(move |stream, _data, id, param| {
let Some(_param) = param else {
return;
};