// forward, depending on the timing of the calls.
const InputPoint &base_point = a1.good_sample ? a1 : a0;
assert(duration<double>(base_point.ts.time_since_epoch()).count() >= 0.0);
+
+ // NOTE: Due to extrapolation, input_samples_received can
+ // actually go negative here the few first calls (ie., we asked
+ // about a timestamp where we hadn't actually started producing
+ // samples yet), but that is harmless.
const double input_samples_received = base_point.input_samples_received +
current_estimated_freq_in * duration<double>(ts - base_point.ts).count();
- assert(input_samples_received >= 0.0);
// Estimate the number of input samples _consumed_ after we've run the resampler.
const double input_samples_consumed = total_consumed_samples +