From 4ceb5a7c295a2ed81f148ba28dafc2b17a7d0f2f Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Fri, 3 Apr 2026 18:42:54 +0200 Subject: [PATCH] use test_file_demux() function in the demuxer tests --- nihav-acorn/src/demuxers/tca.rs | 19 +---- nihav-commonfmt/src/demuxers/avi.rs | 19 +---- nihav-commonfmt/src/demuxers/gif.rs | 19 +---- nihav-commonfmt/src/demuxers/wav.rs | 19 +---- nihav-commonfmt/src/demuxers/y4m.rs | 19 +---- nihav-duck/src/demuxers/ivf.rs | 19 +---- nihav-flash/src/demuxers/flv.rs | 18 +---- nihav-game/src/demuxers/bmv.rs | 34 +-------- nihav-game/src/demuxers/gdv.rs | 18 +---- nihav-game/src/demuxers/seq.rs | 18 +---- nihav-game/src/demuxers/sga.rs | 18 +---- nihav-game/src/demuxers/smush.rs | 82 ++------------------- nihav-game/src/demuxers/vmd.rs | 19 +---- nihav-indeo/src/demuxers/dvi.rs | 19 +---- nihav-indeo/src/demuxers/ivf.rs | 19 +---- nihav-llaudio/src/demuxers/ape.rs | 18 +---- nihav-llaudio/src/demuxers/flac.rs | 18 +---- nihav-llaudio/src/demuxers/tta.rs | 18 +---- nihav-llaudio/src/demuxers/wavpack.rs | 18 +---- nihav-misc/src/demuxers/av.rs | 36 +-------- nihav-misc/src/demuxers/mvi.rs | 19 +---- nihav-misc/src/demuxers/qpeg.rs | 19 +---- nihav-misc/src/demuxers/tealmov.rs | 19 +---- nihav-ms/src/demuxers/avidib.rs | 19 +---- nihav-qt/src/demuxers/warhol.rs | 36 +-------- nihav-rad/src/demuxers/bink.rs | 27 ++----- nihav-rad/src/demuxers/smacker.rs | 25 ++----- nihav-realmedia/src/demuxers/realmedia.rs | 90 ++++++----------------- nihav-vivo/src/demuxers/vivo.rs | 19 +---- 29 files changed, 96 insertions(+), 644 deletions(-) diff --git a/nihav-acorn/src/demuxers/tca.rs b/nihav-acorn/src/demuxers/tca.rs index 16c8cff..52699f3 100644 --- a/nihav-acorn/src/demuxers/tca.rs +++ b/nihav-acorn/src/demuxers/tca.rs @@ -224,26 +224,11 @@ impl TCACoreDemuxer { #[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); } } diff --git a/nihav-commonfmt/src/demuxers/avi.rs b/nihav-commonfmt/src/demuxers/avi.rs index 43b4874..35eddb4 100644 --- a/nihav-commonfmt/src/demuxers/avi.rs +++ b/nihav-commonfmt/src/demuxers/avi.rs @@ -1113,26 +1113,11 @@ impl DemuxerCreator for AVIDemuxerCreator { #[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); } } diff --git a/nihav-commonfmt/src/demuxers/gif.rs b/nihav-commonfmt/src/demuxers/gif.rs index fd4b0b3..6fb0f2a 100644 --- a/nihav-commonfmt/src/demuxers/gif.rs +++ b/nihav-commonfmt/src/demuxers/gif.rs @@ -171,26 +171,11 @@ impl DemuxerCreator for GIFDemuxerCreator { #[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); } } diff --git a/nihav-commonfmt/src/demuxers/wav.rs b/nihav-commonfmt/src/demuxers/wav.rs index 799a4bc..f33b298 100644 --- a/nihav-commonfmt/src/demuxers/wav.rs +++ b/nihav-commonfmt/src/demuxers/wav.rs @@ -255,26 +255,11 @@ impl DemuxerCreator for WAVDemuxerCreator { #[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); } } diff --git a/nihav-commonfmt/src/demuxers/y4m.rs b/nihav-commonfmt/src/demuxers/y4m.rs index 0fe0976..f341251 100644 --- a/nihav-commonfmt/src/demuxers/y4m.rs +++ b/nihav-commonfmt/src/demuxers/y4m.rs @@ -187,26 +187,11 @@ impl DemuxerCreator for Y4MDemuxerCreator { #[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); } } diff --git a/nihav-duck/src/demuxers/ivf.rs b/nihav-duck/src/demuxers/ivf.rs index 9824612..8ed287a 100644 --- a/nihav-duck/src/demuxers/ivf.rs +++ b/nihav-duck/src/demuxers/ivf.rs @@ -92,26 +92,11 @@ impl DemuxerCreator for IVFDemuxerCreator { #[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); } } diff --git a/nihav-flash/src/demuxers/flv.rs b/nihav-flash/src/demuxers/flv.rs index c3a9a1d..98b26e6 100644 --- a/nihav-flash/src/demuxers/flv.rs +++ b/nihav-flash/src/demuxers/flv.rs @@ -469,27 +469,13 @@ impl DemuxerCreator for FLVDemuxerCreator { #[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() { diff --git a/nihav-game/src/demuxers/bmv.rs b/nihav-game/src/demuxers/bmv.rs index 913b8e8..8aff356 100644 --- a/nihav-game/src/demuxers/bmv.rs +++ b/nihav-game/src/demuxers/bmv.rs @@ -249,43 +249,15 @@ impl DemuxerCreator for BMV3DemuxerCreator { #[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); } } diff --git a/nihav-game/src/demuxers/gdv.rs b/nihav-game/src/demuxers/gdv.rs index 9d9efc4..b1e9c12 100644 --- a/nihav-game/src/demuxers/gdv.rs +++ b/nihav-game/src/demuxers/gdv.rs @@ -164,25 +164,11 @@ impl DemuxerCreator for GDVDemuxerCreator { #[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); } } diff --git a/nihav-game/src/demuxers/seq.rs b/nihav-game/src/demuxers/seq.rs index eeb9c78..804f182 100644 --- a/nihav-game/src/demuxers/seq.rs +++ b/nihav-game/src/demuxers/seq.rs @@ -85,25 +85,11 @@ impl DemuxerCreator for SequenceDemuxerCreator { #[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); } } diff --git a/nihav-game/src/demuxers/sga.rs b/nihav-game/src/demuxers/sga.rs index a0f1927..3591b6b 100644 --- a/nihav-game/src/demuxers/sga.rs +++ b/nihav-game/src/demuxers/sga.rs @@ -361,24 +361,10 @@ impl DemuxerCreator for SGADemuxerCreator { #[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] diff --git a/nihav-game/src/demuxers/smush.rs b/nihav-game/src/demuxers/smush.rs index 92eb19a..bd0bdaf 100644 --- a/nihav-game/src/demuxers/smush.rs +++ b/nihav-game/src/demuxers/smush.rs @@ -647,101 +647,31 @@ impl DemuxerCreator for MCMPDemuxerCreator { #[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); } } diff --git a/nihav-game/src/demuxers/vmd.rs b/nihav-game/src/demuxers/vmd.rs index 41c14aa..4583be4 100644 --- a/nihav-game/src/demuxers/vmd.rs +++ b/nihav-game/src/demuxers/vmd.rs @@ -257,26 +257,11 @@ impl DemuxerCreator for VMDDemuxerCreator { #[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); } } diff --git a/nihav-indeo/src/demuxers/dvi.rs b/nihav-indeo/src/demuxers/dvi.rs index 39bd709..86adc1b 100644 --- a/nihav-indeo/src/demuxers/dvi.rs +++ b/nihav-indeo/src/demuxers/dvi.rs @@ -271,26 +271,11 @@ impl DemuxerCreator for DVIDemuxerCreator { #[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); } } diff --git a/nihav-indeo/src/demuxers/ivf.rs b/nihav-indeo/src/demuxers/ivf.rs index 9c9bd30..25a9a26 100644 --- a/nihav-indeo/src/demuxers/ivf.rs +++ b/nihav-indeo/src/demuxers/ivf.rs @@ -252,26 +252,11 @@ impl DemuxerCreator for IVFDemuxerCreator { #[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); } } diff --git a/nihav-llaudio/src/demuxers/ape.rs b/nihav-llaudio/src/demuxers/ape.rs index 8cf01d8..c2eddb5 100644 --- a/nihav-llaudio/src/demuxers/ape.rs +++ b/nihav-llaudio/src/demuxers/ape.rs @@ -246,25 +246,11 @@ impl DemuxerCreator for APEDemuxerCreator { #[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); } } diff --git a/nihav-llaudio/src/demuxers/flac.rs b/nihav-llaudio/src/demuxers/flac.rs index e42c6aa..496c7bf 100644 --- a/nihav-llaudio/src/demuxers/flac.rs +++ b/nihav-llaudio/src/demuxers/flac.rs @@ -296,26 +296,12 @@ impl DemuxerCreator for FLACDemuxerCreator { #[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); } } diff --git a/nihav-llaudio/src/demuxers/tta.rs b/nihav-llaudio/src/demuxers/tta.rs index 824ada6..7cb4d5c 100644 --- a/nihav-llaudio/src/demuxers/tta.rs +++ b/nihav-llaudio/src/demuxers/tta.rs @@ -119,25 +119,11 @@ impl DemuxerCreator for TTADemuxerCreator { #[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); } } diff --git a/nihav-llaudio/src/demuxers/wavpack.rs b/nihav-llaudio/src/demuxers/wavpack.rs index 9ceaf25..21db6de 100644 --- a/nihav-llaudio/src/demuxers/wavpack.rs +++ b/nihav-llaudio/src/demuxers/wavpack.rs @@ -273,25 +273,11 @@ impl DemuxerCreator for WavPackDemuxerCreator { #[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); } } diff --git a/nihav-misc/src/demuxers/av.rs b/nihav-misc/src/demuxers/av.rs index f347349..1138d2f 100644 --- a/nihav-misc/src/demuxers/av.rs +++ b/nihav-misc/src/demuxers/av.rs @@ -242,46 +242,16 @@ impl DemuxerCreator for AVDemuxerCreator { #[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); } } diff --git a/nihav-misc/src/demuxers/mvi.rs b/nihav-misc/src/demuxers/mvi.rs index 48856ac..ff67e56 100644 --- a/nihav-misc/src/demuxers/mvi.rs +++ b/nihav-misc/src/demuxers/mvi.rs @@ -143,26 +143,11 @@ impl DemuxerCreator for MVIDemuxerCreator { #[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); } } diff --git a/nihav-misc/src/demuxers/qpeg.rs b/nihav-misc/src/demuxers/qpeg.rs index c43fc86..2dbe7f3 100644 --- a/nihav-misc/src/demuxers/qpeg.rs +++ b/nihav-misc/src/demuxers/qpeg.rs @@ -77,26 +77,11 @@ impl DemuxerCreator for QPEGDemuxerCreator { #[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); } } diff --git a/nihav-misc/src/demuxers/tealmov.rs b/nihav-misc/src/demuxers/tealmov.rs index 0634c96..164c5a5 100644 --- a/nihav-misc/src/demuxers/tealmov.rs +++ b/nihav-misc/src/demuxers/tealmov.rs @@ -327,26 +327,11 @@ impl DemuxerCreator for TealMovieDemuxerCreator { #[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); } } diff --git a/nihav-ms/src/demuxers/avidib.rs b/nihav-ms/src/demuxers/avidib.rs index f75bf70..7afc35f 100644 --- a/nihav-ms/src/demuxers/avidib.rs +++ b/nihav-ms/src/demuxers/avidib.rs @@ -342,26 +342,11 @@ impl DemuxerCreator for AVIDemuxerCreator { #[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); } } diff --git a/nihav-qt/src/demuxers/warhol.rs b/nihav-qt/src/demuxers/warhol.rs index e40179c..1d29cd2 100644 --- a/nihav-qt/src/demuxers/warhol.rs +++ b/nihav-qt/src/demuxers/warhol.rs @@ -188,45 +188,15 @@ impl DemuxerCreator for WarholDemuxerCreator { #[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); } } diff --git a/nihav-rad/src/demuxers/bink.rs b/nihav-rad/src/demuxers/bink.rs index f7720bc..9f7bab2 100644 --- a/nihav-rad/src/demuxers/bink.rs +++ b/nihav-rad/src/demuxers/bink.rs @@ -235,29 +235,16 @@ impl DemuxerCreator for BinkDemuxerCreator { #[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); } } diff --git a/nihav-rad/src/demuxers/smacker.rs b/nihav-rad/src/demuxers/smacker.rs index 9548907..821d944 100644 --- a/nihav-rad/src/demuxers/smacker.rs +++ b/nihav-rad/src/demuxers/smacker.rs @@ -328,28 +328,15 @@ impl DemuxerCreator for SMKDemuxerCreator { #[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); } } diff --git a/nihav-realmedia/src/demuxers/realmedia.rs b/nihav-realmedia/src/demuxers/realmedia.rs index 7ca526e..fac98b2 100644 --- a/nihav-realmedia/src/demuxers/realmedia.rs +++ b/nihav-realmedia/src/demuxers/realmedia.rs @@ -1677,82 +1677,40 @@ impl DemuxerCreator for RealIVRDemuxerCreator { #[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); + } } diff --git a/nihav-vivo/src/demuxers/vivo.rs b/nihav-vivo/src/demuxers/vivo.rs index c718cb7..714aafe 100644 --- a/nihav-vivo/src/demuxers/vivo.rs +++ b/nihav-vivo/src/demuxers/vivo.rs @@ -252,26 +252,11 @@ impl DemuxerCreator for VivoDemuxerCreator { #[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); } } -- 2.39.5