Re: [PATCH v4 1/3] docs: sound: add 'pcmtest' driver documentation

From: Takashi Iwai
Date: Wed Jun 07 2023 - 09:35:49 EST


On Tue, 06 Jun 2023 21:32:52 +0200,
Ivan Orlov wrote:
>
> Add documentation for the new Virtual PCM Test Driver. It covers all
> possible usage cases: errors and delay injections, random and
> pattern-based data generation, playback and ioctl redefinition
> functionalities testing.
>
> We have a lot of different virtual media drivers, which can be used for
> testing of the userspace applications and media subsystem middle layer.
> However, all of them are aimed at testing the video functionality and
> simulating the video devices. For audio devices we have only snd-dummy
> module, which is good in simulating the correct behavior of an ALSA device.
> I decided to write a tool, which would help to test the userspace ALSA
> programs (and the PCM middle layer as well) under unusual circumstances
> to figure out how they would behave. So I came up with this Virtual PCM
> Test Driver.
>
> This new Virtual PCM Test Driver has several features which can be useful
> during the userspace ALSA applications testing/fuzzing, or testing/fuzzing
> of the PCM middle layer. Not all of them can be implemented using the
> existing virtual drivers (like dummy or loopback). Here is what can this
> driver do:
>
> - Simulate both capture and playback processes
> - Check the playback stream for containing the looped pattern
> - Generate random or pattern-based capture data
> - Inject delays into the playback and capturing processes
> - Inject errors during the PCM callbacks
>
> Also, this driver can check the playback stream for containing the
> predefined pattern, which is used in the corresponding selftest to check
> the PCM middle layer data transferring functionality. Additionally, this
> driver redefines the default RESET ioctl, and the selftest covers this PCM
> API functionality as well.
>
> The driver supports both interleaved and non-interleaved access modes, and
> have separate pattern buffers for each channel. The driver supports up to
> 4 channels and up to 8 substreams.
>
> Signed-off-by: Ivan Orlov <ivan.orlov0322@xxxxxxxxx>

Now I merged all three patches.


thanks,

Takashi