On Tue, 11 Mar 2025 14:14:47 +0100,
Alexandre Ratchov <a...@caoua.org> wrote:
> 
> On Tue, Mar 11, 2025 at 01:20:03PM +0100, Emiel Kollof wrote:
> > ffmpeg0: xrun, pause cycle
> > ffmpeg0: xrun, pause cycle
> 
> FWIW, these traces show that ffmpeg didn't provide samples to play (or
> didn't consume recorded samples). So sndiod paused it. This is not
> related to usb.
> 
> > rsnd/0: rec hw xrun, rused = 480 / 3840
> >
> 
> This debug trace shows that the kernel has produced 480 samples
> (i.e. one block) that sndiod hasn't fetched yet. As there's space for
> 3840 samples, this is not a problem.
> 
> As certain usb interfaces don't run at a constant sample rate (from
> host point of view), it's OK to have small data bursts.
> 
> > rsnd/0: play hw xrun, pused = 3360 / 3840
> 
> Similar, for playback. There are still 3360 so the buffer isn't empty
> yet.
> 

FWIW I do have almost the same clicking and popping when play some flac file
with: Stream #0:0: Audio: flac, 192000 Hz, stereo, s32 (24 bit)
it doesn't happens on each attemtp, but anying enough. I can reproduce it
via mpd, ffplay and mplayer. At debug log of sndio I do have:

        mpd0: xrun, pause cycle                                                 
                                                             
        mpd0: xrun, pause cycle                                                 
                                                             
        mpd0: xrun, pause cycle                                                 
                                                             
        mpd0: xrun, pause cycle                                                 
                                                             
        rsnd/2: rec hw xrun, rused = 480 / 7680                                 
                                                             
        mpd0: xrun, pause cycle                                                 
                                                             
        rsnd/2: play hw xrun, pused = 7200 / 7680                               
                                                             
        mpd0: xrun, pause cycle                                                 
                                                             
        mpd0: xrun, pause cycle                                                 
                                                             
        mpd0: xrun, pause cycle                                                 
                                                             
        rsnd/2: rec hw xrun, rused = 480 / 7680                                 
                                                             
        mpd0: xrun, pause cycle                                                 
                                                             
        rsnd/2: play hw xrun, pused = 7200 / 7680                               
                                                             
        mpd0: xrun, pause cycle                                                 
                                                             
        rsnd/2: rec hw xrun, rused = 480 / 7680                                 
                                                             
        mpd0: xrun, pause cycle                                                 
                                                             
        rsnd/2: play hw xrun, pused = 7200 / 7680                               
                                                             
        mpd0: xrun, pause cycle                                                 
                                                             
        rsnd/2: rec hw xrun, rused = 480 / 7680                                 
                                                             
        rsnd/2: play hw xrun, pused = 7200 / 7680                               
                                                             
        rsnd/2: rec hw xrun, rused = 480 / 7680                                 
                                                             
        mpd0: xrun, pause cycle                                                 
                                                             
        rsnd/2: play hw xrun, pused = 7200 / 7680                               
                                                             
        mpd0: xrun, pause cycle                                                 
                                                             
        mpd0: xrun, pause cycle                                                 
                                                             
        mpd0: xrun, pause cycle                                                 
                                                             

-- 
wbr, Kirill

Reply via email to