From f58b386ffc546d6927c0708e329d2e7a8066cfb7 Mon Sep 17 00:00:00 2001 From: Tristan Matthews <tristan.matthews@savoirfairelinux.com> Date: Wed, 21 Aug 2013 17:03:39 -0400 Subject: [PATCH] * #28691: pulseaudio: fix resampling of captured mic input --- daemon/src/audio/pulseaudio/pulselayer.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/daemon/src/audio/pulseaudio/pulselayer.cpp b/daemon/src/audio/pulseaudio/pulselayer.cpp index 26f59c0b15..3f8e07cf84 100644 --- a/daemon/src/audio/pulseaudio/pulselayer.cpp +++ b/daemon/src/audio/pulseaudio/pulselayer.cpp @@ -509,8 +509,8 @@ void PulseLayer::readFromMic() const char *data = NULL; size_t bytes; - size_t sample_size = record_->sampleSize(); - uint8_t channels = record_->channels(); + const size_t sample_size = record_->sampleSize(); + const uint8_t channels = record_->channels(); if (pa_stream_peek(record_->pulseStream() , (const void**) &data , &bytes) < 0 or !data) return; @@ -519,7 +519,9 @@ void PulseLayer::readFromMic() outfile.write((const char *)data, bytes); #endif - size_t samples = bytes / sample_size; + assert(channels); + assert(sample_size); + const size_t samples = bytes / sample_size / channels; AudioBuffer in(samples, channels, sampleRate_); in.deinterleave((SFLAudioSample*)data, samples, channels); -- GitLab