Skip to main content

waycap_rs/
utils.rs

1#[cfg(feature = "nvidia")]
2use crate::types::{
3    error::Result,
4    video_frame::{DmaBufPlane, RawVideoFrame},
5};
6
7pub const TIME_UNIT_NS: u64 = 1_000_000_000;
8
9#[cfg(feature = "nvidia")]
10pub fn extract_dmabuf_planes(raw_frame: &RawVideoFrame) -> Result<Vec<DmaBufPlane>> {
11    match raw_frame.dmabuf_fd {
12        Some(fd) => Ok(vec![DmaBufPlane {
13            fd,
14            offset: raw_frame.offset,
15            stride: raw_frame.stride as u32,
16        }]),
17        None => Err("No DMA-BUF file descriptor in frame".into()),
18    }
19}