- if (state == Session::Stopped) {
- // If we have input signals, we use those as the indicators
- if (input_signals_.empty()) {
- shared_ptr<Analog> analog = analog_data();
- if (!analog->analog_segments().empty())
- analog->analog_segments().back()->set_complete();
- }
- }
+ // Make sure we don't miss any input samples, just in case
+ if (state == Session::Stopped)
+ gen_input_cond_.notify_one();