#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_tca_demux() {
// a sample from RISC DISC 3
- let mut file = File::open("assets/Acorn/JUMPER").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = TCADemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- match dmx.get_frame(&mut sm) {
- Ok(pkt) => {
- println!("Got {pkt}");
- },
- Err(DemuxerError::EOF) => return,
- Err(_) => panic!("error"),
- }
- }
+ test_file_demux("assets/Acorn/JUMPER", &TCADemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_avi_demux() {
//test sample: https://samples.mplayerhq.hu/V-codecs/RT21/320x240/laser05.avi
- let mut file = File::open("assets/Indeo/laser05.avi").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = AVIDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Indeo/laser05.avi", &AVIDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_gif_demux() {
// sample: https://samples.mplayerhq.hu/image-samples/GIF/3D.gif
- let mut file = File::open("assets/Misc/3D.gif").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = GIFDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Misc/3D.gif", &GIFDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_wav_demux() {
// sample: https://samples.mplayerhq.hu/A-codecs/msadpcm-stereo/scatter.wav
- let mut file = File::open("assets/MS/scatter.wav").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = WAVDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/MS/scatter.wav", &WAVDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_y4m_demux() {
// sample: self-created with avconv
- let mut file = File::open("assets/Misc/test.y4m").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = Y4MDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Misc/test.y4m", &Y4MDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_ivf_demux() {
// sample is from the official VP8 test bitstream set
- let mut file = File::open("assets/Duck/VP8/vp80-00-comprehensive-001.ivf").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = IVFDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Duck/VP8/vp80-00-comprehensive-001.ivf", &IVFDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
+ use nihav_codec_support::test::dmx_test::*;
use std::fs::File;
// sample: https://samples.mplayerhq.hu/A-codecs/Nelly_Moser/input.flv
#[test]
fn test_flv_demux() {
- let mut file = File::open("assets/Flash/input.flv").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = FLVDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Flash/input.flv", &FLVDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
#[test]
fn test_flv_demux_back() {
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
// samples from https://samples.mplayerhq.hu/game-formats/bmv
#[test]
fn test_bmv_demux() {
- let mut file = File::open("assets/Game/DW2-MOUSE.BMV").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = BMVDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if (e as i32) == (DemuxerError::EOF as i32) { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Game/DW2-MOUSE.BMV", &BMVDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
#[test]
fn test_bmv3_demux() {
- let mut file = File::open("assets/Game/DW3-Loffnote.bmv").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = BMV3Demuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if (e as i32) == (DemuxerError::EOF as i32) { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Game/DW3-Loffnote.bmv", &BMV3DemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_gdv_demux() {
// sample from Normality game
- let mut file = File::open("assets/Game/intro1.gdv").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = GremlinVideoDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if (e as i32) == (DemuxerError::EOF as i32) { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Game/intro1.gdv", &GDVDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
// sample from King's Quest VI
#[test]
fn test_seq() {
- let mut file = File::open("assets/Game/sierra/FS1.SEQ").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = SequenceDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if (e as i32) == (DemuxerError::EOF as i32) { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Game/sierra/FS1.SEQ", &SequenceDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
fn test_sga_demux(name: &str) {
- let mut file = File::open(name).unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = SGADemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux(name, &SGADemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
#[test]
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_smush_demux_anim_v1() {
// sample from Rebel Assault game
- let mut file = File::open("assets/Game/smush/c1block.anm").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = SmushDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if (e as i32) == (DemuxerError::EOF as i32) { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Game/smush/c1block.anm", &SmushDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
#[test]
fn test_smush_demux_anim_v2() {
// sample from The Dig
- let mut file = File::open("assets/Game/smush/PIGOUT.SAN").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = SmushDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if (e as i32) == (DemuxerError::EOF as i32) { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Game/smush/PIGOUT.SAN", &SmushDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
#[test]
fn test_smush_demux_sanm() {
// sample from Grim Fandango
- let mut file = File::open("assets/Game/smush/lol.snm").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = SmushDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if (e as i32) == (DemuxerError::EOF as i32) { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Game/smush/lol.snm", &SmushDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
#[test]
fn test_mcmp_demux_imus() {
// sample from Grim Fandango
- let mut file = File::open("assets/Game/smush/1104 - Lupe.IMC").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = MCMPDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if (e as i32) == (DemuxerError::EOF as i32) { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Game/smush/1104 - Lupe.IMC", &MCMPDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
#[test]
fn test_mcmp_demux_wav() {
// sample from Grim Fandango
- let mut file = File::open("assets/Game/smush/breadpor.WAV").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = MCMPDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if (e as i32) == (DemuxerError::EOF as i32) { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Game/smush/breadpor.WAV", &MCMPDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_vmd_demux() {
// sample: https://samples.mplayerhq.hu/game-formats/sierra-vmd/Lighthouse/128.vmd
- let mut file = File::open("assets/Game/sierra/128.vmd").unwrap();
- //let mut file = File::open("assets/Game/1491.VMD").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = VMDDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if (e as i32) == (DemuxerError::EOF as i32) { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Game/sierra/128.vmd", &VMDDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_dvi_demux() {
// sample comes from a demo by Digital Video Arts
- let mut file = File::open("assets/Indeo/YULELOG.AVS").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = DVIDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Indeo/YULELOG.AVS", &DVIDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_ivf_demux() {
// sample is a trailer for Heart of Darkness game
- let mut file = File::open("assets/Indeo/TRAILERIIE.IVF").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = IVFDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Indeo/TRAILERIIE.IVF", &IVFDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_ape_demux() {
// sample: https://samples.mplayerhq.hu/A-codecs/lossless/luckynight.ape
- let mut file = File::open("assets/LLaudio/ape/luckynight.ape").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = APEDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if (e as i32) == (DemuxerError::EOF as i32) { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/LLaudio/ape/luckynight.ape", &APEDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_flac_demux() {
// sample: https://samples.mplayerhq.hu/A-codecs/lossless/luckynight.flac
- let mut file = File::open("assets/LLaudio/luckynight.flac").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = FLACDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if (e as i32) == (DemuxerError::EOF as i32) { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/LLaudio/luckynight.flac", &FLACDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_tta_demux() {
// sample: https://samples.mplayerhq.hu/A-codecs/lossless/luckynight.tta
- let mut file = File::open("assets/LLaudio/luckynight.tta").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = TTADemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if (e as i32) == (DemuxerError::EOF as i32) { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/LLaudio/luckynight.tta", &TTADemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_wavpack_demux() {
// sample from the official WavPack test samples set
- let mut file = File::open("assets/LLaudio/wv/false_stereo.wv").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = WavPackDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if (e as i32) == (DemuxerError::EOF as i32) { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/LLaudio/wv/false_stereo.wv", &WavPackDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_av_video_and_audio_demux() {
// sample can be found on various CD-Romek discs
- let mut file = File::open("assets/Misc/CURSOR01.AV").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = AVDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Misc/CURSOR01.AV", &AVDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
#[test]
fn test_av_video_demux() {
// sample can be found on various CD-Romek discs
- let mut file = File::open("assets/Misc/cursor04ns.av").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = AVDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Misc/cursor04ns.av", &AVDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_mvi_demux() {
// sample from AD&D Core Rules CD
- let mut file = File::open("assets/Misc/MP/avtest.mvi").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = MVIDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Misc/MP/avtest.mvi", &MVIDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_qpeg_demux() {
// sample from Inside Multimedia 1994 October
- let mut file = File::open("assets/Misc/club01.dvc").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = QPEGDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Misc/club01.dvc", &QPEGDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_teal_movie_demux() {
// sample bundled with TealMovie software
- let mut file = File::open("assets/Misc/ASTRONUT.PDB").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = TealMovieDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Misc/ASTRONUT.PDB", &TealMovieDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_avi_dib_demux() {
//test sample from the beta AVI SDK
- let mut file = File::open("assets/MS/CAR_CD.AVI").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = AVIDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/MS/CAR_CD.AVI", &AVIDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
//test samples from Apple Reference & Presentation Library 8
#[test]
fn test_warhol_single_desc() {
- let mut file = File::open("assets/QT/MultiTasking.movie").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = WarholDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/QT/MultiTasking.movie", &WarholDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
#[test]
fn test_warhol_multiple_desc() {
- let mut file = File::open("assets/QT/VirtualMemory.movie").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = WarholDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/QT/VirtualMemory.movie", &WarholDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_bink_demux() {
// sample: https://samples.mplayerhq.hu/game-formats/bink/ActivisionLogo.bik
- let mut file = File::open("assets/RAD/ActivisionLogo.bik").unwrap();
-// let mut file = File::open("assets/RAD/original.bik").unwrap();
-// let mut file = File::open("assets/RAD/Snd0a110c51.dee").unwrap();
-// let mut file = File::open("assets/RAD/NEW.BIK").unwrap();
-// let mut file = File::open("assets/RAD/ge_video_86l.bk2").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = BinkDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if (e as i32) == (DemuxerError::EOF as i32) { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ let file = "assets/RAD/ActivisionLogo.bik";
+// let file = "assets/RAD/original.bik";
+// let file = "assets/RAD/Snd0a110c51.dee";
+// let file = "assets/RAD/NEW.BIK";
+// let file = "assets/RAD/ge_video_86l.bk2";
+ test_file_demux(file, &BinkDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_smk_demux() {
// sample: https://samples.mplayerhq.hu/game-formats/smacker/20130507_audio-distortion.smk
- let mut file = File::open("assets/RAD/20130507_audio-distortion.smk").unwrap();
-// let mut file = File::open("assets/RAD/ajfstr1.smk").unwrap();
-// let mut file = File::open("assets/RAD/credits.smk").unwrap();
-// let mut file = File::open("assets/RAD/wetlogo.smk").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = SmackerVideoDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if (e as i32) == (DemuxerError::EOF as i32) { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ let file = "assets/RAD/20130507_audio-distortion.smk";
+// let file = "assets/RAD/ajfstr1.smk";
+// let file = "assets/RAD/credits.smk";
+// let file = "assets/RAD/wetlogo.smk";
+ test_file_demux(file, &SMKDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_rm_demux() {
// sample from a private collection
- let mut file =
- File::open("assets/RV/rv10_dnet_640x352_realvideo_encoder_4.0.rm").unwrap();
-// File::open("assets/RV/rv20_cook_640x352_realproducer_plus_8.51.rm").unwrap();
-// File::open("assets/RV/rv20_svt_atrc_640x352_realproducer_plus_8.51.rm").unwrap();
-// File::open("assets/RV/rv30_atrc_384x208_realproducer_plus_8.51.rm").unwrap();
-// File::open("assets/RV/rv30_chroma_drift.rm").unwrap();
-// File::open("assets/RV/rv30_weighted_mc.rm").unwrap();
-// File::open("assets/RV/rv40_weighted_mc.rmvb").unwrap();
-// File::open("assets/RV/rv40_weighted_mc_2.rmvb").unwrap();
-// File::open("assets/RV/clv1_sipr_384x208_realvideo_encoder_4.0.rm").unwrap();
-// File::open("assets/RV/luckynight.rmvb").unwrap();
-// File::open("assets/RV/rv40_ralf.rmvb").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = RealMediaDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ let file =
+ "assets/RV/rv10_dnet_640x352_realvideo_encoder_4.0.rm";
+// "assets/RV/rv20_cook_640x352_realproducer_plus_8.51.rm";
+// "assets/RV/rv20_svt_atrc_640x352_realproducer_plus_8.51.rm";
+// "assets/RV/rv30_atrc_384x208_realproducer_plus_8.51.rm";
+// "assets/RV/rv30_chroma_drift.rm";
+// "assets/RV/rv30_weighted_mc.rm";
+// "assets/RV/rv40_weighted_mc.rmvb";
+// "assets/RV/rv40_weighted_mc_2.rmvb";
+// "assets/RV/clv1_sipr_384x208_realvideo_encoder_4.0.rm";
+// "assets/RV/luckynight.rmvb";
+// "assets/RV/rv40_ralf.rmvb";
+ test_file_demux(file, &RealMediaDemuxerCreator{}, 0, DemuxerTestMode::Demux);
//panic!("the end");
}
#[test]
fn test_ra_demux() {
// sample: https://samples.mplayerhq.hu/real//RA/ra_with_comment_field/diemusik.ra
- let mut file =
-// File::open("assets/RV/welcome288.ra").unwrap();
- File::open("assets/RV/diemusik.ra").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = RealAudioDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
- }
+ let file =
+// "assets/RV/welcome288.ra";
+ "assets/RV/diemusik.ra";
+ test_file_demux(file, &RealAudioDemuxerCreator{}, 0, DemuxerTestMode::Demux);
+ }
#[test]
fn test_ivr_demux() {
// sample: https://samples.mplayerhq.hu/real/ivr/Opener_rm_hi.ivr
- let mut file =
- File::open("assets/RV/Opener_rm_hi.ivr").unwrap();
-// File::open("assets/RV/SherwinWilliamsCommercial.ivr").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = RealIVRDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
-
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if e == DemuxerError::EOF { break; }
- panic!("error");
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
- }
+ let file =
+ "assets/RV/Opener_rm_hi.ivr";
+// "assets/RV/SherwinWilliamsCommercial.ivr";
+ test_file_demux(file, &RealIVRDemuxerCreator{}, 0, DemuxerTestMode::Demux);
+ }
}
#[cfg(test)]
mod test {
use super::*;
- use std::fs::File;
+ use nihav_codec_support::test::dmx_test::*;
#[test]
fn test_vivo_demux() {
-// let mut file = File::open("assets/Misc/greetings.viv").unwrap();
// sample: https://samples.mplayerhq.hu/vivo/vivo2/favmovie.viv
- let mut file = File::open("assets/Misc/favmovie.viv").unwrap();
- let mut br = FileReader::new_read(&mut file);
- let mut dmx = VivoDemuxer::new(&mut br);
- let mut sm = StreamManager::new();
- let mut si = SeekIndex::new();
- dmx.open(&mut sm, &mut si).unwrap();
- loop {
- let pktres = dmx.get_frame(&mut sm);
- if let Err(e) = pktres {
- if (e as i32) == (DemuxerError::EOF as i32) { break; }
- panic!("error {:?}", e);
- }
- let pkt = pktres.unwrap();
- println!("Got {}", pkt);
- }
+ test_file_demux("assets/Misc/favmovie.viv", &VivoDemuxerCreator{}, 0, DemuxerTestMode::Demux);
}
}