X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=src%2Fdemuxers%2Fmod.rs;h=aaf92e4cf36d421b8eeb3befabb7e2aa20a884cd;hb=e189501ed92ffd55123f9fceb7e4c78ddf1be936;hp=d4d70a2f82e66673ed8e253c19660b9a473d4500;hpb=48c88fde06894a7692eb6350cbef12aa85d923f1;p=nihav.git diff --git a/src/demuxers/mod.rs b/src/demuxers/mod.rs index d4d70a2..aaf92e4 100644 --- a/src/demuxers/mod.rs +++ b/src/demuxers/mod.rs @@ -7,7 +7,7 @@ use std::rc::Rc; use frame::*; use io::byteio::*; -#[derive(Debug)] +#[derive(Debug,Clone,Copy,PartialEq)] #[allow(dead_code)] pub enum DemuxerError { EOF, @@ -29,18 +29,18 @@ pub trait Demux<'a> { } pub trait NAPacketReader { - fn read_packet(&mut self, str: Rc, pts: Option, dts: Option, dur: Option, keyframe: bool, size: usize) -> DemuxerResult; + fn read_packet(&mut self, str: Rc, ts: NATimeInfo, keyframe: bool, size: usize) -> DemuxerResult; fn fill_packet(&mut self, pkt: &mut NAPacket) -> DemuxerResult<()>; } impl<'a> NAPacketReader for ByteReader<'a> { - fn read_packet(&mut self, str: Rc, pts: Option, dts: Option, dur: Option, kf: bool, size: usize) -> DemuxerResult { + fn read_packet(&mut self, str: Rc, ts: NATimeInfo, kf: bool, size: usize) -> DemuxerResult { let mut buf: Vec = Vec::with_capacity(size); if buf.capacity() < size { return Err(DemuxerError::MemoryError); } buf.resize(size, 0); let res = self.read_buf(buf.as_mut_slice()); if let Err(_) = res { return Err(DemuxerError::IOError); } - let pkt = NAPacket::new(str, pts, dts, dur, kf, buf); + let pkt = NAPacket::new(str, ts, kf, buf); Ok(pkt) } fn fill_packet(&mut self, pkt: &mut NAPacket) -> DemuxerResult<()> {