summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/panner.cc20
1 files changed, 12 insertions, 8 deletions
diff --git a/libs/ardour/panner.cc b/libs/ardour/panner.cc
index ac8e4d05e3..ca4c51fa97 100644
--- a/libs/ardour/panner.cc
+++ b/libs/ardour/panner.cc
@@ -1311,10 +1311,12 @@ Panner::distribute_no_automation (BufferSet& inbufs, BufferSet& outbufs, nframes
dst.read_from(inbufs.get_audio(0), nframes, offset);
// accumulate starting with the second
- BufferSet::audio_iterator i = inbufs.audio_begin();
- for (++i; i != inbufs.audio_end(); ++i) {
- dst.accumulate_from(*i, nframes, offset);
- }
+ if (inbufs.count().n_audio() > 0) {
+ BufferSet::audio_iterator i = inbufs.audio_begin();
+ for (++i; i != inbufs.audio_end(); ++i) {
+ dst.accumulate_from(*i, nframes, offset);
+ }
+ }
} else {
@@ -1324,10 +1326,12 @@ Panner::distribute_no_automation (BufferSet& inbufs, BufferSet& outbufs, nframes
dst.read_from(inbufs.get_audio(0), nframes, offset);
// accumulate (with gain) starting with the second
- BufferSet::audio_iterator i = inbufs.audio_begin();
- for (++i; i != inbufs.audio_end(); ++i) {
- dst.accumulate_with_gain_from(*i, nframes, offset, gain_coeff);
- }
+ if (inbufs.count().n_audio() > 0) {
+ BufferSet::audio_iterator i = inbufs.audio_begin();
+ for (++i; i != inbufs.audio_end(); ++i) {
+ dst.accumulate_with_gain_from(*i, nframes, offset, gain_coeff);
+ }
+ }
}