From ea6b10ba849c2b5778a9d10ad3d6103af058408e Mon Sep 17 00:00:00 2001 From: meh Date: Mon, 1 Jun 2015 16:57:04 +0200 Subject: [PATCH] util/frame/audio: change rate type to u32 --- src/util/frame/audio.rs | 12 ++++++------ src/util/samples.rs | 8 +++++++- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/util/frame/audio.rs b/src/util/frame/audio.rs index dea03b5..4718a6c 100644 --- a/src/util/frame/audio.rs +++ b/src/util/frame/audio.rs @@ -72,15 +72,15 @@ impl Audio { } } - pub fn rate(&self) -> i32 { + pub fn rate(&self) -> u32 { unsafe { - av_frame_get_sample_rate(self.ptr) + av_frame_get_sample_rate(self.ptr) as u32 } } - pub fn set_rate(&mut self, value: i32) { + pub fn set_rate(&mut self, value: u32) { unsafe { - av_frame_set_sample_rate(self.ptr, value); + av_frame_set_sample_rate(self.ptr, value as c_int); } } @@ -97,11 +97,11 @@ impl Audio { } pub fn samples(&self) -> Samples { - Samples::wrap(self.ptr as *mut AVPicture, self.format(), self.sample_number(), self.channels()) + Samples::wrap(self.ptr as *mut AVPicture, self.format(), self.rate(), self.sample_number(), self.channels()) } pub fn samples_mut(&mut self) -> Samples { - Samples::wrap(self.ptr as *mut AVPicture, self.format(), self.sample_number(), self.channels()) + Samples::wrap(self.ptr as *mut AVPicture, self.format(), self.rate(), self.sample_number(), self.channels()) } } diff --git a/src/util/samples.rs b/src/util/samples.rs index 373c991..dcd0d75 100644 --- a/src/util/samples.rs +++ b/src/util/samples.rs @@ -11,6 +11,7 @@ pub struct Samples<'a> { pub ptr: *mut AVPicture, format: Sample, + rate: u32, number: usize, channels: u16, @@ -18,11 +19,12 @@ pub struct Samples<'a> { } impl<'a> Samples<'a> { - pub fn wrap(ptr: *mut AVPicture, format: Sample, number: usize, channels: u16) -> Self { + pub fn wrap(ptr: *mut AVPicture, format: Sample, rate: u32, number: usize, channels: u16) -> Self { Samples { ptr: ptr, format: format, + rate: rate, number: number, channels: channels, @@ -34,6 +36,10 @@ impl<'a> Samples<'a> { self.format } + pub fn rate(&self) -> u32 { + self.rate + } + pub fn number(&self) -> usize { self.number }