X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-allstuff%2Fsrc%2Flib.rs;h=1ef01c482d054135416b52288dff9977bf2b1be8;hp=eb8e9a3a007728df2c77ce2f54e4d5465c6e6715;hb=8e26db2fb011c1720f362fe8235f68260edd150c;hpb=e64739f87a35f29be0bbbce366876180ba3eb57e diff --git a/nihav-allstuff/src/lib.rs b/nihav-allstuff/src/lib.rs index eb8e9a3..1ef01c4 100644 --- a/nihav-allstuff/src/lib.rs +++ b/nihav-allstuff/src/lib.rs @@ -1,55 +1,95 @@ -extern crate nihav_core; -extern crate nihav_commonfmt; -extern crate nihav_duck; -extern crate nihav_game; -extern crate nihav_indeo; -extern crate nihav_rad; -extern crate nihav_realmedia; - +//! Umbrella crate to register decoders and demuxers from all known NihAV crates. use nihav_core::codecs::RegisteredDecoders; +use nihav_core::codecs::RegisteredPacketisers; +use nihav_core::codecs::RegisteredEncoders; use nihav_core::demuxers::RegisteredDemuxers; +use nihav_core::demuxers::RegisteredRawDemuxers; +use nihav_core::muxers::RegisteredMuxers; -use nihav_commonfmt::generic_register_all_codecs; -use nihav_commonfmt::generic_register_all_demuxers; - -use nihav_duck::duck_register_all_codecs; - -use nihav_game::game_register_all_codecs; -use nihav_game::game_register_all_demuxers; - -use nihav_indeo::indeo_register_all_codecs; +use nihav_commonfmt::*; +use nihav_duck::*; +use nihav_flash::*; +use nihav_game::*; +use nihav_indeo::indeo_register_all_decoders; +use nihav_itu::itu_register_all_decoders; +use nihav_llaudio::*; +use nihav_misc::*; +use nihav_mpeg::*; +use nihav_ms::*; +use nihav_qt::qt_register_all_decoders; +use nihav_rad::*; +use nihav_realmedia::*; +use nihav_vivo::*; -use nihav_rad::rad_register_all_codecs; -use nihav_rad::rad_register_all_demuxers; - -use nihav_realmedia::realmedia_register_all_codecs; -use nihav_realmedia::realmedia_register_all_demuxers; +/// Registers all known decoders. +pub fn nihav_register_all_decoders(rd: &mut RegisteredDecoders) { + generic_register_all_decoders(rd); + duck_register_all_decoders(rd); + flash_register_all_decoders(rd); + game_register_all_decoders(rd); + indeo_register_all_decoders(rd); + itu_register_all_decoders(rd); + llaudio_register_all_decoders(rd); + misc_register_all_decoders(rd); + mpeg_register_all_decoders(rd); + ms_register_all_decoders(rd); + qt_register_all_decoders(rd); + rad_register_all_decoders(rd); + realmedia_register_all_decoders(rd); + vivo_register_all_decoders(rd); +} -pub fn nihav_register_all_codecs(rd: &mut RegisteredDecoders) { - generic_register_all_codecs(rd); - duck_register_all_codecs(rd); - game_register_all_codecs(rd); - indeo_register_all_codecs(rd); - rad_register_all_codecs(rd); - realmedia_register_all_codecs(rd); +/// Registers all known packetisers. +pub fn nihav_register_all_packetisers(rp: &mut RegisteredPacketisers) { + llaudio_register_all_packetisers(rp); + mpeg_register_all_packetisers(rp); } +/// Registers all known demuxers. pub fn nihav_register_all_demuxers(rd: &mut RegisteredDemuxers) { + duck_register_all_demuxers(rd); generic_register_all_demuxers(rd); + flash_register_all_demuxers(rd); game_register_all_demuxers(rd); + llaudio_register_all_demuxers(rd); rad_register_all_demuxers(rd); realmedia_register_all_demuxers(rd); + vivo_register_all_demuxers(rd); +} + +/// Registers all known raw stream demuxers. +pub fn nihav_register_all_raw_demuxers(rd: &mut RegisteredRawDemuxers) { + llaudio_register_all_raw_demuxers(rd); +} + +/// Registers all known encoders. +pub fn nihav_register_all_encoders(re: &mut RegisteredEncoders) { + flash_register_all_encoders(re); + generic_register_all_encoders(re); + duck_register_all_encoders(re); + llaudio_register_all_encoders(re); + ms_register_all_encoders(re); } +/// Registers all known demuxers. +pub fn nihav_register_all_muxers(rm: &mut RegisteredMuxers) { + flash_register_all_muxers(rm); + generic_register_all_muxers(rm); + llaudio_register_all_muxers(rm); +} + +#[cfg(test)] +extern crate nihav_registry; + #[cfg(test)] mod test { use super::*; - use nihav_core::register::get_codec_description; + use nihav_registry::register::get_codec_description; #[test] fn test_descriptions() { let mut rd = RegisteredDecoders::new(); - nihav_register_all_codecs(&mut rd); + nihav_register_all_decoders(&mut rd); let mut has_missing = false; for dec in rd.iter() { print!("decoder {} - ", dec.name);