X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=src%2Fdemuxers%2Fmod.rs;h=42399bfac5fed16cbcfcf2269d6b591f63097689;hb=d4df9ee1ede2aafa2fee47f327683cbdf165bb6b;hp=dad92469901247191730a542c1cf734284692cd9;hpb=ce52b3b5f57c73d8d55373e635c383f4403e04a7;p=nihav.git diff --git a/src/demuxers/mod.rs b/src/demuxers/mod.rs index dad9246..42399bf 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,8 +219,8 @@ const DEMUXERS: &[&'static DemuxerCreator] = &[ &gdv::GDVDemuxerCreator {}, #[cfg(feature="demuxer_real")] &realmedia::RealMediaDemuxerCreator {}, -//#[cfg(feature="demuxer_real")] -// &realmedia::RealAudioDemuxerCreator {}, +#[cfg(feature="demuxer_real")] + &realmedia::RealAudioDemuxerCreator {}, //#[cfg(feature="demuxer_real")] // &realmedia::RealIVRDemuxerCreator {}, ]; @@ -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)) }