Skip to main content

ff_render/
error.rs

1#[derive(Debug, thiserror::Error)]
2pub enum RenderError {
3    #[error("GPU device creation failed: {message}")]
4    DeviceCreation { message: String },
5
6    #[error("shader compile failed: {message}")]
7    ShaderCompile { message: String },
8
9    #[error("texture creation failed: width={width} height={height} reason={reason}")]
10    TextureCreation {
11        width: u32,
12        height: u32,
13        reason: String,
14    },
15
16    #[error("composite failed: {message}")]
17    Composite { message: String },
18
19    #[error("lut load failed: path={path} reason={reason}")]
20    LutLoad { path: String, reason: String },
21
22    #[error("unsupported pixel format: {format}")]
23    UnsupportedFormat { format: String },
24
25    #[error("gpu operation timed out: {operation}")]
26    GpuTimeout { operation: String },
27
28    #[error("ffmpeg error: {message} (code={code})")]
29    Ffmpeg { code: i32, message: String },
30
31    #[error("io error: {0}")]
32    Io(#[from] std::io::Error),
33}