Re: linux-6.4 alsa sound broken

From: Oswald Buddenhagen
Date: Wed May 03 2023 - 16:00:59 EST


On Wed, May 03, 2023 at 09:32:02PM +0200, Jaroslav Kysela wrote:
On 03. 05. 23 18:10, Takashi Iwai wrote:
The dmix uses the silence_size=boundary as a fill-all operation, and
it's a free-wheel mode, so supposedly something was overlooked in your
code refactoring.

Could you check it and address quickly? I'd like to fix it before
6.4-rc1 release, so if no fix comes up in a couple of days, I'll have
to revert the change for 6.4-rc1.

I would revert this patch.

It seems that this "do silence right after the playback is finished" mechanism is not handled in the updated code (and I overlooked that, too):

no, there is nothing wrong with the code _per se_.

what's happening is that the dmix plugin doesn't update the application pointer, and somehow gets away with it.

that means that it would have never worked with thresholded silencing mode, either, but, well, it uses top-up mode.

anyway, this means that we need to revert the code path for top-up mode, which means reverting most of the patch's "meat".
i think i can do better than your proposal, but not today anymore.

fwiw, the echo results from the plugin apparently summing up the samples in the buffer without clearing it first, that is, it relies on the auto-silencing doing the clearing, which the patch broke under the given circumstances. rather obvious in retrospect.

regards