switch demuxers to use NAStream::make_ts()
[nihav.git] / nihav-llaudio / src / demuxers / flac.rs
index b941bf4b767f284d02a9cb8e60753ef03c4535a3..055f4fd378eabe7f400090a8592ad08fd547eaeb 100644 (file)
@@ -89,7 +89,7 @@ impl<'a> FLACDemuxer<'a> {
                         1 => 192,
                         2..=5 => 576 << (bsz_id - 2),
                         6 => {
-                            validate!(idx + 1 <= buf.len());
+                            validate!(idx < buf.len());
                             u64::from(buf[idx]) + 1
                         },
                         7 => {
@@ -99,9 +99,9 @@ impl<'a> FLACDemuxer<'a> {
                         _ => 256 << (bsz_id - 8),
                     };
                 let pts = u64::from(read_utf8(&buf[4..])?);
-              
+
                 validate!(idx < buf.len());
-                
+
                 (blksamps, pts)
             };
 
@@ -207,8 +207,7 @@ impl<'a> DemuxCore<'a> for FLACDemuxer<'a> {
         let (buf, pts, duration) = self.read_frame()?;
 
         let stream = strmgr.get_stream(0).unwrap();
-        let (tb_num, tb_den) = stream.get_timebase();
-        let ts = NATimeInfo::new(Some(pts), None, Some(duration), tb_num, tb_den);
+        let ts = stream.make_ts(Some(pts), None, Some(duration));
         let pkt = NAPacket::new(stream, ts, true, buf);
 
         Ok(pkt)
@@ -286,6 +285,7 @@ mod test {
 
     #[test]
     fn test_flac_demux() {
+        // sample: https://samples.mplayerhq.hu/A-codecs/lossless/luckynight.flac
         let mut file = File::open("assets/LLaudio/luckynight.flac").unwrap();
         let mut fr = FileReader::new_read(&mut file);
         let mut br = ByteReader::new(&mut fr);