validate!(channels > 0 && channels < 256);
validate!(bits > 0 && bits <= 32);
validate!(nframes > 0 && nframes < (1 << 28));
- validate!(seektab_len == nframes * 4);
+ validate!(seektab_len >= nframes * 4);
self.frames = Vec::with_capacity(nframes);
self.normal_blocks = blocksperframe;
let ahdr = NAAudioInfo::new(srate, channels as u8, SND_S16P_FORMAT, 1);
let ainfo = NACodecInfo::new("ape", NACodecTypeInfo::Audio(ahdr), Some(hdr));
- strmgr.add_stream(NAStream::new(StreamType::Audio, 0, ainfo, blocksperframe, srate)).unwrap();
+ strmgr.add_stream(NAStream::new(StreamType::Audio, 0, ainfo, blocksperframe, srate, nframes as u64)).unwrap();
self.cur_frame = 0;
Ok(())
}
+ fn get_duration(&self) -> u64 { 0 }
}
impl<'a> NAOptionHandler for APEDemuxer<'a> {