Intel HDA Driver Issue With PCM RW Interleaved

Takashi Iwai tiwai at suse.de
Wed May 19 18:32:15 CEST 2021


On Wed, 19 May 2021 07:48:52 +0200,
re.mcclue wrote:
> 
> I'm trying to play PCM buffer single threaded without buffer underrun.
> Program source: https://gist.github.com/takaswie/d8a9553c230971d974a3dfc759b2ff67
> (struct snd_pcm_sw_params).start_threshold is altered so as to allow specifying the start of audio frame transmission and prevent underrun issues.
> In my application, on ioctl(fd, SNDRV_PCM_IOCTL_STATUS, &status), I receive: File descriptor in bad state
> Output of $(dmesg) is: [ 69.013084] snd_hda_intel 0000:00:1f.3: Too big adjustment 128
> What is causing this issue and how can I solve it?

The warning message is likely a red herring and it's irrelevant from
your bug itself.  The driver has some small number of periods to be
put at the beginning of the buffer for correcting the reported
position.  Judging from the message, you seem to have set a quite high
rate and a very shot number, and that's possibly too tight to operate
properly.


Takashi


More information about the Alsa-devel mailing list