update nix to version 0.29
We will need this for the EventFd implementation. As this requires some
changes in the encoder code, do this as a separate commit.
diff --git a/Cargo.lock b/Cargo.lock
index be63a10..1071107 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -105,6 +105,12 @@
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
+name = "cfg_aliases"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
+
+[[package]]
name = "crc32fast"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -131,7 +137,7 @@
"log",
"matroska-demuxer",
"md5",
- "nix",
+ "nix 0.29.0",
"thiserror",
"v4l2r",
]
@@ -319,6 +325,18 @@
]
[[package]]
+name = "nix"
+version = "0.29.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46"
+dependencies = [
+ "bitflags 2.5.0",
+ "cfg-if",
+ "cfg_aliases",
+ "libc",
+]
+
+[[package]]
name = "pkg-config"
version = "0.3.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -444,13 +462,13 @@
[[package]]
name = "v4l2r"
version = "0.0.2"
-source = "git+https://github.com/Gnurou/v4l2r?rev=1b5db8e#1b5db8e1bb98283d98b1edd2b2ace931b44c825c"
+source = "git+https://github.com/Gnurou/v4l2r?rev=a8b368b#a8b368b3c7c058523b4bb448064bfee325cbdff3"
dependencies = [
"anyhow",
"bitflags 2.5.0",
"enumn",
"log",
- "nix",
+ "nix 0.27.1",
"thiserror",
]
diff --git a/Cargo.toml b/Cargo.toml
index e4c602a..d001a4a 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -19,11 +19,11 @@
bytes = "1.1.0"
enumn = "0.1.4"
libva = { git = "https://github.com/chromeos/cros-libva", rev = "843cef6", package = "cros-libva", optional = true }
-v4l2r = { git = "https://github.com/Gnurou/v4l2r", rev = "1b5db8e", package = "v4l2r", optional = true }
+v4l2r = { git = "https://github.com/Gnurou/v4l2r", rev = "a8b368b", package = "v4l2r", optional = true }
log = { version = "0", features = ["release_max_level_debug"] }
thiserror = "1.0.31"
crc32fast = "1.3.2"
-nix = { version = "0.27", features = ["fs"] }
+nix = { version = "0.29", features = ["fs"] }
[dev-dependencies]
argh = "0.1"
diff --git a/src/backend/v4l2/encoder.rs b/src/backend/v4l2/encoder.rs
index ba24d7d..d4cd0e0 100644
--- a/src/backend/v4l2/encoder.rs
+++ b/src/backend/v4l2/encoder.rs
@@ -8,7 +8,6 @@
use std::sync::Arc;
use nix::sys::stat::fstat;
-use nix::sys::time::TimeVal;
use thiserror::Error;
use v4l2r::bindings::v4l2_streamparm;
use v4l2r::controls::codec::VideoBitrate;
@@ -49,6 +48,8 @@
use v4l2r::memory::PlaneHandle;
use v4l2r::memory::PrimitiveBufferHandles;
use v4l2r::memory::UserPtrHandle;
+use v4l2r::nix::errno::Errno;
+use v4l2r::nix::sys::time::TimeVal;
use v4l2r::Format;
use v4l2r::PixelFormat;
use v4l2r::QueueDirection;
@@ -115,7 +116,7 @@
EncoderStart(#[from] ioctl::EncoderCmdError),
#[error(transparent)]
- CreatePoller(nix::Error),
+ CreatePoller(v4l2r::nix::Error),
#[error(transparent)]
SetSelection(ioctl::SSelectionError),
@@ -127,7 +128,7 @@
#[derive(Debug, Error)]
pub struct ControlError {
which: &'static str,
- error: nix::errno::Errno,
+ error: Errno,
}
impl std::fmt::Display for ControlError {
@@ -406,7 +407,7 @@
Ok(()) => (),
Err(ioctl::ExtControlError {
error_idx: _,
- error: ioctl::ExtControlErrorType::IoctlError(nix::errno::Errno::EINVAL),
+ error: ioctl::ExtControlErrorType::IoctlError(Errno::EINVAL),
}) => {
log::debug!("Setting/getting {name} control is not supported for this device");
return Ok(());
@@ -431,7 +432,7 @@
Ok(()) => (),
Err(ioctl::ExtControlError {
error_idx: _,
- error: ioctl::ExtControlErrorType::IoctlError(nix::errno::Errno::EINVAL),
+ error: ioctl::ExtControlErrorType::IoctlError(Errno::EINVAL),
}) => {
log::debug!("Setting/getting {name} control is not supported for this device");
return Ok(());