X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-core%2Fsrc%2Fframe.rs;h=fbccfbee0a5d3106f0e14f323110548e669d202c;hb=73f0f89ff3a3616a8e65b5a31c2303725994c56a;hp=9423b0ee8e475e5a87086a808fdb37cc9d4a1517;hpb=4c05fc3e4513ba3789dcc237493abcbe74d548e3;p=nihav.git diff --git a/nihav-core/src/frame.rs b/nihav-core/src/frame.rs index 9423b0e..fbccfbe 100644 --- a/nihav-core/src/frame.rs +++ b/nihav-core/src/frame.rs @@ -251,6 +251,12 @@ impl NAAudioBuffer { } /// Return the length of frame in samples. pub fn get_length(&self) -> usize { self.len } + /// Truncates buffer length if possible. + /// + /// In case when new length is larger than old length nothing is done. + pub fn truncate(&mut self, new_len: usize) { + self.len = self.len.min(new_len); + } fn print_contents(&self, datatype: &str) { println!("Audio buffer with {} data, stride {}, step {}", datatype, self.stride, self.step); @@ -973,7 +979,7 @@ impl NATimeInfo { } } } - fn get_cur_ts(&self) -> u64 { self.pts.unwrap_or(self.dts.unwrap_or(0)) } + fn get_cur_ts(&self) -> u64 { self.pts.unwrap_or_else(|| self.dts.unwrap_or(0)) } fn get_cur_millis(&self) -> u64 { let ts = self.get_cur_ts(); Self::ts_to_time(ts, 1000, self.tb_num, self.tb_den)