pub struct Device {
handle: Arc<Handle>,
}
Expand description
Linux capture device abstraction
Fields§
§handle: Arc<Handle>
Raw handle
Implementations§
source§impl Device
impl Device
sourcepub fn query_caps(&self) -> Result<Capabilities>
pub fn query_caps(&self) -> Result<Capabilities>
Returns video4linux framework defined information such as card, driver, etc.
sourcepub fn query_controls(&self) -> Result<Vec<Description>>
pub fn query_controls(&self) -> Result<Vec<Description>>
Returns the supported controls for a device such as gain, focus, white balance, etc.
sourcepub fn control(&self, desc: &Description) -> Result<Control>
pub fn control(&self, desc: &Description) -> Result<Control>
sourcepub fn set_control(&self, ctrl: Control) -> Result<()>
pub fn set_control(&self, ctrl: Control) -> Result<()>
Trait Implementations§
source§impl Capture for Device
impl Capture for Device
source§fn enum_frameintervals(
&self,
fourcc: FourCC,
width: u32,
height: u32,
) -> Result<Vec<FrameInterval>>
fn enum_frameintervals( &self, fourcc: FourCC, width: u32, height: u32, ) -> Result<Vec<FrameInterval>>
Returns a vector of all frame intervals that the device supports for the given pixel format
and frame size
source§fn enum_framesizes(&self, fourcc: FourCC) -> Result<Vec<FrameSize>>
fn enum_framesizes(&self, fourcc: FourCC) -> Result<Vec<FrameSize>>
Returns a vector of valid framesizes that the device supports for the given pixel format
source§fn enum_formats(&self) -> Result<Vec<FormatDescription>>
fn enum_formats(&self) -> Result<Vec<FormatDescription>>
Returns a vector of valid formats for this device Read more
source§fn set_format(&self, fmt: &Format) -> Result<Format>
fn set_format(&self, fmt: &Format) -> Result<Format>
Modifies the capture format and returns the actual format Read more
source§fn params(&self) -> Result<Parameters>
fn params(&self) -> Result<Parameters>
Returns the parameters currently in use
source§fn set_params(&self, params: &Parameters) -> Result<Parameters>
fn set_params(&self, params: &Parameters) -> Result<Parameters>
Modifies the capture parameters and returns the actual parameters Read more
source§impl Output for Device
impl Output for Device
source§fn enum_frameintervals(
&self,
fourcc: FourCC,
width: u32,
height: u32,
) -> Result<Vec<FrameInterval>>
fn enum_frameintervals( &self, fourcc: FourCC, width: u32, height: u32, ) -> Result<Vec<FrameInterval>>
Returns a vector of all frame intervals that the device supports for the given pixel format
and frame size
source§fn enum_framesizes(&self, fourcc: FourCC) -> Result<Vec<FrameSize>>
fn enum_framesizes(&self, fourcc: FourCC) -> Result<Vec<FrameSize>>
Returns a vector of valid framesizes that the device supports for the given pixel format
source§fn enum_formats(&self) -> Result<Vec<FormatDescription>>
fn enum_formats(&self) -> Result<Vec<FormatDescription>>
Returns a vector of valid formats for this device Read more
source§fn set_format(&self, fmt: &Format) -> Result<Format>
fn set_format(&self, fmt: &Format) -> Result<Format>
Modifies the capture format and returns the actual format Read more
source§fn params(&self) -> Result<Parameters>
fn params(&self) -> Result<Parameters>
Returns the parameters currently in use
source§fn set_params(&self, params: &Parameters) -> Result<Parameters>
fn set_params(&self, params: &Parameters) -> Result<Parameters>
Modifies the output parameters and returns the actual parameters Read more
source§impl Read for Device
impl Read for Device
source§fn read(&mut self, buf: &mut [u8]) -> Result<usize>
fn read(&mut self, buf: &mut [u8]) -> Result<usize>
Pull some bytes from this source into the specified buffer, returning
how many bytes were read. Read more
1.36.0 · source§fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>
Like
read
, except that it reads into a slice of buffers. Read moresource§fn is_read_vectored(&self) -> bool
fn is_read_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · source§fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>
Reads all bytes until EOF in this source, placing them into
buf
. Read more1.0.0 · source§fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>
Reads all bytes until EOF in this source, appending them to
buf
. Read more1.6.0 · source§fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>
Reads the exact number of bytes required to fill
buf
. Read moresource§fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf(&mut self, buf: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf
)Pull some bytes from this source into the specified buffer. Read more
source§fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
read_buf
)Reads the exact number of bytes required to fill
cursor
. Read more1.0.0 · source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Creates a “by reference” adaptor for this instance of
Read
. Read moresource§impl Write for Device
impl Write for Device
source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Writes a buffer into this writer, returning how many bytes were written. Read more
source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flushes this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector
)1.0.0 · source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored
)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations§
impl Freeze for Device
impl RefUnwindSafe for Device
impl Send for Device
impl Sync for Device
impl Unpin for Device
impl UnwindSafe for Device
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more