X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-llaudio%2Fsrc%2Fdemuxers%2Fflac.rs;h=0b917dd7e6ab077cd3dc6372dd83db5c986e56b5;hb=c1e14623891356ce5b2c79666a2d5c38b220764b;hp=3d6bca2c49b74ca7967d78b5feda444a9072c2d2;hpb=1fb2da784666ce932a2a59e55f0ba8f1cba2e841;p=nihav.git diff --git a/nihav-llaudio/src/demuxers/flac.rs b/nihav-llaudio/src/demuxers/flac.rs index 3d6bca2..0b917dd 100644 --- a/nihav-llaudio/src/demuxers/flac.rs +++ b/nihav-llaudio/src/demuxers/flac.rs @@ -177,7 +177,7 @@ impl<'a> DemuxCore<'a> for FLACDemuxer<'a> { let base = if self.blk_samples != 0 { u32::from(self.blk_samples) } else { 1 }; let ahdr = NAAudioInfo::new(srate, channels as u8, SND_S16P_FORMAT, base as usize); let ainfo = NACodecInfo::new("flac", NACodecTypeInfo::Audio(ahdr), Some(streaminfo)); - strmgr.add_stream(NAStream::new(StreamType::Audio, 0, ainfo, base, srate)).unwrap(); + strmgr.add_stream(NAStream::new(StreamType::Audio, 0, ainfo, base, srate, 0)).unwrap(); Ok(()) } @@ -202,7 +202,7 @@ impl<'a> DemuxCore<'a> for FLACDemuxer<'a> { self.src.seek(SeekFrom::Start(self.data_start + seek_info.pos))?; Ok(()) } else if let NATimePoint::Milliseconds(ms) = time { - let samppos = NATimeInfo::time_to_ts(ms, 1000, self.srate, 1); + let samppos = NATimeInfo::time_to_ts(ms, 1000, 1, self.srate); if self.known_frames.last().unwrap_or(&FrameSeekInfo::default()).sampleend >= samppos { for point in self.known_frames.iter().rev() { if point.samplepos <= samppos { @@ -239,6 +239,7 @@ impl<'a> DemuxCore<'a> for FLACDemuxer<'a> { Err(DemuxerError::NotPossible) } } + fn get_duration(&self) -> u64 { self.tot_samples * 1000 / u64::from(self.srate) } } impl<'a> NAOptionHandler for FLACDemuxer<'a> {