sndplay: support various input kinds
[nihav-player.git] / sndplay / src / allreg.rs
CommitLineData
e08bbe03
KS
1use nihav_core::codecs::{RegisteredDecoders, RegisteredPacketisers};
2use nihav_core::demuxers::{RegisteredDemuxers, RegisteredRawDemuxers};
41e41352
KS
3
4use nihav_commonfmt::generic_register_all_decoders;
5use nihav_commonfmt::generic_register_all_demuxers;
6
7use nihav_duck::duck_register_all_decoders;
8
e08bbe03
KS
9use nihav_flash::flash_register_all_decoders;
10use nihav_flash::flash_register_all_demuxers;
11
41e41352
KS
12use nihav_game::game_register_all_decoders;
13use nihav_game::game_register_all_demuxers;
14
15use nihav_indeo::indeo_register_all_decoders;
16
17use nihav_llaudio::llaudio_register_all_decoders;
18use nihav_llaudio::llaudio_register_all_demuxers;
19
e08bbe03
KS
20use nihav_mpeg::mpeg_register_all_decoders;
21use nihav_mpeg::mpeg_register_all_packetisers;
22
41e41352
KS
23use nihav_ms::ms_register_all_decoders;
24
25use nihav_qt::qt_register_all_decoders;
26
27use nihav_rad::rad_register_all_decoders;
28use nihav_rad::rad_register_all_demuxers;
29
30use nihav_realmedia::realmedia_register_all_decoders;
31use nihav_realmedia::realmedia_register_all_demuxers;
32
33use nihav_vivo::vivo_register_all_decoders;
34use nihav_vivo::vivo_register_all_demuxers;
35
e08bbe03 36fn register_all_decoders(rd: &mut RegisteredDecoders) {
41e41352
KS
37 generic_register_all_decoders(rd);
38 duck_register_all_decoders(rd);
e08bbe03 39 flash_register_all_decoders(rd);
41e41352
KS
40 game_register_all_decoders(rd);
41 indeo_register_all_decoders(rd);
42 llaudio_register_all_decoders(rd);
e08bbe03 43 mpeg_register_all_decoders(rd);
41e41352
KS
44 ms_register_all_decoders(rd);
45 qt_register_all_decoders(rd);
46 rad_register_all_decoders(rd);
47 realmedia_register_all_decoders(rd);
48 vivo_register_all_decoders(rd);
49}
50
e08bbe03
KS
51fn register_all_packetisers(rp: &mut RegisteredPacketisers) {
52 mpeg_register_all_packetisers(rp);
53}
54
55fn register_all_demuxers(rd: &mut RegisteredDemuxers) {
41e41352 56 generic_register_all_demuxers(rd);
e08bbe03 57 flash_register_all_demuxers(rd);
41e41352
KS
58 game_register_all_demuxers(rd);
59 llaudio_register_all_demuxers(rd);
60 rad_register_all_demuxers(rd);
61 realmedia_register_all_demuxers(rd);
62 vivo_register_all_demuxers(rd);
63}
64
e08bbe03
KS
65fn register_all_raw_demuxers(_rd: &mut RegisteredRawDemuxers) {
66 //llaudio_register_all_raw_demuxers(rd);
67}
68
69
70pub struct FullRegister {
71 pub dmx_reg: RegisteredDemuxers,
72 pub rdmx_reg: RegisteredRawDemuxers,
73 pub pkt_reg: RegisteredPacketisers,
74 pub dec_reg: RegisteredDecoders,
75}
76
77impl FullRegister {
78 pub fn new() -> Self {
79 let mut dmx_reg = RegisteredDemuxers::new();
80 register_all_demuxers(&mut dmx_reg);
81 let mut rdmx_reg = RegisteredRawDemuxers::new();
82 register_all_raw_demuxers(&mut rdmx_reg);
83 let mut dec_reg = RegisteredDecoders::new();
84 register_all_decoders(&mut dec_reg);
85 let mut pkt_reg = RegisteredPacketisers::new();
86 register_all_packetisers(&mut pkt_reg);
87 Self { dmx_reg, rdmx_reg, pkt_reg, dec_reg }
88 }
89}
90