bump nix and alsa

This commit is contained in:
Hailey Somerville 2024-06-28 15:29:40 +10:00
parent ced8036ad0
commit 4353c52dcf
5 changed files with 44 additions and 30 deletions

40
Cargo.lock generated
View file

@ -22,14 +22,13 @@ dependencies = [
[[package]]
name = "alsa"
version = "0.8.1"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce34de545ad29bcc00cb1b87a94c132256dcf83aa7eeb9674482568405a6ff0a"
checksum = "37fe60779335388a88c01ac6c3be40304d1e349de3ada3b15f7808bb90fa9dce"
dependencies = [
"alsa-sys",
"bitflags 2.4.0",
"libc",
"nix",
]
[[package]]
@ -131,7 +130,7 @@ dependencies = [
"env_logger",
"libc",
"log",
"nix",
"nix 0.29.0",
"rand",
"serde",
"serde_json",
@ -316,6 +315,12 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "cfg_aliases"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
[[package]]
name = "chrono"
version = "0.4.31"
@ -565,7 +570,7 @@ dependencies = [
"cfg-if",
"cvt",
"libc",
"nix",
"nix 0.26.4",
"windows-sys 0.48.0",
]
@ -773,9 +778,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
[[package]]
name = "libc"
version = "0.2.147"
version = "0.2.155"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
[[package]]
name = "libloading"
@ -826,9 +831,9 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
[[package]]
name = "memoffset"
version = "0.7.1"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a"
dependencies = [
"autocfg",
]
@ -841,15 +846,26 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]]
name = "nix"
version = "0.26.2"
version = "0.26.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfdda3d196821d6af13126e40375cdf7da646a96114af134d5f417a9a1dc8e1a"
checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b"
dependencies = [
"bitflags 1.3.2",
"cfg-if",
"libc",
]
[[package]]
name = "nix"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
dependencies = [
"bitflags 2.4.0",
"cfg-if",
"cfg_aliases",
"libc",
"memoffset",
"static_assertions",
]
[[package]]

View file

@ -11,14 +11,14 @@ opus = ["bark-core/opus"]
bark-core = { workspace = true }
bark-protocol = { workspace = true }
alsa = "0.8.1"
alsa = "0.9"
bitflags = { workspace = true }
bytemuck = { workspace = true, features = ["extern_crate_alloc"] }
derive_more = { workspace = true }
env_logger = { version = "0.10", default-features = false, features = ["color", "auto-color", "humantime"] }
libc = "0.2.147"
libc = "0.2.155"
log = { workspace = true }
nix = { version = "0.26.2", features = ["time", "socket", "net", "poll", "user", "hostname"], default-features = false }
nix = { version = "0.29", features = ["time", "socket", "net", "poll", "user", "hostname"], default-features = false }
rand = "0.8.5"
serde = { version = "1.0.183", features = ["derive"] }
serde_json = "1.0.105"

View file

@ -2,7 +2,6 @@ use alsa::Direction;
use alsa::pcm::PCM;
use bark_core::audio::{Frame, self};
use bark_protocol::time::{Timestamp, SampleDuration};
use nix::errno::Errno;
use crate::audio::config::DeviceOpt;
use crate::audio::alsa::config::{self, OpenError};
@ -46,13 +45,13 @@ impl Input {
// handle recoverable errors
match err.errno() {
| Errno::EPIPE // underrun
| Errno::ESTRPIPE // stream suspended
| Errno::EINTR // interrupted syscall
| libc::EPIPE // underrun
| libc::ESTRPIPE // stream suspended
| libc::EINTR // interrupted syscall
=> {
log::warn!("recovering from error: {}", err.errno());
// try to recover
self.pcm.recover(err.errno() as i32, false)?;
self.pcm.recover(err.errno(), false)?;
}
_ => { return Err(err.into()); }
}

View file

@ -2,7 +2,6 @@ use alsa::Direction;
use alsa::pcm::PCM;
use bark_core::audio::{Frame, self};
use bark_protocol::time::SampleDuration;
use nix::errno::Errno;
use crate::audio::config::DeviceOpt;
use crate::audio::alsa::config::{self, OpenError};
@ -42,13 +41,13 @@ impl Output {
// handle recoverable errors
match err.errno() {
| Errno::EPIPE // underrun
| Errno::ESTRPIPE // stream suspended
| Errno::EINTR // interrupted syscall
| libc::EPIPE // underrun
| libc::ESTRPIPE // stream suspended
| libc::EINTR // interrupted syscall
=> {
log::warn!("recovering from error: {}", err.errno());
// try to recover
self.pcm.recover(err.errno() as i32, false)?;
self.pcm.recover(err.errno(), false)?;
}
_ => { return Err(err.into()); }
}

View file

@ -1,9 +1,9 @@
use std::io;
use std::net::{Ipv4Addr, UdpSocket, SocketAddr, SocketAddrV4};
use std::os::fd::AsRawFd;
use std::os::fd::AsFd;
use derive_more::Display;
use nix::poll::{PollFd, PollFlags};
use nix::poll::{PollFd, PollFlags, PollTimeout};
use socket2::{Domain, Type};
use structopt::StructOpt;
@ -77,11 +77,11 @@ impl Socket {
pub fn recv_from(&self, buf: &mut [u8]) -> Result<(usize, PeerId), io::Error> {
let mut poll = [
PollFd::new(self.tx.as_raw_fd(), PollFlags::POLLIN),
PollFd::new(self.rx.as_raw_fd(), PollFlags::POLLIN),
PollFd::new(self.tx.as_fd(), PollFlags::POLLIN),
PollFd::new(self.rx.as_fd(), PollFlags::POLLIN),
];
nix::poll::poll(&mut poll, -1)?;
nix::poll::poll(&mut poll, PollTimeout::NONE)?;
let (nbytes, addr) =
if poll[0].any() == Some(true) {