diff --git a/src/codec/encoder/audio.rs b/src/codec/encoder/audio.rs index 4dcec93..67a583f 100644 --- a/src/codec/encoder/audio.rs +++ b/src/codec/encoder/audio.rs @@ -66,6 +66,12 @@ impl Audio { (*self.as_mut_ptr()).channel_layout = value.bits(); } } + + pub fn set_channels(&mut self, value: i32) { + unsafe { + (*self.as_mut_ptr()).channels = value; + } + } } impl Deref for Audio { diff --git a/src/util/channel_layout.rs b/src/util/channel_layout.rs index cd3b505..a5f1677 100644 --- a/src/util/channel_layout.rs +++ b/src/util/channel_layout.rs @@ -59,3 +59,11 @@ bitflags! { const STEREO_DOWNMIX = STEREO_LEFT.bits | STEREO_RIGHT.bits, } } + +impl ChannelLayout { + pub fn channels(&self) -> i32 { + unsafe { + av_get_channel_layout_nb_channels(self.bits()) + } + } +}