ALSA: pcm: Return 0 when size < start_threshold in capture
In __snd_pcm_lib_xfer(), when capture, if state is PREPARED and size is less than start_threshold nothing can be done. As there is no error, 0 is returned. Signed-off-by: Ricardo Biehl Pasquali <pasqualirb@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Родитель
5b394b2ddf
Коммит
62ba568f7a
|
@ -2173,11 +2173,16 @@ snd_pcm_sframes_t __snd_pcm_lib_xfer(struct snd_pcm_substream *substream,
|
||||||
goto _end_unlock;
|
goto _end_unlock;
|
||||||
|
|
||||||
if (!is_playback &&
|
if (!is_playback &&
|
||||||
runtime->status->state == SNDRV_PCM_STATE_PREPARED &&
|
runtime->status->state == SNDRV_PCM_STATE_PREPARED) {
|
||||||
size >= runtime->start_threshold) {
|
if (size >= runtime->start_threshold) {
|
||||||
err = snd_pcm_start(substream);
|
err = snd_pcm_start(substream);
|
||||||
if (err < 0)
|
if (err < 0)
|
||||||
|
goto _end_unlock;
|
||||||
|
} else {
|
||||||
|
/* nothing to do */
|
||||||
|
err = 0;
|
||||||
goto _end_unlock;
|
goto _end_unlock;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
runtime->twake = runtime->control->avail_min ? : 1;
|
runtime->twake = runtime->control->avail_min ? : 1;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче