diff options
| -rw-r--r-- | src/plugins/Output/alsa/outputalsa.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/Output/alsa/outputalsa.cpp b/src/plugins/Output/alsa/outputalsa.cpp index 460a300c4..2270d8a94 100644 --- a/src/plugins/Output/alsa/outputalsa.cpp +++ b/src/plugins/Output/alsa/outputalsa.cpp @@ -283,7 +283,13 @@ qint64 OutputALSA::writeAudio(unsigned char *data, qint64 maxSize) long OutputALSA::alsa_write(unsigned char *data, long size) { - long m = 0; + long m = snd_pcm_avail_update(pcm_handle); + if(m >= 0 && m < size) + { + snd_pcm_wait(pcm_handle, 500); + return 0; + } + if (m_use_mmap) m = snd_pcm_mmap_writei (pcm_handle, data, size); else |
