diff options
author | Ralf Nolden <nolden@kde.org> | 2016-06-27 10:57:05 +0200 |
---|---|---|
committer | Ralf Nolden <nolden@kde.org> | 2016-06-29 09:55:13 +0000 |
commit | bc53bb7913bbf68519508a0ab76c513335b3e5bb (patch) | |
tree | 1bffc021cd6072bf20764cb4ddfefbc684367bf8 /src/plugins/alsa/qalsaaudioinput.cpp | |
parent | 970128036ab6850ba292465806afe5b799851ac1 (diff) |
Fix use of -ESTRPIPE where it's not available in errno
NetBSD does not have -ESTRPIPE, so use it only when defined.
http://netbsd.gw.com/cgi-bin/man-cgi?errno+2+NetBSD-6.0
and https://mail-index.netbsd.org/pkgsrc-wip-discuss/2013/10/27/msg002529.html
Change-Id: I92921a16fcae95f58a870aea98ca66f5a5d30a12
Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>
Diffstat (limited to 'src/plugins/alsa/qalsaaudioinput.cpp')
-rw-r--r-- | src/plugins/alsa/qalsaaudioinput.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/plugins/alsa/qalsaaudioinput.cpp b/src/plugins/alsa/qalsaaudioinput.cpp index 2d636d1e5..599e10177 100644 --- a/src/plugins/alsa/qalsaaudioinput.cpp +++ b/src/plugins/alsa/qalsaaudioinput.cpp @@ -121,6 +121,12 @@ int QAlsaAudioInput::xrun_recovery(int err) int count = 0; bool reset = false; + // ESTRPIPE is not available in all OSes where ALSA is available + int estrpipe = EIO; +#ifdef ESTRPIPE + estrpipe = ESTRPIPE; +#endif + if(err == -EPIPE) { errorState = QAudio::UnderrunError; err = snd_pcm_prepare(handle); @@ -131,8 +137,7 @@ int QAlsaAudioInput::xrun_recovery(int err) if (bytesAvailable <= 0) reset = true; } - - } else if((err == -ESTRPIPE)||(err == -EIO)) { + } else if ((err == -estrpipe)||(err == -EIO)) { errorState = QAudio::IOError; while((err = snd_pcm_resume(handle)) == -EAGAIN){ usleep(100); @@ -541,8 +546,10 @@ qint64 QAlsaAudioInput::read(char* data, qint64 len) if(readFrames == -EPIPE) { errorState = QAudio::UnderrunError; err = snd_pcm_prepare(handle); +#ifdef ESTRPIPE } else if(readFrames == -ESTRPIPE) { err = snd_pcm_prepare(handle); +#endif } if(err != 0) break; } |