use super::VideoCodec;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub struct CodecCapability {
pub codec: VideoCodec,
pub supported: bool,
pub hardware_accelerated: bool,
pub hardware_acceleration_known: bool,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct DecoderCapabilities {
pub backend: &'static str,
pub codecs: Vec<CodecCapability>,
pub native_surfaces: bool,
}
impl DecoderCapabilities {
pub fn codec(&self, codec: VideoCodec) -> Option<CodecCapability> {
self.codecs
.iter()
.copied()
.find(|entry| entry.codec == codec)
}
}