]> code.octet-stream.net Git - m17rt/blobdiff - tools/m17rt-demod/src/main.rs
Simplify adapter lifecycle and introduce a lot of error propagation
[m17rt] / tools / m17rt-demod / src / main.rs
index 1125c3aba1d21a2aedebfed9e52b2e42bdccccf2..bcc5468a852c962ab31623b36c0f9bca353f57ae 100755 (executable)
@@ -1,21 +1,21 @@
 use m17app::app::M17App;
-use m17app::soundmodem::{InputRrcFile, InputSoundcard, NullOutputSink, Soundmodem};
+use m17app::soundcard::Soundcard;
+use m17app::soundmodem::{NullOutputSink, NullPtt, Soundmodem};
 use m17codec2::Codec2Adapter;
-use std::path::PathBuf;
 
-pub fn m17app_test() {
-    //let path = PathBuf::from("../../../Data/test_vk7xt.rrc");
-    let path = PathBuf::from("../../../Data/mymod.rrc");
-    let source = InputRrcFile::new(path);
-    //let source = InputSoundcard::new();
-    let soundmodem = Soundmodem::new_with_input_and_output(source, NullOutputSink::new());
+pub fn demod_test() {
+    let soundcard = Soundcard::new("plughw:CARD=Device,DEV=0").unwrap();
+    let soundmodem = Soundmodem::new(soundcard.input(), NullOutputSink::new(), NullPtt::new());
     let app = M17App::new(soundmodem);
-    app.add_stream_adapter(Codec2Adapter::new());
-    app.start();
-    std::thread::sleep(std::time::Duration::from_secs(15));
+    app.add_stream_adapter(Codec2Adapter::new()).unwrap();
+    app.start().unwrap();
+
+    loop {
+        std::thread::park();
+    }
 }
 
 fn main() {
     env_logger::init();
-    m17app_test();
+    demod_test();
 }