When protocol decoders learn about the end of the input data, they may
emit more annotations before their operation terminates or gets reset
and re-fed. Do process these late annotations in the application, too.
Without this change, the last annotations are not seen. See bug #292
for an example.
// If the input segment is complete, we've exhausted this segment
if (input_segment->is_complete()) {
#if defined HAVE_SRD_SESSION_SEND_EOF && HAVE_SRD_SESSION_SEND_EOF
+ // Tell protocol decoders about the end of
+ // the input data, which may result in more
+ // annotations being emitted
(void)srd_session_send_eof(srd_session_);
+ new_annotations();
#endif
+
if (current_segment_id_ < (logic_mux_data_->logic_segments().size() - 1)) {
// Process next segment
current_segment_id_++;