audio seems fine now
This commit is contained in:
@@ -69,7 +69,7 @@ impl AudioSystem {
|
|||||||
mut each: impl FnMut(Vec<u8>) + Send + 'static,
|
mut each: impl FnMut(Vec<u8>) + Send + 'static,
|
||||||
) -> Result<(), Error> {
|
) -> Result<(), Error> {
|
||||||
let mut encoder =
|
let mut encoder =
|
||||||
opus::Encoder::new(48_000, opus::Channels::Mono, opus::Application::Voip)?;
|
opus::Encoder::new(SAMPLE_RATE, opus::Channels::Mono, opus::Application::Voip)?;
|
||||||
let mut current_processor = AudioProcessor::default();
|
let mut current_processor = AudioProcessor::default();
|
||||||
let mut output_buffer = Vec::new();
|
let mut output_buffer = Vec::new();
|
||||||
let processors = self.processors.clone();
|
let processors = self.processors.clone();
|
||||||
@@ -78,16 +78,14 @@ impl AudioSystem {
|
|||||||
if let Some(new_processor) = processors.take() {
|
if let Some(new_processor) = processors.take() {
|
||||||
current_processor = new_processor;
|
current_processor = new_processor;
|
||||||
}
|
}
|
||||||
info!("recieved {} samples", frame.len());
|
|
||||||
current_processor.process(frame, &mut output_buffer);
|
current_processor.process(frame, &mut output_buffer);
|
||||||
if output_buffer.len() < PACKET_SAMPLES as usize {
|
if output_buffer.len() < PACKET_SAMPLES as usize {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let remainder = output_buffer.split_off(PACKET_SAMPLES as usize);
|
let remainder = output_buffer.split_off(PACKET_SAMPLES as usize);
|
||||||
let frame = replace(&mut output_buffer, remainder);
|
let frame = replace(&mut output_buffer, remainder);
|
||||||
match encoder.encode_vec_float(&frame, frame.len() * 4) {
|
match encoder.encode_vec_float(&frame, frame.len() * 2) {
|
||||||
Ok(buf) => {
|
Ok(buf) => {
|
||||||
info!("encoded {} samples to {} bytes", frame.len(), buf.len());
|
|
||||||
each(buf);
|
each(buf);
|
||||||
}
|
}
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
|
|||||||
Reference in New Issue
Block a user