aac: clear M/S flags
[nihav.git] / nihav-mpeg / src / codecs / mpegaudio / mod.rs
index 4d5455f6609bfd2ac27dfc34667faab7552d8da7..e883df80a66c21caae6820c946ff645849c23f2a 100644 (file)
@@ -81,7 +81,7 @@ impl MPADecoder {
             ctx.mpeg1 = self.sf_idx < 3;
             ctx.sf_idx = self.sf_idx;
             ctx.read_mp3_side_data(br, channels)?;
-            let hdr_size = (br.tell() / 8) as usize;
+            let hdr_size = br.tell() / 8;
             let add_len = src.len() - hdr_size;
             if self.bytebuf.len() + add_len > BYTEBUF_SIZE {
                 self.bytebuf.drain(..self.bytebuf.len() + add_len - BYTEBUF_SIZE);
@@ -328,20 +328,20 @@ impl MPAPacketiser {
         let mut br = BitReader::new(&self.buf[off..], BitReaderMode::BE);
 
         let syncword                = br.read(11)?;
-        validate!(syncword == 0x7FF);
+        if syncword != 0x7FF { return Err(DecoderError::InvalidData); }
         let id                      = br.read(2)?;
-        validate!(id != 1);
+        if id == 1 { return Err(DecoderError::InvalidData); }
         let layer                   = (br.read(2)? ^ 3) as u8;
-        validate!(layer != 3);
+        if layer == 3 { return Err(DecoderError::InvalidData); }
         let _protection             = br.read_bool()?;
         let bitrate_index           = br.read(4)? as usize;
-        validate!(bitrate_index < 15);
+        if bitrate_index == 15 { return Err(DecoderError::InvalidData); }
         if bitrate_index == 0 {
             //todo freeform eventually
             unimplemented!();
         }
         let mut sf_idx              = br.read(2)? as usize;
-        validate!(sf_idx != 3);
+        if sf_idx == 3 { return Err(DecoderError::InvalidData); }
         let padding                 = br.read_bool()?;
         let _private                = br.read_bool()?;
         let mode                    = br.read(2)? as u8;
@@ -373,6 +373,7 @@ impl MPAPacketiser {
 }
 
 impl NAPacketiser for MPAPacketiser {
+    fn attach_stream(&mut self, _stream: NAStreamRef) {}
     fn add_data(&mut self, src: &[u8]) -> bool {
         self.buf.extend_from_slice(src);
         self.buf.len() < 4096