diff --git a/sprokit/processes/core/downsample_process.cxx b/sprokit/processes/core/downsample_process.cxx index 89ebcb153a..9740a7dc61 100644 --- a/sprokit/processes/core/downsample_process.cxx +++ b/sprokit/processes/core/downsample_process.cxx @@ -185,10 +185,16 @@ ::_step() push_datum_to_port_using_trait( frame_rate, sprokit::datum::complete_datum() ); } - if( d->target_frame_rate_ > 0.0 && - ( ts.has_valid_frame() || ts.has_valid_time() ) ) + if( d->target_frame_rate_ > 0.0 ) { - send_frame = !d->skip_frame( ts, frame_rate ); + if( frame_rate > 0.0 && d->target_frame_rate_ >= frame_rate ) + { + send_frame = true; + } + else if( ts.has_valid_frame() || ts.has_valid_time() ) + { + send_frame = !d->skip_frame( ts, frame_rate ); + } } if( d->start_time_ >= 0.0 &&