vlc | branch: master | Jean-Paul Saman <[email protected]> | Wed Aug 20 13:59:35 2014 +0200| [331b0d20610f632d3139d80cce74fa6930b61a63] | committer: Jean-Paul Saman
alsa: put pcm device back into running state after snd_pcm_recover() returned. After recovery the pcm device can be in prepared state. To continue capturing data the device must be put into running state again, hence the call to snd_pcm_start(). > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=331b0d20610f632d3139d80cce74fa6930b61a63 --- modules/access/alsa.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/modules/access/alsa.c b/modules/access/alsa.c index edb8fd7..c2716cf 100644 --- a/modules/access/alsa.c +++ b/modules/access/alsa.c @@ -194,7 +194,23 @@ static void *Thread (void *data) { msg_Warn (demux, "cannot read samples: %s", snd_strerror (frames)); - continue; + snd_pcm_state_t state = snd_pcm_state (pcm); + switch (state) + { + case SND_PCM_STATE_PREPARED: + val = snd_pcm_start (pcm); + if (val < 0) + { + msg_Err (demux, "cannot prepare device: %s", + snd_strerror (val)); + return NULL; + } + continue; + case SND_PCM_STATE_RUNNING: + continue; + default: + break; + } } msg_Err (demux, "cannot recover record stream: %s", snd_strerror (val)); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
