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]

 



On Fri, 30 Oct 2015 17:36:31 +0100,
Alexander E. Patrakov wrote:
> 
> 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.

dmix is used in other helper functions in pcm_direct.c, so I took it
as is.  Yes, it's a bit confusing, and we may rename it all to other
agnostic name, if it really matters...


thanks,

Takashi
_______________________________________________
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