From dbf9ae20dae56f22f47f24ae236e884efa1f3371 Mon Sep 17 00:00:00 2001 From: Ronald Kinard Date: Wed, 23 Sep 2015 22:14:32 -0500 Subject: [PATCH] Make coreaudio Voice Send/Sync. --- src/coreaudio/mod.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/coreaudio/mod.rs b/src/coreaudio/mod.rs index e70ce86..8c8fc00 100644 --- a/src/coreaudio/mod.rs +++ b/src/coreaudio/mod.rs @@ -28,7 +28,7 @@ impl Endpoint { { Ok(vec!(Format { channels: vec![ChannelPosition::FrontLeft, ChannelPosition::FrontRight], - samples_rate: SamplesRate(512), + samples_rate: SamplesRate(64), data_type: SampleFormat::F32 }).into_iter()) } @@ -79,6 +79,9 @@ pub struct Voice { samples_sender: Sender<(Vec, NumChannels)>, } +unsafe impl Sync for Voice {} +unsafe impl Send for Voice {} + impl Voice { pub fn new(endpoint: &Endpoint, format: &Format) -> Result { // A channel for signalling that the audio unit is ready for data. @@ -133,7 +136,7 @@ impl Voice { samples: vec![unsafe{ mem::uninitialized() }; buffer_size], num_channels: channels as usize, marker: ::std::marker::PhantomData, - len: 512 + len: 64 } } }