summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/sink.cc2
-rw-r--r--src/source.cc2
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);