>> So I've run with the Audio USB card with your patch, and the behaviour >> is the same as with HDMI, meaning that echo 1 > xrun_injection outputs >> a xrun in /sys/kernel/tracing/trace, but apart from that, I never have >> an xrun. > > It means that there is no XRUN error, handled neither in PCM core nor > USB-audio driver. It seems I have a total misconception of what is an XRUN then. What I understand from your reply is that the program I launch doesn't create XRUNs anyway (but my interpretation might be mistaken). I changed the code of my test to the following in the write loop : snd_pcm_wait(pcm, 1000 /* milliseconds */); snd_pcm_sframes_t avail = snd_pcm_avail_update(pcm); if (avail < 0) { std::cout << "snd_pcm_avail_update failed\n"; snd_pcm_recover (pcm, avail, 1); } snd_pcm_sframes_t nb_written = snd_pcm_writei(pcm, &buffer[0], frames_per_buffer); if (nb_written < 0) { std::cout << "snd_pcm_writei failed\n"; snd_pcm_recover(pcm, nb_written, 1 /* silent */); xrun_count++; } usleep (100000); // 100 msec So basically I introduced a large sleep to force an audio drop (my buffers are 3 x 64). But this doesn't trigger an XRUN anyway. What is unclear for me is if the code above shall trigger an XRUN or not? Thanks, Raphael _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel