13
0

force re-silence of buffers in ProcessThread::get_silent_buffers(), an interim fix before actually finding out why the buffers are marked silent when they were not

git-svn-id: svn://localhost/ardour2/branches/3.0@10383 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2011-11-01 21:10:46 +00:00
parent 43f8512732
commit ddff1489f2
2 changed files with 5 additions and 9 deletions

View File

@ -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();
}
}

View File

@ -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);