use super::*;
-use io::byteio::*;
-use frame::*;
+//use io::byteio::*;
+//use frame::*;
use formats::*;
//use std::collections::HashMap;
#[allow(dead_code)]
struct GremlinVideoDemuxer<'a> {
- opened: bool,
src: &'a mut ByteReader<'a>,
frames: u16,
cur_frame: u16,
self.apacked = (aflags & 8) != 0;
}
self.frames = frames;
- self.opened = true;
self.state = GDVState::NewFrame;
Ok(())
}
#[allow(unused_variables)]
fn get_frame(&mut self, strmgr: &mut StreamManager) -> DemuxerResult<NAPacket> {
- if !self.opened { return Err(DemuxerError::NoSuchInput); }
if self.cur_frame >= self.frames { return Err(DemuxerError::EOF); }
match self.state {
GDVState::NewFrame if self.asize > 0 => { self.read_achunk(strmgr) }
#[allow(unused_variables)]
fn seek(&mut self, time: u64) -> DemuxerResult<()> {
- if !self.opened { return Err(DemuxerError::NoSuchInput); }
Err(DemuxerError::NotImplemented)
}
}
GremlinVideoDemuxer {
cur_frame: 0,
frames: 0,
- opened: false,
asize: 0,
apacked: false,
state: GDVState::NewFrame,
fn read_vchunk(&mut self, strmgr: &mut StreamManager) -> DemuxerResult<NAPacket> {
let str = strmgr.get_stream(self.v_id.unwrap()).unwrap();
- let mut src = &mut self.src;
+ let src = &mut self.src;
let magic = src.read_u16be()?;
if magic != 0x0513 { return Err(DemuxerError::InvalidData); }
let size = (src.read_u16le()? as usize) + 4;