#![forbid(unsafe_code)]
use mediaway_decoder::DecodeError;
use mediaway_encoder::EncodeError;
use thiserror::Error;
#[derive(Debug, Error)]
#[non_exhaustive]
pub enum WgpuInteropError {
#[error("wgpu interop unsupported on this platform")]
Unsupported,
#[error("wgpu resource is not backed by the expected native GPU API backend")]
HalUnavailable,
#[error("invalid wgpu interop input")]
InvalidInput,
#[error("encode backend bridge failure: {0}")]
Bridge(#[from] EncodeError),
#[error("decode backend bridge failure: {0}")]
DecodeBridge(#[from] DecodeError),
#[error("D3D11/D3D12 device adapter mismatch")]
AdapterMismatch,
}