aac: clear M/S flags
[nihav.git] / nihav-game / src / demuxers / q.rs
index 6c52ab893b74d7276302913170b5013fea65e43d..ebd93b2137b567fc934a9abcb32a40da812f328f 100644 (file)
@@ -61,7 +61,7 @@ impl<'a> DemuxCore<'a> for QDemuxer<'a> {
                     validate!(abits == 8 || abits == 16);
                     self.bps = (channels as usize) * abits / 8;
                     let bsize    = read_u16le(&buf[32..])? as usize;
-                    let ahdr = NAAudioInfo::new(arate, channels as u8, if abits == 16 { SND_S16_FORMAT } else { SND_U8_FORMAT }, bsize);
+                    let ahdr = NAAudioInfo::new(arate, channels, if abits == 16 { SND_S16_FORMAT } else { SND_U8_FORMAT }, bsize);
                     let ainfo = NACodecInfo::new("pcm", NACodecTypeInfo::Audio(ahdr), None);
                     self.a_id = strmgr.add_stream(NAStream::new(StreamType::Audio, 1, ainfo, 1, arate, 2));
                 }
@@ -81,11 +81,10 @@ impl<'a> DemuxCore<'a> for QDemuxer<'a> {
                 0xFFFF => return Err(DemuxerError::EOF),
                 0 => {
                     if let Some(a_id) = self.a_id {
-                        let str = strmgr.get_stream(a_id).unwrap();
-                        let (tb_num, tb_den) = str.get_timebase();
-                        let ts = NATimeInfo::new(Some(self.apts), None, None, tb_num, tb_den);
+                        let stream = strmgr.get_stream(a_id).unwrap();
+                        let ts = stream.make_ts(Some(self.apts), None, None);
                         self.apts += (size / self.bps) as u64;
-                        return self.src.read_packet(str, ts, true, size);
+                        return self.src.read_packet(stream, ts, true, size);
                     } else {
                                           self.src.read_skip(size)?;
                     }
@@ -100,9 +99,8 @@ impl<'a> DemuxCore<'a> for QDemuxer<'a> {
                 },
                 2 | 3 | 4 | 11 => {
                     validate!(self.v_id.is_some());
-                    let str = strmgr.get_stream(self.v_id.unwrap_or(0)).unwrap();
-                    let (tb_num, tb_den) = str.get_timebase();
-                    let ts = NATimeInfo::new(Some(self.vpts), None, None, tb_num, tb_den);
+                    let stream = strmgr.get_stream(self.v_id.unwrap_or(0)).unwrap();
+                    let ts = stream.make_ts(Some(self.vpts), None, None);
                     self.vpts += 1;
 
                     let cur_len = self.side_data.len();
@@ -116,7 +114,7 @@ impl<'a> DemuxCore<'a> for QDemuxer<'a> {
                     }
                     let mut buf = Vec::new();
                     std::mem::swap(&mut buf, &mut self.side_data);
-                    return Ok(NAPacket::new(str, ts, self.vpts == 1, buf));
+                    return Ok(NAPacket::new(stream, ts, self.vpts == 1, buf));
                 },
                 5 => {
                     validate!(size <= 256);