https://bugs.winehq.org/show_bug.cgi?id=46725
--- Comment #19 from Paul Gofman gofmanp@gmail.com --- (In reply to Ethan Lee from comment #18)
The problem stacks, so if the buffer size on the master changes, all the other buffer sizes change along with it in order to ensure that we are asking for enough data from the application. You can see these calculations here:
Did you try running my test?
How it works for me on Windows, if I substitute some freq instead of 44100 here: (line 967): XA2CALL(CreateSubmixVoice, &sub, 2, 44100, 0, 0, NULL, NULL);
I get that freq / 100 instead of 441 here:
(line 995): ok(test_max_frame_count == 441, "Got unexpected frame count %u.\n", test_max_frame_count);
Do you observe anything different?
I am not immediately suggesting how to implement that, this of course might use some more testing and certainly requires some more insight into the problem.