From a1298b7a5dcf1656dfc9bdbf3d6c80df89a70fc8 Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Fri, 29 Oct 2021 14:07:55 +0200 Subject: [PATCH] core/frame: add proper function for audio frame truncation --- nihav-core/src/frame.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/nihav-core/src/frame.rs b/nihav-core/src/frame.rs index 5499de1..31cf8e8 100644 --- a/nihav-core/src/frame.rs +++ b/nihav-core/src/frame.rs @@ -390,6 +390,17 @@ impl NABufferType { _ => 0, } } + /// Truncates audio frame duration if possible. + pub fn truncate_audio(&mut self, len: usize) { + match *self { + NABufferType::AudioU8(ref mut ab) => ab.truncate(len), + NABufferType::AudioI16(ref mut ab) => ab.truncate(len), + NABufferType::AudioI32(ref mut ab) => ab.truncate(len), + NABufferType::AudioF32(ref mut ab) => ab.truncate(len), + NABufferType::AudioPacked(ref mut ab) => ab.truncate(len), + _ => {}, + }; + } /// Returns the distance between starts of two channels. pub fn get_audio_stride(&self) -> usize { match *self { -- 2.39.5