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}