X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=src%2Fdemuxers%2Fmod.rs;h=347b7e3a50b321c39982e4c410e36a6c86106194;hb=47add47cb6a02a68e6e94755ba24ff348ca2065b;hp=dad92469901247191730a542c1cf734284692cd9;hpb=ce52b3b5f57c73d8d55373e635c383f4403e04a7;p=nihav.git diff --git a/src/demuxers/mod.rs b/src/demuxers/mod.rs index dad9246..347b7e3 100644 --- a/src/demuxers/mod.rs +++ b/src/demuxers/mod.rs @@ -11,6 +11,7 @@ pub enum DemuxerError { IOError, NotImplemented, MemoryError, + TryAgain, } type DemuxerResult = Result; @@ -38,7 +39,7 @@ impl<'a> NAPacketReader for ByteReader<'a> { } fn fill_packet(&mut self, pkt: &mut NAPacket) -> DemuxerResult<()> { let mut refbuf = pkt.get_buffer(); - let mut buf = Rc::make_mut(&mut refbuf); + let buf = Rc::make_mut(&mut refbuf); let res = self.read_buf(buf.as_mut_slice()); if let Err(_) = res { return Err(DemuxerError::IOError); } Ok(()) @@ -200,7 +201,7 @@ pub trait DemuxerCreator { } macro_rules! validate { - ($a:expr) => { if !$a { return Err(DemuxerError::InvalidData); } }; + ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DemuxerError::InvalidData); } }; } #[cfg(feature="demuxer_gdv")] @@ -218,10 +219,10 @@ const DEMUXERS: &[&'static DemuxerCreator] = &[ &gdv::GDVDemuxerCreator {}, #[cfg(feature="demuxer_real")] &realmedia::RealMediaDemuxerCreator {}, -//#[cfg(feature="demuxer_real")] -// &realmedia::RealAudioDemuxerCreator {}, -//#[cfg(feature="demuxer_real")] -// &realmedia::RealIVRDemuxerCreator {}, +#[cfg(feature="demuxer_real")] + &realmedia::RealAudioDemuxerCreator {}, +#[cfg(feature="demuxer_real")] + &realmedia::RealIVRDemuxerCreator {}, ]; pub fn find_demuxer(name: &str) -> Option<&DemuxerCreator> { @@ -236,6 +237,6 @@ pub fn find_demuxer(name: &str) -> Option<&DemuxerCreator> { pub fn create_demuxer<'a>(dmxcr: &DemuxerCreator, br: &'a mut ByteReader<'a>) -> DemuxerResult> { let mut dmx = dmxcr.new_demuxer(br); let mut str = StreamManager::new(); - dmx.open(&mut str)?; + dmx.open(&mut str)?; Ok(Demuxer::new(dmx, str)) }