diff options
author | Sven Gothel <[email protected]> | 2023-05-20 21:15:52 +0200 |
---|---|---|
committer | Sven Gothel <[email protected]> | 2023-05-20 21:15:52 +0200 |
commit | 32563a63b9c10820ffd1509fa12268ba40430d00 (patch) | |
tree | a5586d07edb98b1fa4899d12003bebfda1ff7c2e /jnlp-files | |
parent | 772cde0c3cc97a0c2a932f9398539500363f60c0 (diff) |
Fix ALAudioSink.dequeueBuffer(): AL_BUFFERS_PROCESSED result is total not accumulative while waiting (not yet dequeueing), ...
Further:
- brackets were missed in 'sleep =', i.e.
'releaseBufferLimes-releasedBuffers * avgBufferDura' -> '(releaseBufferLimes-releasedBuffers) * avgBufferDura)'
- The minimum sleep of avgFrameDuration 'sleep = Math.max(avgFrameDuration, ..'
lead to cut-off smaller sleep cycles and the else branch would only sleep for less (1ms) multiple times.
Hence use the minimum of 2ms, where we subtract 1ms for busy polling.
Notable, this is an extreme situation of small buffer sizes (duration),
but may happen on like synthesizer applications (jsyn).
We actually could use latency (refresh cycle) as used in OpenAL-Soft,
but this is an undocumented feature .. sort of.
Diffstat (limited to 'jnlp-files')
0 files changed, 0 insertions, 0 deletions