X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-llaudio%2Fsrc%2Fdemuxers%2Fape.rs;h=10ebc07a3648fd61525e725488a41e35ae297bc1;hp=2969c786d9e5750a4fb2e5f13dcac8616e4b223f;hb=a480a0de101483d802a11e72d758dae00fa4860a;hpb=87927c5732b39bb23209486bed8d7bb7fc56b92e diff --git a/nihav-llaudio/src/demuxers/ape.rs b/nihav-llaudio/src/demuxers/ape.rs index 2969c78..10ebc07 100644 --- a/nihav-llaudio/src/demuxers/ape.rs +++ b/nihav-llaudio/src/demuxers/ape.rs @@ -114,7 +114,7 @@ impl<'a> DemuxCore<'a> for APEDemuxer<'a> { 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; @@ -178,7 +178,7 @@ impl<'a> DemuxCore<'a> for APEDemuxer<'a> { 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; @@ -223,6 +223,7 @@ impl<'a> DemuxCore<'a> for APEDemuxer<'a> { Ok(()) } + fn get_duration(&self) -> u64 { 0 } } impl<'a> NAOptionHandler for APEDemuxer<'a> {