-
- assert(event);
- ret = bt_event_set_packet(event, packet);
- assert(ret == 0);
-
- if (ts_ns != -1) {
- struct bt_clock_value *clock_value;
-
- clock_value = bt_clock_value_create(src_clock_class,
- (uint64_t) ts_ns);
- assert(clock_value);
- ret = bt_event_set_clock_value(event, clock_value);
- assert(ret == 0);
- bt_put(clock_value);
- }
-
- return event;
+ struct bt_event *event;
+ struct bt_notification *notif;
+ struct bt_clock_value *clock_value;
+ struct bt_field *field;
+
+ notif = bt_notification_event_create(graph, src_event_class,
+ packet, cc_prio_map);
+ BT_ASSERT(notif);
+ event = bt_notification_event_borrow_event(notif);
+ BT_ASSERT(event);
+ field = bt_event_borrow_header(event);
+ BT_ASSERT(field);
+ field = bt_field_structure_borrow_field_by_name(field, "ts");
+ BT_ASSERT(field);
+ ret = bt_field_integer_unsigned_set_value(field, (uint64_t) ts_ns);
+ BT_ASSERT(ret == 0);
+ clock_value = bt_event_borrow_clock_value(event, src_clock_class);
+ BT_ASSERT(clock_value);
+ ret = bt_clock_value_set_value(clock_value, (uint64_t) ts_ns);
+ BT_ASSERT(ret == 0);
+ return notif;