+ if (strcmp(member_name, "timestamp_begin") == 0 ||
+ strcmp(member_name, "timestamp_end") == 0) {
+ continue;
+ }
+
+ member_field = bt_field_structure_get_field_by_index(
+ stream->packet_context, i);
+ BT_ASSERT(member_field);
+
+ if (strcmp(member_name, "packet_size") == 0 &&
+ !bt_field_is_set_recursive(member_field)) {
+ bt_put(member_field);
+ continue;
+ }
+
+ if (strcmp(member_name, "content_size") == 0 &&
+ !bt_field_is_set_recursive(member_field)) {
+ bt_put(member_field);
+ continue;
+ }
+
+ if (strcmp(member_name, "events_discarded") == 0 &&
+ !bt_field_is_set_recursive(member_field)) {
+ bt_put(member_field);
+ continue;
+ }
+
+ if (strcmp(member_name, "packet_seq_num") == 0 &&
+ !bt_field_is_set_recursive(member_field)) {
+ bt_put(member_field);
+ continue;
+ }
+
+ ret = visit_field_update_clock_value(member_field,
+ &cur_clock_value);
+ bt_put(member_field);
+ if (ret) {
+ BT_LOGW("Cannot automatically update clock value "
+ "in stream's packet context: "
+ "stream-addr=%p, stream-name=\"%s\", "
+ "field-name=\"%s\"",
+ stream, bt_stream_get_name(stream),
+ member_name);
+ goto end;
+ }
+ }
+
+ for (i = 0; i < stream->events->len; i++) {
+ struct bt_event *event = g_ptr_array_index(stream->events, i);
+
+ BT_ASSERT(event);
+ ret = visit_event_update_clock_value(event, &cur_clock_value);
+ if (ret) {
+ BT_LOGW("Cannot automatically update clock value "
+ "in stream's packet context: "
+ "stream-addr=%p, stream-name=\"%s\", "
+ "index=%" PRIu64 ", event-addr=%p, "
+ "event-class-id=%" PRId64 ", "
+ "event-class-name=\"%s\"",
+ stream, bt_stream_get_name(stream),
+ i, event,
+ bt_event_class_get_id(event->event_class),
+ bt_event_class_get_name(event->event_class));
+ goto end;
+ }