X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-rad%2Fsrc%2Fdemuxers%2Fbink.rs;h=dbf401f837436510e4b13723b072a3a89763b1fd;hb=11f1d51e5a08ce44ddcdc308fd2f6d942760e7d4;hp=454290fb1814fca5a853686918ecb412a8d324f7;hpb=24d998947d55228ec37a08cd391983c6239e3c0c;p=nihav.git diff --git a/nihav-rad/src/demuxers/bink.rs b/nihav-rad/src/demuxers/bink.rs index 454290f..dbf401f 100644 --- a/nihav-rad/src/demuxers/bink.rs +++ b/nihav-rad/src/demuxers/bink.rs @@ -20,7 +20,7 @@ impl AudioTrack { let mut edata: Vec = Vec::with_capacity(4); edata.extend_from_slice(&magic); let ainfo = NACodecInfo::new(codecname, NACodecTypeInfo::Audio(ahdr), Some(edata)); - let res = strmgr.add_stream(NAStream::new(StreamType::Audio, (str_id + 1) as u32, ainfo, 1, srate)); + let res = strmgr.add_stream(NAStream::new(StreamType::Audio, (str_id + 1) as u32, ainfo, 1, srate, 0)); validate!(res.is_some()); let id = res.unwrap(); Ok(Self{ id }) @@ -78,7 +78,7 @@ impl<'a> DemuxCore<'a> for BinkDemuxer<'a> { let vhdr = NAVideoInfo::new(width, height, false, YUV420_FORMAT); let codec = if magic[0] == b'K' && magic[1] == b'B' && magic[2] == b'2' { "bink2-video" } else { "bink-video" }; let vinfo = NACodecInfo::new(codec, NACodecTypeInfo::Video(vhdr), Some(edata)); - let res = strmgr.add_stream(NAStream::new(StreamType::Video, 0, vinfo, self.tb_num, self.tb_den)); + let res = strmgr.add_stream(NAStream::new(StreamType::Video, 0, vinfo, self.tb_num, self.tb_den, self.frames as u64)); validate!(res.is_some()); self.video_id = res.unwrap(); @@ -146,7 +146,7 @@ impl<'a> DemuxCore<'a> for BinkDemuxer<'a> { let stream = strres.unwrap(); let keyframe = (self.frame_pos[self.cur_frame] & 1) != 0; let ts = NATimeInfo::new(Some(self.cur_frame as u64), None, None, self.tb_num, self.tb_den); - let pkt = self.src.read_packet(stream.clone(), ts, keyframe, payload_size)?; + let pkt = self.src.read_packet(stream, ts, keyframe, payload_size)?; self.cur_frame += 1; @@ -163,6 +163,7 @@ impl<'a> DemuxCore<'a> for BinkDemuxer<'a> { self.cur_frame = seek_info.pts as usize; Ok(()) } + fn get_duration(&self) -> u64 { 0 } } impl<'a> NAOptionHandler for BinkDemuxer<'a> {