summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefano Pigozzi <stefano.pigozzi@gmail.com>2013-06-26 23:20:36 +0200
committerStefano Pigozzi <stefano.pigozzi@gmail.com>2013-07-22 21:53:17 +0200
commitd4b161f37d39a85c9661c27e2e567d0c4e823668 (patch)
treee52e2bae63f827e14f5451d83a72a8d4634d6bc7
parentf392ffe95c728080c9e712bdda2fc1f28f91be7f (diff)
downloadmpv-d4b161f37d39a85c9661c27e2e567d0c4e823668.tar.bz2
mpv-d4b161f37d39a85c9661c27e2e567d0c4e823668.tar.xz
ao_coreaudio: refactor uninit
-rw-r--r--audio/out/ao_coreaudio.c23
1 files changed, 6 insertions, 17 deletions
diff --git a/audio/out/ao_coreaudio.c b/audio/out/ao_coreaudio.c
index eee36bf4d3..67f34a45da 100644
--- a/audio/out/ao_coreaudio.c
+++ b/audio/out/ao_coreaudio.c
@@ -614,13 +614,8 @@ static void uninit(struct ao *ao, bool immed)
struct priv *p = ao->priv;
OSStatus err = noErr;
- if (!immed) {
- long long timeleft =
- (1000000LL * mp_ring_buffered(p->buffer)) / ao->bps;
- ca_msg(MSGL_DBG2, "%d bytes left @%d bps (%d usec)\n",
- mp_ring_buffered(p->buffer), ao->bps, (int)timeleft);
- mp_sleep_us((int)timeleft);
- }
+ if (!immed)
+ mp_sleep_us(get_delay(ao) * 1000000);
if (!p->b_digital) {
AudioOutputUnitStop(p->theOutputUnit);
@@ -628,18 +623,12 @@ static void uninit(struct ao *ao, bool immed)
AudioComponentInstanceDispose(p->theOutputUnit);
} else {
struct priv_d *d = p->digital;
- /* Stop device. */
+
err = AudioDeviceStop(p->i_selected_dev, d->renderCallback);
- if (err != noErr)
- ca_msg(MSGL_WARN, "AudioDeviceStop failed: [%4.4s]\n",
- (char *)&err);
+ CHECK_CA_WARN("failed to stop audio device");
- /* Remove IOProc callback. */
- err =
- AudioDeviceDestroyIOProcID(p->i_selected_dev, d->renderCallback);
- if (err != noErr)
- ca_msg(MSGL_WARN,
- "AudioDeviceRemoveIOProc failed: [%4.4s]\n", (char *)&err);
+ err = AudioDeviceDestroyIOProcID(p->i_selected_dev, d->renderCallback);
+ CHECK_CA_WARN("failed to remove device render callback");
err = ca_enable_mixing(p->i_selected_dev, d->changed_mixing);
CHECK_CA_WARN("can't re-enable mixing");