├── .dockerignore ├── .gitignore ├── .gitmodules ├── Cargo.lock ├── Cargo.toml ├── Dockerfile.alpine-alsa ├── Dockerfile.alpine-i2pipe ├── Dockerfile.fedora-alsa ├── LICENSE ├── README.md ├── alsa_pcm_inferno ├── Cargo.lock ├── Cargo.toml ├── README.md ├── asoundrc ├── restart_pw ├── src │ └── lib.rs ├── start_pipewire_sink ├── start_pipewire_source ├── stop_pipewire_nodes ├── test_capture.sh ├── test_effect_processor.sh └── test_playback.sh ├── devtools ├── hexstream_to_array.py ├── i2pipe_detect_silence.sh └── sinegen.sh ├── inferno2pipe ├── .editorconfig ├── .gitignore ├── Cargo.toml ├── LICENSE ├── README.md ├── save_to_file └── src │ └── main.rs ├── inferno_aoip ├── .editorconfig ├── Cargo.toml ├── LICENSE ├── LICENSE-AGPL ├── LICENSE-GPL ├── rustfmt.toml └── src │ ├── common.rs │ ├── device_info.rs │ ├── device_server │ ├── arc_server.rs │ ├── channels_subscriber.rs │ ├── cmc_server.rs │ ├── flows_control_server.rs │ ├── flows_rx.rs │ ├── flows_tx.rs │ ├── info_mcast_server.rs │ ├── mdns_server.rs │ ├── mod.rs │ ├── peaks.rs │ ├── samples_collector.rs │ ├── samples_utils.rs │ ├── saved_settings.rs │ ├── settings.rs │ └── tx_multicasts.rs │ ├── lib.rs │ ├── mdns_client.rs │ ├── media_clock.rs │ ├── protocol │ ├── flows_control.rs │ ├── mcast.rs │ ├── mod.rs │ ├── proto_arc.rs │ ├── proto_cmc.rs │ └── req_resp.rs │ ├── ring_buffer.rs │ ├── state_storage.rs │ └── util │ ├── bytes.rs │ ├── mod.rs │ ├── net.rs │ ├── os.rs │ ├── real_time_box_channel.rs │ └── thread.rs ├── os_integration └── systemd_allow_clock.conf └── test └── dockerized_trx ├── LICENSE ├── README.md ├── alpine_aplay_arecord ├── Dockerfile └── alsa_duplex.sh ├── alpine_i2pipe ├── Dockerfile └── capture.sh ├── alpine_jack ├── Dockerfile └── jack_duplex.sh ├── control_and_test ├── Dockerfile └── control_and_test.sh ├── docker-compose.yml ├── fake_usrvclock_server ├── Dockerfile ├── LICENSE └── fake_usrvclock_server.c ├── fedora_pipewire ├── Dockerfile └── pipewire_duplex.sh ├── inferno.env └── run_test.sh /.dockerignore: -------------------------------------------------------------------------------- 1 | target 2 | test 3 | .vscode 4 | bugs 5 | logs 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/.gitmodules -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/Cargo.toml -------------------------------------------------------------------------------- /Dockerfile.alpine-alsa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/Dockerfile.alpine-alsa -------------------------------------------------------------------------------- /Dockerfile.alpine-i2pipe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/Dockerfile.alpine-i2pipe -------------------------------------------------------------------------------- /Dockerfile.fedora-alsa: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/Dockerfile.fedora-alsa -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | inferno_aoip/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/README.md -------------------------------------------------------------------------------- /alsa_pcm_inferno/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/alsa_pcm_inferno/Cargo.lock -------------------------------------------------------------------------------- /alsa_pcm_inferno/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/alsa_pcm_inferno/Cargo.toml -------------------------------------------------------------------------------- /alsa_pcm_inferno/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/alsa_pcm_inferno/README.md -------------------------------------------------------------------------------- /alsa_pcm_inferno/asoundrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/alsa_pcm_inferno/asoundrc -------------------------------------------------------------------------------- /alsa_pcm_inferno/restart_pw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/alsa_pcm_inferno/restart_pw -------------------------------------------------------------------------------- /alsa_pcm_inferno/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/alsa_pcm_inferno/src/lib.rs -------------------------------------------------------------------------------- /alsa_pcm_inferno/start_pipewire_sink: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/alsa_pcm_inferno/start_pipewire_sink -------------------------------------------------------------------------------- /alsa_pcm_inferno/start_pipewire_source: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/alsa_pcm_inferno/start_pipewire_source -------------------------------------------------------------------------------- /alsa_pcm_inferno/stop_pipewire_nodes: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/alsa_pcm_inferno/stop_pipewire_nodes -------------------------------------------------------------------------------- /alsa_pcm_inferno/test_capture.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/alsa_pcm_inferno/test_capture.sh -------------------------------------------------------------------------------- /alsa_pcm_inferno/test_effect_processor.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/alsa_pcm_inferno/test_effect_processor.sh -------------------------------------------------------------------------------- /alsa_pcm_inferno/test_playback.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/alsa_pcm_inferno/test_playback.sh -------------------------------------------------------------------------------- /devtools/hexstream_to_array.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/devtools/hexstream_to_array.py -------------------------------------------------------------------------------- /devtools/i2pipe_detect_silence.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/devtools/i2pipe_detect_silence.sh -------------------------------------------------------------------------------- /devtools/sinegen.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ffplay -f lavfi -i sine=1000,volume=4 3 | -------------------------------------------------------------------------------- /inferno2pipe/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno2pipe/.editorconfig -------------------------------------------------------------------------------- /inferno2pipe/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /inferno2pipe/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno2pipe/Cargo.toml -------------------------------------------------------------------------------- /inferno2pipe/LICENSE: -------------------------------------------------------------------------------- 1 | ../inferno_aoip/LICENSE -------------------------------------------------------------------------------- /inferno2pipe/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno2pipe/README.md -------------------------------------------------------------------------------- /inferno2pipe/save_to_file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno2pipe/save_to_file -------------------------------------------------------------------------------- /inferno2pipe/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno2pipe/src/main.rs -------------------------------------------------------------------------------- /inferno_aoip/.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/.editorconfig -------------------------------------------------------------------------------- /inferno_aoip/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/Cargo.toml -------------------------------------------------------------------------------- /inferno_aoip/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/LICENSE -------------------------------------------------------------------------------- /inferno_aoip/LICENSE-AGPL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/LICENSE-AGPL -------------------------------------------------------------------------------- /inferno_aoip/LICENSE-GPL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/LICENSE-GPL -------------------------------------------------------------------------------- /inferno_aoip/rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/rustfmt.toml -------------------------------------------------------------------------------- /inferno_aoip/src/common.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/common.rs -------------------------------------------------------------------------------- /inferno_aoip/src/device_info.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/device_info.rs -------------------------------------------------------------------------------- /inferno_aoip/src/device_server/arc_server.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/device_server/arc_server.rs -------------------------------------------------------------------------------- /inferno_aoip/src/device_server/channels_subscriber.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/device_server/channels_subscriber.rs -------------------------------------------------------------------------------- /inferno_aoip/src/device_server/cmc_server.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/device_server/cmc_server.rs -------------------------------------------------------------------------------- /inferno_aoip/src/device_server/flows_control_server.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/device_server/flows_control_server.rs -------------------------------------------------------------------------------- /inferno_aoip/src/device_server/flows_rx.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/device_server/flows_rx.rs -------------------------------------------------------------------------------- /inferno_aoip/src/device_server/flows_tx.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/device_server/flows_tx.rs -------------------------------------------------------------------------------- /inferno_aoip/src/device_server/info_mcast_server.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/device_server/info_mcast_server.rs -------------------------------------------------------------------------------- /inferno_aoip/src/device_server/mdns_server.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/device_server/mdns_server.rs -------------------------------------------------------------------------------- /inferno_aoip/src/device_server/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/device_server/mod.rs -------------------------------------------------------------------------------- /inferno_aoip/src/device_server/peaks.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/device_server/peaks.rs -------------------------------------------------------------------------------- /inferno_aoip/src/device_server/samples_collector.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/device_server/samples_collector.rs -------------------------------------------------------------------------------- /inferno_aoip/src/device_server/samples_utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/device_server/samples_utils.rs -------------------------------------------------------------------------------- /inferno_aoip/src/device_server/saved_settings.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/device_server/saved_settings.rs -------------------------------------------------------------------------------- /inferno_aoip/src/device_server/settings.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/device_server/settings.rs -------------------------------------------------------------------------------- /inferno_aoip/src/device_server/tx_multicasts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/device_server/tx_multicasts.rs -------------------------------------------------------------------------------- /inferno_aoip/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/lib.rs -------------------------------------------------------------------------------- /inferno_aoip/src/mdns_client.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/mdns_client.rs -------------------------------------------------------------------------------- /inferno_aoip/src/media_clock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/media_clock.rs -------------------------------------------------------------------------------- /inferno_aoip/src/protocol/flows_control.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/protocol/flows_control.rs -------------------------------------------------------------------------------- /inferno_aoip/src/protocol/mcast.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/protocol/mcast.rs -------------------------------------------------------------------------------- /inferno_aoip/src/protocol/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/protocol/mod.rs -------------------------------------------------------------------------------- /inferno_aoip/src/protocol/proto_arc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/protocol/proto_arc.rs -------------------------------------------------------------------------------- /inferno_aoip/src/protocol/proto_cmc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/protocol/proto_cmc.rs -------------------------------------------------------------------------------- /inferno_aoip/src/protocol/req_resp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/protocol/req_resp.rs -------------------------------------------------------------------------------- /inferno_aoip/src/ring_buffer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/ring_buffer.rs -------------------------------------------------------------------------------- /inferno_aoip/src/state_storage.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/state_storage.rs -------------------------------------------------------------------------------- /inferno_aoip/src/util/bytes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/util/bytes.rs -------------------------------------------------------------------------------- /inferno_aoip/src/util/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/util/mod.rs -------------------------------------------------------------------------------- /inferno_aoip/src/util/net.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/util/net.rs -------------------------------------------------------------------------------- /inferno_aoip/src/util/os.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/util/os.rs -------------------------------------------------------------------------------- /inferno_aoip/src/util/real_time_box_channel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/util/real_time_box_channel.rs -------------------------------------------------------------------------------- /inferno_aoip/src/util/thread.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/inferno_aoip/src/util/thread.rs -------------------------------------------------------------------------------- /os_integration/systemd_allow_clock.conf: -------------------------------------------------------------------------------- 1 | [Service] 2 | SystemCallFilter=@clock 3 | -------------------------------------------------------------------------------- /test/dockerized_trx/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/test/dockerized_trx/LICENSE -------------------------------------------------------------------------------- /test/dockerized_trx/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/test/dockerized_trx/README.md -------------------------------------------------------------------------------- /test/dockerized_trx/alpine_aplay_arecord/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/test/dockerized_trx/alpine_aplay_arecord/Dockerfile -------------------------------------------------------------------------------- /test/dockerized_trx/alpine_aplay_arecord/alsa_duplex.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/test/dockerized_trx/alpine_aplay_arecord/alsa_duplex.sh -------------------------------------------------------------------------------- /test/dockerized_trx/alpine_i2pipe/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/test/dockerized_trx/alpine_i2pipe/Dockerfile -------------------------------------------------------------------------------- /test/dockerized_trx/alpine_i2pipe/capture.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/test/dockerized_trx/alpine_i2pipe/capture.sh -------------------------------------------------------------------------------- /test/dockerized_trx/alpine_jack/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/test/dockerized_trx/alpine_jack/Dockerfile -------------------------------------------------------------------------------- /test/dockerized_trx/alpine_jack/jack_duplex.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/test/dockerized_trx/alpine_jack/jack_duplex.sh -------------------------------------------------------------------------------- /test/dockerized_trx/control_and_test/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/test/dockerized_trx/control_and_test/Dockerfile -------------------------------------------------------------------------------- /test/dockerized_trx/control_and_test/control_and_test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/test/dockerized_trx/control_and_test/control_and_test.sh -------------------------------------------------------------------------------- /test/dockerized_trx/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/test/dockerized_trx/docker-compose.yml -------------------------------------------------------------------------------- /test/dockerized_trx/fake_usrvclock_server/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/test/dockerized_trx/fake_usrvclock_server/Dockerfile -------------------------------------------------------------------------------- /test/dockerized_trx/fake_usrvclock_server/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/test/dockerized_trx/fake_usrvclock_server/LICENSE -------------------------------------------------------------------------------- /test/dockerized_trx/fake_usrvclock_server/fake_usrvclock_server.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/test/dockerized_trx/fake_usrvclock_server/fake_usrvclock_server.c -------------------------------------------------------------------------------- /test/dockerized_trx/fedora_pipewire/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/test/dockerized_trx/fedora_pipewire/Dockerfile -------------------------------------------------------------------------------- /test/dockerized_trx/fedora_pipewire/pipewire_duplex.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/test/dockerized_trx/fedora_pipewire/pipewire_duplex.sh -------------------------------------------------------------------------------- /test/dockerized_trx/inferno.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/test/dockerized_trx/inferno.env -------------------------------------------------------------------------------- /test/dockerized_trx/run_test.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teodly/inferno/HEAD/test/dockerized_trx/run_test.sh --------------------------------------------------------------------------------