Sunday, July 31, 2022

Re: Firefox and stuttering USB audio

On Sat, Jul 30, 2022 at 02:39:08PM -0700, Courtney wrote:
> I hope it isn't in bad etiquette to resurrect an old piece of mail.
>

OK for me, your mail is attached to the thread.

> Since May I mitigated the stuttering audio issue with Firefox running
> by using Firefox ESR 91. Clearly something beyond 91 added something
> that doesn't jive well with OpenBSD. Now that 91 ESR is gone and it is 102
> the issue has returned.
>
> I have been playing around with a different issue, but in the process
> of messing with that issue I came across something. I ran sndiod in
> debug mode with these flags:
>
> sndiod -dd -f rsnd/0 -F rsnd/1
>
> I then went to try out opening tabs in firefox which then triggered
> a whole bunch of this getting spat out
>
> snd1: rec hw xrun, rused = 1440/7680
> snd1: play hw xrun, pused = 6240/7680
> snd1: rec hw xrun, rused = 960/7680
> snd1: play hw xrun, pused = 6720/7680
> snd1: rec hw xrun, rused = 480/7680
> snd1: play hw xrun, pused = 7200/7680
> snd1: rec hw xrun, rused = 960/7680
> snd1: play hw xrun, pused = 6720/7680
> snd1: rec hw xrun, rused = 480/7680
> snd1: play hw xrun, pused = 7200/7680
> snd1: rec hw xrun, rused = 1440/7680
> snd1: play hw xrun, pused = 6240/7680
> snd1: rec hw xrun, rused = 960/7680
> snd1: play hw xrun, pused = 6720/7680
> snd1: rec hw xrun, rused = 480/7680
> snd1: play hw xrun, pused = 7200/7680
> snd1: rec hw xrun, rused = 960/7680
> snd1: play hw xrun, pused = 6720/7680
> snd1: rec hw xrun, rused = 480/7680
> snd1: play hw xrun, pused = 7200/7680
> snd1: rec hw xrun, rused = 1440/7680
> snd1: play hw xrun, pused = 6240/7680
> snd1: rec hw xrun, rused = 960/7680
> snd1: play hw xrun, pused = 6720/7680
> snd1: rec hw xrun, rused = 480/7680
> snd1: play hw xrun, pused = 7200/7680
> snd1: rec hw xrun, rused = 960/7680
> snd1: play hw xrun, pused = 6720/7680
> snd1: rec hw xrun, rused = 480/7680
> snd1: play hw xrun, pused = 7200/7680
>
> I'm wondering if someone has more of a clue as to what all
> this means.

This confirms that sndiod woke up too late, probably because another
process is using the CPU. The fraction is the portion of the buffer
containing samples. For the play direction, we see that the buffer is
not entierly full, but there are enough samples to continue playing
smoothly. So these are just warnings, there are no underruns at sndiod
level.

I'd suggest you quickly check if there are underruns at firefox level:
Use "-ddd" sndiod options. Whenever firefox underruns, sndiod will
log:

firefox0 vol=127,pst=run: xrun, pause cycle

Is there a new message every time you hear a glitch?

(note that certain programs just stop providing data to sndiod in
order to pause, which will flood you with above messages, but it is
not a problem)

No comments:

Post a Comment