From 0e83f8a0c4f119b90073e839bcf71aec8cd4f9a2 Mon Sep 17 00:00:00 2001 From: lummax Date: Mon, 31 Aug 2015 22:53:23 +0200 Subject: [PATCH] encoder/audio: add `set_channels()` For this a method for `ChannelLayout` to retrieve the number of channels was also added. --- src/codec/encoder/audio.rs | 6 ++++++ src/util/channel_layout.rs | 8 ++++++++ 2 files changed, 14 insertions(+) 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()) + } + } +}