diff options
-rw-r--r-- | src/sink.cc | 2 | ||||
-rw-r--r-- | src/source.cc | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/sink.cc b/src/sink.cc index 779dd38..1211b7e 100644 --- a/src/sink.cc +++ b/src/sink.cc @@ -45,7 +45,7 @@ int Sink::writeSamples(const char *pcm, size_t size) { int rc; - rc = snd_pcm_writei(handle, pcm, size / sizeof(short)); + rc = snd_pcm_writei(handle, pcm, size / sizeof(short) / _channels); if(rc == -EPIPE) { // EPIPE means overrun snd_pcm_prepare(handle); diff --git a/src/source.cc b/src/source.cc index 03faa15..6574970 100644 --- a/src/source.cc +++ b/src/source.cc @@ -46,7 +46,7 @@ int Source::readSamples(char *pcm, size_t maxsize) { int rc; - rc = snd_pcm_readi(handle, pcm, maxsize / sizeof(short)); + rc = snd_pcm_readi(handle, pcm, maxsize / sizeof(short) / _channels); if(rc == -EPIPE) { // EPIPE means overrun snd_pcm_prepare(handle); |