diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-04-01 18:02:28 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2009-04-01 18:02:28 +0000 |
| commit | 6429b8e08efe1b23e0a766ca15ec4f65424c2ff4 (patch) | |
| tree | 4f2bd8c8c44eebb40c5c545ccbca6e703b59fafd /src/plugins/Output/alsa/outputalsa.cpp | |
| parent | 9c09ee9d873542bb5bed8a8c334f68ba9d84351f (diff) | |
| download | qmmp-6429b8e08efe1b23e0a766ca15ec4f65424c2ff4.tar.gz qmmp-6429b8e08efe1b23e0a766ca15ec4f65424c2ff4.tar.bz2 qmmp-6429b8e08efe1b23e0a766ca15ec4f65424c2ff4.zip | |
some core fixes and improvements
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@886 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Output/alsa/outputalsa.cpp')
| -rw-r--r-- | src/plugins/Output/alsa/outputalsa.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/plugins/Output/alsa/outputalsa.cpp b/src/plugins/Output/alsa/outputalsa.cpp index 5e9c02938..6ed462e16 100644 --- a/src/plugins/Output/alsa/outputalsa.cpp +++ b/src/plugins/Output/alsa/outputalsa.cpp @@ -271,6 +271,7 @@ void OutputALSA::flush() { snd_pcm_uframes_t l = snd_pcm_bytes_to_frames(pcm_handle, m_prebuf_fill); long m; + l = snd_pcm_bytes_to_frames(pcm_handle, l); while (l > 0) { if ((m = alsa_write(m_prebuf, l)) >= 0) @@ -283,6 +284,9 @@ void OutputALSA::flush() else break; } + snd_pcm_nonblock(pcm_handle, 0); + snd_pcm_drain(pcm_handle); + snd_pcm_nonblock(pcm_handle, 1); } long OutputALSA::alsa_write(unsigned char *data, long size) @@ -340,6 +344,7 @@ long OutputALSA::alsa_write(unsigned char *data, long size) } return 0; } + qDebug ("OutputALSA: error: %s", snd_strerror(m)); return -1; } |
