+ stream = &file_stream->parent;
+ if (iter->parent.end_pos &&
+ iter->parent.end_pos->type == BT_SEEK_TIME &&
+ stream->real_timestamp > iter->parent.end_pos->u.seek_time) {
+ goto stop;
+ }
+ ret->parent = g_ptr_array_index(stream->events_by_id,
+ stream->event_id);
+
+ if (!file_stream->pos.packet_index)
+ packet_index = NULL;
+ else
+ packet_index = &g_array_index(file_stream->pos.packet_index,
+ struct packet_index, file_stream->pos.cur_index);
+ iter->events_lost = 0;
+ if (packet_index && packet_index->events_discarded >
+ file_stream->pos.last_events_discarded) {
+ if (flags)
+ *flags |= BT_ITER_FLAG_LOST_EVENTS;
+ iter->events_lost += packet_index->events_discarded -
+ file_stream->pos.last_events_discarded;
+ file_stream->pos.last_events_discarded =
+ packet_index->events_discarded;
+ }
+
+ if (ret->parent->stream->stream_id > iter->callbacks->len)
+ goto end;
+
+ process_callbacks(iter, ret->parent->stream);