diff --git a/src/codec/context.rs b/src/codec/context.rs index b5c6c36..3114006 100644 --- a/src/codec/context.rs +++ b/src/codec/context.rs @@ -4,7 +4,7 @@ use std::ptr; use ffi::*; use ::media; use ::{Error, Codec, Dictionary}; -use super::Id; +use super::{Id, Debug, Compliance}; use super::decoder::Decoder; use super::encoder::Encoder; @@ -83,6 +83,30 @@ impl Context { Id::from((*self.ptr).codec_id) } } + + pub fn bit_rate(&self) -> usize { + unsafe { + (*self.ptr).bit_rate as usize + } + } + + pub fn delay(&self) -> usize { + unsafe { + (*self.ptr).delay as usize + } + } + + pub fn compliance(&mut self, value: Compliance) { + unsafe { + (*self.ptr).strict_std_compliance = value.into(); + } + } + + pub fn debug(&mut self, value: Debug) { + unsafe { + (*self.ptr).debug = value.bits(); + } + } } impl Drop for Context {