X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-mpeg%2Fsrc%2Fcodecs%2Fmpegaudio%2Fmod.rs;h=677e81b55049594d428d3066bc12f9587032c68d;hb=HEAD;hp=4d5455f6609bfd2ac27dfc34667faab7552d8da7;hpb=9f9a08fb5b882313f5d1ff4f909d4836f008b660;p=nihav.git diff --git a/nihav-mpeg/src/codecs/mpegaudio/mod.rs b/nihav-mpeg/src/codecs/mpegaudio/mod.rs index 4d5455f..e883df8 100644 --- a/nihav-mpeg/src/codecs/mpegaudio/mod.rs +++ b/nihav-mpeg/src/codecs/mpegaudio/mod.rs @@ -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