use codec2::{Codec2, Codec2Mode};
-
+use cpal::traits::DeviceTrait;
+use cpal::traits::HostTrait;
+use cpal::traits::StreamTrait;
+use cpal::{Sample, SampleFormat, SampleRate};
+use log::debug;
use m17app::adapter::StreamAdapter;
use m17app::app::TxHandle;
use m17core::protocol::LsfFrame;
-
use std::collections::VecDeque;
use std::fs::File;
use std::io::Write;
Arc, Mutex,
};
-use cpal::traits::DeviceTrait;
-use cpal::traits::HostTrait;
-use cpal::traits::StreamTrait;
-use cpal::{Sample, SampleFormat, SampleRate};
-
-use log::debug;
-
pub fn decode_codec2<P: AsRef<Path>>(data: &[u8], out_path: P) -> Vec<i16> {
let codec2 = Codec2::new(Codec2Mode::MODE_3200);
let var_name = codec2;
let stream = device
.build_output_stream(
&config.into(),
- move |data: &mut [i16], _: &cpal::OutputCallbackInfo| {
+ move |data: &mut [i16], info: &cpal::OutputCallbackInfo| {
+ debug!(
+ "callback {:?} playback {:?}",
+ info.timestamp().callback,
+ info.timestamp().playback
+ );
output_cb(data, &state);
},
|e| {