From f8d0a75b50266e812a63da0a5306f770fa02382f Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Thu, 23 Oct 2014 09:16:39 +0200 Subject: coreaudio: redirect IEC61937 to coreaudio_exclusive --- audio/out/ao_coreaudio.c | 6 ++++++ audio/out/ao_coreaudio_utils.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/audio/out/ao_coreaudio.c b/audio/out/ao_coreaudio.c index 8a8a73f5ce..1e1ad8cb10 100644 --- a/audio/out/ao_coreaudio.c +++ b/audio/out/ao_coreaudio.c @@ -145,6 +145,12 @@ static bool init_audiounit(struct ao *ao, AudioStreamBasicDescription asbd); static int init(struct ao *ao) { + if (AF_FORMAT_IS_IEC61937(ao->format)) { + MP_WARN(ao, "detected IEC61937, redirecting to coreaudio_exclusive\n"); + ao->redirect = "coreaudio_exclusive"; + return CONTROL_ERROR; + } + struct priv *p = ao->priv; OSStatus err = ca_select_device(ao, ao->device, &p->device); diff --git a/audio/out/ao_coreaudio_utils.c b/audio/out/ao_coreaudio_utils.c index cc08f4c6ab..b073cd6d8a 100644 --- a/audio/out/ao_coreaudio_utils.c +++ b/audio/out/ao_coreaudio_utils.c @@ -56,7 +56,7 @@ OSStatus ca_select_device(struct ao *ao, char* name, AudioDeviceID *device) int selection = name ? strtol(name, (char **)NULL, 10) : -1; if (errno == EINVAL || errno == ERANGE) { selection = -1; - MP_ERR(ao, "device identifier '%s' is invalid\n", name); + MP_WARN(ao, "device identifier '%s' is invalid\n", name); } *device = 0; if (selection < 0) { -- cgit v1.2.3