-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;
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;
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);
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);
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 }
+ }
+}
+