View Single Post
Old 12 October 2016, 19:09   #24
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 2,476
Aha, thanks! I typed 96000 into the WinUAE Frequency box.

Starting emulation with WASAPI EX buffer Min (Sound control panel default format 16-bit 48kHz):
WASAPI: IsOffloadCapable() returned 0 00000000
WASAPI: AUDCLNT_E_BUFFER_SIZE_ERROR 0
WASAPI: IsOffloadCapable() returned 0 00000000
WASAPI: '{0.0.0.00000000}.{b32283a3-ec24-40ed-a52a-7128ab296ef6}'
WASAPI: Exclusive Pull CH=2 FREQ=96000 BUF=256 (256)


So Windows' minimum seems to be 256 samples at 96kHz (same latency as 128 samples at 48kHz). Sound played OK. Then I changed buffer to 1:
WASAPI: IsOffloadCapable() returned 0 00000000
WASAPI: Initialize() 88890020
Sorry, can't initialize sound.


Change to buffer 2 and sound plays OK again:
WASAPI: IsOffloadCapable() returned 0 00000000
WASAPI: AUDCLNT_E_BUFFER_SIZE_NOT_ALIGNED: 341 -> 352
WASAPI: IsOffloadCapable() returned 0 00000000
WASAPI: '{0.0.0.00000000}.{b32283a3-ec24-40ed-a52a-7128ab296ef6}'
WASAPI: Exclusive Pull CH=2 FREQ=96000 BUF=352 (352)


Any time I set sound buffer to 1, get the same error and no sound. Buffer Min, 2 or higher work fine though???

Edit to add: error 0x88890020 is AUDCLNT_E_INVALID_DEVICE_PERIOD which according to the MSDN IAudioClient::Initialize page means "Indicates that the device period requested by an exclusive-mode client is greater than 500 milliseconds."

That error code can also mean "Indicates that the requested device period specified with the PeriodInFrames is not an integral multiple of the fundamental periodicity of the audio engine, is shorter than the engine's minimum period, or is longer than the engine's maximum period." (MSDN IAudioClient3::InitializeSharedAudioStream page) But that's only for shared mode, which I wasn't using for this test.

Last edited by mark_k; 12 October 2016 at 20:48.
mark_k is offline  
 
Page generated in 0.05226 seconds with 9 queries