From c284823413c31f9fba9ee4f39f501b1d40f5a67b Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 30 Dec 2013 14:26:09 +0100 Subject: optimize peak calculation of silent buffers --- libs/ardour/meter.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'libs/ardour/meter.cc') diff --git a/libs/ardour/meter.cc b/libs/ardour/meter.cc index 5310fd747b..ec736fef69 100644 --- a/libs/ardour/meter.cc +++ b/libs/ardour/meter.cc @@ -107,7 +107,11 @@ PeakMeter::run (BufferSet& bufs, framepos_t /*start_frame*/, framepos_t /*end_fr // Meter audio in to the rest of the peaks for (uint32_t i = 0; i < n_audio; ++i, ++n) { - _peak_signal[n] = compute_peak (bufs.get_audio(i).data(), nframes, _peak_signal[n]); + if (bufs.get_audio(i).silent()) { + _peak_signal[n] = .0f; + } else { + _peak_signal[n] = compute_peak (bufs.get_audio(i).data(), nframes, _peak_signal[n]); + } if (_meter_type & (MeterKrms | MeterK20 | MeterK14 | MeterK12)) { _kmeter[i]->process(bufs.get_audio(i).data(), nframes); } -- cgit v1.2.3