mirror of
https://github.com/storytold/artcraft.git
synced 2026-11-11 20:32:12 +00:00
this inquires about processed buffer length
This commit is contained in:
1 parent
a6ac91331e
commit
7916f7c307
2 files changed
+32
-4
No files matched your search
+12
@@ -64,6 +64,18 @@ impl AudioQueue {
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
pub fn len(&self) -> usize {
|
||||
match self.queue.read() {
|
||||
Ok(mut queue) => {
|
||||
return queue.len();
|
||||
},
|
||||
Err(_) => {
|
||||
unreachable!("This shouldn't happen (len)");
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
pub struct QueueSender {
|
||||
|
||||
+20
-4
@@ -187,16 +187,18 @@ fn run_cpal_audio() -> Result<(), failure::Error> {
|
||||
}*/
|
||||
},
|
||||
cpal::StreamData::Output { buffer: cpal::UnknownTypeOutputBuffer::F32(mut buffer) } => {
|
||||
println!("Audio out buffer len: {}", post_process_queue_2.len());
|
||||
//assert_eq!(id, output_stream_id);
|
||||
//let mut input_fell_behind = None;
|
||||
match post_process_queue_2.drain_size((buffer.len())) {
|
||||
let request_size = buffer.len();
|
||||
let mut drained = post_process_queue_2.drain_size((request_size));
|
||||
match drained {
|
||||
None => {
|
||||
for sample in buffer.iter_mut() {
|
||||
*sample = 0.0;
|
||||
}
|
||||
},
|
||||
Some(mut drained) => {
|
||||
println!("Data received");
|
||||
for (i, sample) in buffer.iter_mut().enumerate() {
|
||||
let val = drained.pop();
|
||||
*sample = match val {
|
||||
@@ -204,8 +206,22 @@ fn run_cpal_audio() -> Result<(), failure::Error> {
|
||||
println!("Couldn't drain at index: {}", i);
|
||||
0.0
|
||||
},
|
||||
Some(d) => d * 5.0,
|
||||
}
|
||||
Some(d) => d * 2.0,
|
||||
};
|
||||
/*sample = match val {
|
||||
None => {
|
||||
println!("Couldn't drain at index: {}", i);
|
||||
0.0
|
||||
},
|
||||
Some(d) => d * 2.0,
|
||||
};
|
||||
*sample = match val {
|
||||
None => {
|
||||
println!("Couldn't drain at index: {}", i);
|
||||
0.0
|
||||
},
|
||||
Some(d) => d * 2.0,
|
||||
};*/
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user