• Thomas Guillem's avatar
    coreaudio: disable resampling when latency is too high · bab4c826
    Thomas Guillem authored
    On iOS, the render callback is called by default with 1024 frames, and 4096
    when the screen is OFF. 4096 frames @ 44.1Hhz is around 88ms, which is higher
    than AOUT_MAX_PTS_DELAY (60ms). This caused the resampler to be started/stopped
    very often when the screen was OFF due to the imprecision of 88ms from the
    TimeGet callback.
    To fix this issue, this commit disable the TimeGet callback when the latency is
    too high.
    This will also save some CPU time by disabling any synchronisation when the
    screen is OFF. From my tests, high latency is only triggered by switching OFF
    the display.
    Fixes #18939
    (cherry picked from commit f18fef32)
    Signed-off-by: Thomas Guillem's avatarThomas Guillem <thomas@gllm.fr>
coreaudio_common.c 28.3 KB