switch demuxers to use NAStream::make_ts()
[nihav.git] / nihav-llaudio / src / demuxers / wavpack.rs
index 9cd50fa76e807ee6fb2db59312c518f670cd30b5..2d92e7b7f1fe3041bd33c0d2d12a5642b1e73cef 100644 (file)
@@ -20,7 +20,7 @@ const WV_FLAG_END_BLOCK: u32    = 1 << 12;
 const WV_FLAG_FALSE_STEREO: u32 = 1 << 30;
 //const WV_FLAG_DSD_AUDIO: u32    = 1 << 31;
 
-const WV_STREAM_FLAGS: u32 = 0x8000018B;
+const WV_STREAM_FLAGS: u32 = 0x8000008B;
 
 #[derive(Clone,Copy,Default)]
 struct WVHeader {
@@ -189,8 +189,7 @@ impl<'a> DemuxCore<'a> for WavPackDemuxer<'a> {
             std::mem::swap(&mut fb, &mut self.first_blocks);
             let (refhdr, buf) = fb.unwrap();
             let stream = strmgr.get_stream(0).unwrap();
-            let (tb_num, tb_den) = stream.get_timebase();
-            let ts = NATimeInfo::new(Some(self.samplepos), None, None, tb_num, tb_den);
+            let ts = stream.make_ts(Some(self.samplepos), None, None);
             let pkt = NAPacket::new(stream, ts, true, buf);
 
             self.samplepos += u64::from(refhdr.block_samples);
@@ -205,8 +204,7 @@ impl<'a> DemuxCore<'a> for WavPackDemuxer<'a> {
         let (refhdr, buf) = self.read_blocks()?;
 
         let stream = strmgr.get_stream(0).unwrap();
-        let (tb_num, tb_den) = stream.get_timebase();
-        let ts = NATimeInfo::new(Some(self.samplepos), None, None, tb_num, tb_den);
+        let ts = stream.make_ts(Some(self.samplepos), None, None);
         let pkt = NAPacket::new(stream, ts, true, buf);
 
         self.samplepos += u64::from(refhdr.block_samples);
@@ -279,6 +277,7 @@ mod test {
 
     #[test]
     fn test_wavpack_demux() {
+        // sample from the official WavPack test samples set
         let mut file = File::open("assets/LLaudio/wv/false_stereo.wv").unwrap();
         let mut fr = FileReader::new_read(&mut file);
         let mut br = ByteReader::new(&mut fr);