usb:gadget.f_uac2: Options for u_audio.c behavior when UAC2 host is disconnected/idle

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I would like to start a discussion about options to make the g_audio device more usable. Currently if the USB UAC2 function does not supply/consume any audio data (USB disconnected or the host side is not using the UAC2 gadget, the g_audio devices (both capture and playback) are waiting, leading eventually to an error. This makes using the feature rather inconvenient.

Possible options (certainly more are available)

1) The alsa devices will be openable at any time and when the UAC2 is not producing/consuming, the alsa devices will be generating zeros/dropping samples. Dropping samples would be similar to the snd-aloop behavior.

2) Opening the alsa devices will fail when the UAC2 is not actively running, and the pcm stream will be closed when UAC2 stops being active. This is similar to how SPDIF receivers are coded in alsa drivers - if change in the incoming SPDIF stream is detected (no samples, different sample rate), the pcm stream is closed https://github.com/torvalds/linux/blob/master/sound/i2c/other/ak4117.c#L504 It is up to the application to handle the error/close.

The behavior could be configurable via some params, if needed.

Thanks a lot for any suggestions and recommendations.

Best regards,


Pavel.




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux