diff options
Diffstat (limited to 'audio/out/ao_audiounit.m')
-rw-r--r-- | audio/out/ao_audiounit.m | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/audio/out/ao_audiounit.m b/audio/out/ao_audiounit.m index b982884854..85b1226dc9 100644 --- a/audio/out/ao_audiounit.m +++ b/audio/out/ao_audiounit.m @@ -15,7 +15,6 @@ * License along with mpv. If not, see <http://www.gnu.org/licenses/>. */ -#include "config.h" #include "ao.h" #include "internal.h" #include "audio/format.h" @@ -95,9 +94,9 @@ static OSStatus render_cb_lpcm(void *ctx, AudioUnitRenderActionFlags *aflags, for (int n = 0; n < ao->num_planes; n++) planes[n] = buffer_list->mBuffers[n].mData; - int64_t end = mp_time_us(); - end += p->device_latency * 1e6; - end += ca_get_latency(ts) + ca_frames_to_us(ao, frames); + int64_t end = mp_time_ns(); + end += MP_TIME_S_TO_NS(p->device_latency); + end += ca_get_latency(ts) + ca_frames_to_ns(ao, frames); ao_read_data(ao, planes, frames, end); return noErr; } @@ -218,7 +217,7 @@ static void start(struct ao *ao) struct priv *p = ao->priv; AVAudioSession *instance = AVAudioSession.sharedInstance; - p->device_latency = [instance outputLatency] + [instance IOBufferDuration]; + p->device_latency = [instance outputLatency]; OSStatus err = AudioOutputUnitStart(p->audio_unit); CHECK_CA_WARN("can't start audio unit"); |