From 33a8cde0568cc149bc5d637641de6d04f538a83b Mon Sep 17 00:00:00 2001 From: egnehots Date: Tue, 10 Oct 2017 18:24:53 +0200 Subject: [PATCH] Minimal ios support --- Cargo.toml | 4 ++-- src/coreaudio/mod.rs | 6 +++++- src/lib.rs | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 7c13539..5d4eb5b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,5 +21,5 @@ kernel32-sys = "0.2" [target.'cfg(any(target_os = "linux", target_os = "dragonfly", target_os = "freebsd", target_os = "openbsd"))'.dependencies] alsa-sys = { version = "0.1", path = "alsa-sys" } -[target.'cfg(target_os = "macos")'.dependencies] -coreaudio-rs = "0.6" +[target.'cfg(any(target_os = "macos", target_os = "ios"))'.dependencies] +coreaudio-rs = "0.7.0" diff --git a/src/coreaudio/mod.rs b/src/coreaudio/mod.rs index 6f4cba9..eac12d2 100644 --- a/src/coreaudio/mod.rs +++ b/src/coreaudio/mod.rs @@ -157,7 +157,11 @@ impl Voice { } } - let au_type = coreaudio::audio_unit::IOType::DefaultOutput; + let au_type = if cfg!(target_os = "ios") { + coreaudio::audio_unit::IOType::RemoteIO + } else { + coreaudio::audio_unit::IOType::DefaultOutput + }; let mut audio_unit = try!(AudioUnit::new(au_type).map_err(convert_error)); // TODO: iOS uses integer and fixed-point data diff --git a/src/lib.rs b/src/lib.rs index b18e746..fa1281d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -76,7 +76,7 @@ extern crate libc; pub use samples_formats::{SampleFormat, Sample}; -#[cfg(all(not(windows), not(target_os = "linux"), not(target_os = "freebsd"), not(target_os = "macos")))] +#[cfg(all(not(windows), not(target_os = "linux"), not(target_os = "freebsd"), not(target_os = "macos"), not(target_os = "ios")))] use null as cpal_impl; use std::fmt; @@ -97,7 +97,7 @@ mod cpal_impl; #[path="wasapi/mod.rs"] mod cpal_impl; -#[cfg(target_os = "macos")] +#[cfg(any(target_os = "macos", target_os = "ios"))] #[path="coreaudio/mod.rs"] mod cpal_impl;