diff options
-rw-r--r-- | libs/ardour/process_thread.cc | 4 | ||||
-rw-r--r-- | libs/ardour/route.cc | 10 |
2 files changed, 5 insertions, 9 deletions
diff --git a/libs/ardour/process_thread.cc b/libs/ardour/process_thread.cc index 58d51bef4e..666c64e211 100644 --- a/libs/ardour/process_thread.cc +++ b/libs/ardour/process_thread.cc @@ -84,6 +84,10 @@ ProcessThread::get_silent_buffers (ChanCount count) for (DataType::iterator t = DataType::begin(); t != DataType::end(); ++t) { for (size_t i= 0; i < count.get(*t); ++i) { + /* every call to get_silent_buffers() by a given thread + * requires that we re-silence them. + */ + sb->get(*t, i).is_silent(false); sb->get(*t, i).clear(); } } diff --git a/libs/ardour/route.cc b/libs/ardour/route.cc index d0dca37e0a..7521f183da 100644 --- a/libs/ardour/route.cc +++ b/libs/ardour/route.cc @@ -404,15 +404,6 @@ Route::process_output_buffers (BufferSet& bufs, bufs.is_silent (false); -#if 0 - cerr << name() << " POB, buffers: count: " << bufs.count() << " avail " << bufs.available() << endl; - int na = bufs.count().n_audio(); - for (int nn = 0; nn < na; ++nn) { - AudioBuffer& ab (bufs.get_audio (nn)); - cerr << "\tAudio buffer " << nn << " @ " << &ab << " data @ " << ab.data() << endl; - } -#endif - /* figure out if we're going to use gain automation */ if (gain_automation_ok) { _amp->setup_gain_automation (start_frame, end_frame, nframes); @@ -563,6 +554,7 @@ void Route::passthru_silence (framepos_t start_frame, framepos_t end_frame, pframes_t nframes, int declick) { BufferSet& bufs (_session.get_silent_buffers (n_process_buffers())); + bufs.set_count (_input->n_ports()); write_out_of_band_data (bufs, start_frame, end_frame, nframes); process_output_buffers (bufs, start_frame, end_frame, nframes, true, declick, false); |