switch to refcounted buffers
[nihav.git] / nihav-core / src / demuxers / mod.rs
index bfd492ae966c763b16df55a37db28d857040b016..48529d499b0e6a59d0bb3ac1f7d3e93698c1b740 100644 (file)
@@ -1,6 +1,6 @@
 use std::rc::Rc;
-use crate::frame::*;
-use crate::io::byteio::*;
+pub use crate::frame::*;
+pub use crate::io::byteio::*;
 
 #[derive(Debug,Clone,Copy,PartialEq)]
 #[allow(dead_code)]
@@ -39,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 buf = Rc::make_mut(&mut refbuf);
+        let buf = refbuf.as_mut().unwrap();
         let res = self.read_buf(buf.as_mut_slice());
         if let Err(_) = res { return Err(DemuxerError::IOError); }
         Ok(())
@@ -200,10 +200,6 @@ pub trait DemuxerCreator {
     fn get_name(&self) -> &'static str;
 }
 
-macro_rules! validate {
-    ($a:expr) => { if !$a { println!("check failed at {}:{}", file!(), line!()); return Err(DemuxerError::InvalidData); } };
-}
-
 pub fn create_demuxer<'a>(dmxcr: &DemuxerCreator, br: &'a mut ByteReader<'a>) -> DemuxerResult<Demuxer<'a>> {
     let mut dmx = dmxcr.new_demuxer(br);
     let mut str = StreamManager::new();
@@ -230,4 +226,4 @@ impl RegisteredDemuxers {
         }
         None
     }
-}
\ No newline at end of file
+}