Skip to main content

nvenc/
error.rs

1// Copyright (C) The Strand-Braid Authors
2// SPDX-License-Identifier: MIT OR Apache-2.0
3
4use thiserror::Error;
5
6#[derive(Error, Debug)]
7pub enum NvEncError {
8    #[error("dynlink-cuda error`")]
9    DynlinkCudaError(#[from] dynlink_cuda::CudaError),
10    #[error("dynlink-nvidia-encode error")]
11    DynlinkNvidiaEncodeError(#[from] dynlink_nvidia_encode::NvencError),
12}
13
14#[cfg(test)]
15mod test {
16    #[test]
17    fn test_from_dynlink_cuda_error() {
18        let orig = dynlink_cuda::CudaError::ErrCode { status: 2 };
19        #[expect(unused_variables)]
20        let converted = crate::NvEncError::from(orig);
21    }
22
23    #[test]
24    fn test_from_dynlink_nvidia_encode_error() {
25        let status = 2;
26        let orig = dynlink_nvidia_encode::NvencError::ErrCode {
27            status,
28            line_num: line!(),
29            fname: file!(),
30            message: dynlink_nvidia_encode::error::code_to_string(status),
31        };
32        #[expect(unused_variables)]
33        let converted = crate::NvEncError::from(orig);
34    }
35}