aac: clear M/S flags
[nihav.git] / nihav-game / src / demuxers / imax.rs
index ad427dd52859174dc33a611d13aad9dc68daf907..999ea1ae9d49292c7385775ce0a3d5793b97c9e7 100644 (file)
@@ -48,11 +48,10 @@ impl<'a> DemuxCore<'a> for IMAXDemuxer<'a> {
 
             match ftype {
                 0xAA97 => {
-                    let str = strmgr.get_stream(self.v_id).unwrap();
-                    let (tb_num, tb_den) = str.get_timebase();
-                    let ts = NATimeInfo::new(Some(self.cur_frame), None, None, tb_num, tb_den);
+                    let stream = strmgr.get_stream(self.v_id).unwrap();
+                    let ts = stream.make_ts(Some(self.cur_frame), None, None);
                     self.cur_frame += 1;
-                    let mut pkt = self.src.read_packet(str, ts, true, fsize)?;
+                    let mut pkt = self.src.read_packet(stream, ts, true, fsize)?;
                     pkt.add_side_data(NASideData::Palette(self.pal_change, self.pal.clone()));
                     self.pal_change = false;
                     return Ok(pkt);
@@ -72,11 +71,10 @@ impl<'a> DemuxCore<'a> for IMAXDemuxer<'a> {
                     self.pal_change = true;
                 },
                 0xAA99 => {
-                    let str = strmgr.get_stream(self.a_id).unwrap();
-                    let (tb_num, tb_den) = str.get_timebase();
-                    let ts = NATimeInfo::new(Some(self.apos), None, None, tb_num, tb_den);
+                    let stream = strmgr.get_stream(self.a_id).unwrap();
+                    let ts = stream.make_ts(Some(self.apos), None, None);
                     self.apos += fsize as u64;
-                    return self.src.read_packet(str, ts, true, fsize);
+                    return self.src.read_packet(stream, ts, true, fsize);
                 },
                 0xAAFF => return Err(DemuxerError::EOF),
                 _ => return Err(DemuxerError::InvalidData),
@@ -124,6 +122,7 @@ mod test {
 
     #[test]
     fn test_imax_demux() {
+        // sample from Fable game
         let mut file = File::open("assets/Game/present.imx").unwrap();
         let mut fr = FileReader::new_read(&mut file);
         let mut br = ByteReader::new(&mut fr);