Re: [PATCH alsa-lib] pcm: dmix: Handle slave PCM xrun and unexpected states properly

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

 



30.10.2015 21:33, Alexander E. Patrakov wrote:
[resending to the list, sorry for the duplicate]

30.10.2015 21:18, Takashi Iwai wrote:
Currently, dmix & co plugins ignore the XRUN state of the slave PCM.
It's (supposedly) because dmix deals with the PCM in a free-wheel
mode, which is equivalent with XRUN.  But, this difference (whether
the correct freewheel or XRUN) should be done by the kernel, and we
may have an XRUN state indeed (e.g. via xrun injection).

This patch fixes this lack of behavior, to handle PCM xrun and does
prepare when the slave PCM is in such a state.

Also, the patch consolidates the prepare callback for all dmix, dsnoop
and dshare plugins, and fix/cleanup a bit for dshare/dsnoop codes to
align with dsnoop code.

Signed-off-by: Takashi Iwai <tiwai@xxxxxxx>

Just a nitpick.

In snd_pcm_direct_prepare(), you use snd_pcm_state(...) directly in the
switch statement, but in other places of the patch you introduce a
temporary variable for the state. Why?

Sorry for the noise - you do need a temporary variable, because you return its value.


Also, in snd_pcm_direct_prepare(), the "dmix" variable name is confusing.


So, other than that, the patch looks OK.

--
Alexander E. Patrakov
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux