diff options
author | jdgleaver | 2020-10-20 15:45:38 +0100 |
---|---|---|
committer | jdgleaver | 2020-10-20 15:45:38 +0100 |
commit | c67092ae0078b6f27f4c0b40f173fb9a724f3e4a (patch) | |
tree | f4b3502b4d191a68b23783370dc55feb823de1c4 /libretro.h | |
parent | 8acd98afd3510ba258b93821a4d7796ba31a9b2f (diff) | |
download | snes9x2005-c67092ae0078b6f27f4c0b40f173fb9a724f3e4a.tar.gz snes9x2005-c67092ae0078b6f27f4c0b40f173fb9a724f3e4a.tar.bz2 snes9x2005-c67092ae0078b6f27f4c0b40f173fb9a724f3e4a.zip |
Frameskip improvements
Diffstat (limited to 'libretro.h')
-rw-r--r-- | libretro.h | 30 |
1 files changed, 30 insertions, 0 deletions
@@ -1344,6 +1344,36 @@ enum retro_mod * in the frontend. */ +#define RETRO_ENVIRONMENT_SET_MINIMUM_AUDIO_LATENCY 63 + /* const unsigned * -- + * Sets minimum frontend audio latency in milliseconds. + * Resultant audio latency may be larger than set value, + * or smaller if a hardware limit is encountered. A frontend + * is expected to honour requests up to 512 ms. + * + * - If value is less than current frontend + * audio latency, callback has no effect + * - If value is zero, default frontend audio + * latency is set + * + * May be used by a core to increase audio latency and + * therefore decrease the probability of buffer under-runs + * (crackling) when performing 'intensive' operations. + * A core utilising RETRO_ENVIRONMENT_SET_AUDIO_BUFFER_STATUS_CALLBACK + * to implement audio-buffer-based frame skipping may achieve + * optimal results by setting the audio latency to a 'high' + * (typically 6x or 8x) integer multiple of the expected + * frame time. + * + * WARNING: This can only be called from within retro_run(). + * Calling this can require a full reinitialization of audio + * drivers in the frontend, so it is important to call it very + * sparingly, and usually only with the users explicit consent. + * An eventual driver reinitialize will happen so that audio + * callbacks happening after this call within the same retro_run() + * call will target the newly initialized driver. + */ + /* VFS functionality */ /* File paths: |