X-Git-Url: https://git.nihav.org/?p=nihav-player.git;a=blobdiff_plain;f=sndplay%2Fsrc%2Fallreg.rs;h=a2a4df64810ba90c529f3c72f086dd6b9725b31b;hp=d0c6b394192103bcee48fca37d6ce3a4c2c14116;hb=e08bbe032e8553d872673701f016d1bcf3070312;hpb=b5053bfc25fb327776886269e615c2e5dd63fa08 diff --git a/sndplay/src/allreg.rs b/sndplay/src/allreg.rs index d0c6b39..a2a4df6 100644 --- a/sndplay/src/allreg.rs +++ b/sndplay/src/allreg.rs @@ -1,11 +1,14 @@ -use nihav_core::codecs::RegisteredDecoders; -use nihav_core::demuxers::RegisteredDemuxers; +use nihav_core::codecs::{RegisteredDecoders, RegisteredPacketisers}; +use nihav_core::demuxers::{RegisteredDemuxers, RegisteredRawDemuxers}; use nihav_commonfmt::generic_register_all_decoders; use nihav_commonfmt::generic_register_all_demuxers; use nihav_duck::duck_register_all_decoders; +use nihav_flash::flash_register_all_decoders; +use nihav_flash::flash_register_all_demuxers; + use nihav_game::game_register_all_decoders; use nihav_game::game_register_all_demuxers; @@ -14,6 +17,9 @@ use nihav_indeo::indeo_register_all_decoders; use nihav_llaudio::llaudio_register_all_decoders; use nihav_llaudio::llaudio_register_all_demuxers; +use nihav_mpeg::mpeg_register_all_decoders; +use nihav_mpeg::mpeg_register_all_packetisers; + use nihav_ms::ms_register_all_decoders; use nihav_qt::qt_register_all_decoders; @@ -27,12 +33,14 @@ use nihav_realmedia::realmedia_register_all_demuxers; use nihav_vivo::vivo_register_all_decoders; use nihav_vivo::vivo_register_all_demuxers; -pub fn register_all_decoders(rd: &mut RegisteredDecoders) { +fn 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); llaudio_register_all_decoders(rd); + mpeg_register_all_decoders(rd); ms_register_all_decoders(rd); qt_register_all_decoders(rd); rad_register_all_decoders(rd); @@ -40,8 +48,13 @@ pub fn register_all_decoders(rd: &mut RegisteredDecoders) { vivo_register_all_decoders(rd); } -pub fn register_all_demuxers(rd: &mut RegisteredDemuxers) { +fn register_all_packetisers(rp: &mut RegisteredPacketisers) { + mpeg_register_all_packetisers(rp); +} + +fn register_all_demuxers(rd: &mut RegisteredDemuxers) { 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); @@ -49,3 +62,29 @@ pub fn register_all_demuxers(rd: &mut RegisteredDemuxers) { vivo_register_all_demuxers(rd); } +fn register_all_raw_demuxers(_rd: &mut RegisteredRawDemuxers) { + //llaudio_register_all_raw_demuxers(rd); +} + + +pub struct FullRegister { + pub dmx_reg: RegisteredDemuxers, + pub rdmx_reg: RegisteredRawDemuxers, + pub pkt_reg: RegisteredPacketisers, + pub dec_reg: RegisteredDecoders, +} + +impl FullRegister { + pub fn new() -> Self { + let mut dmx_reg = RegisteredDemuxers::new(); + register_all_demuxers(&mut dmx_reg); + let mut rdmx_reg = RegisteredRawDemuxers::new(); + register_all_raw_demuxers(&mut rdmx_reg); + let mut dec_reg = RegisteredDecoders::new(); + register_all_decoders(&mut dec_reg); + let mut pkt_reg = RegisteredPacketisers::new(); + register_all_packetisers(&mut pkt_reg); + Self { dmx_reg, rdmx_reg, pkt_reg, dec_reg } + } +} +