diff options
Diffstat (limited to 'audio')
-rw-r--r-- | audio/out/ao_coreaudio.c | 6 | ||||
-rw-r--r-- | audio/out/ao_coreaudio_utils.c | 2 |
2 files changed, 7 insertions, 1 deletions
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) { |