* audio: keep blocking AudioOut writes on an even cadence
The blocking queue check only enforced a minimum cushion, so the guest
could queue a burst of buffers and then be blocked for the whole cushion.
Measured on PPSA03647, intervals between guest writes alternated between
0 ms and ~44 ms instead of one 5.33 ms buffer period, while the average
rate stayed correct at 48000 frames/s. Mixers that run on a timer cannot
track that cadence and the music turns slow and warbling.
Keep the cushion as-is, but also hold writes to the buffer period, and
skip that wait when the stream is running low so it cannot underrun.
Intervals become ~5.4 ms with microsecond-level deviation and the menu
music plays correctly.
* audio: reuse output clock after SDL queue priming
---------
Co-authored-by: nmzik <Nmzik@mail.ru>
LINK_FLAGS is a space-delimited string, so when the build path contains
spaces the linker map option is split into bogus arguments and the final
link fails:
clang++: error: no such file or directory:
'pro/KytyPS5/_Build/linux/kyty_emulator_clang_lld.map'
Move -Wl,-Map=<path> out of LINK_FLAGS into target_link_options, which
CMake passes to the linker as a single argument. This completes #26 for
the WIN32 OR LINUX branch (clang/gcc builds); the clang-cl branch was
already converted there.