notit->meta.ec->name->str,
notit->packet);
BT_ASSERT(notit->msg_iter);
- msg = bt_message_event_create(notit->msg_iter,
- notit->meta.ec->ir_ec, notit->packet);
+ BT_ASSERT(notit->meta.sc);
+
+ if (bt_stream_class_borrow_default_clock_class(notit->meta.sc->ir_sc)) {
+ msg = bt_message_event_create_with_default_clock_snapshot(
+ notit->msg_iter, notit->meta.ec->ir_ec,
+ notit->packet, notit->default_clock_snapshot);
+ } else {
+ msg = bt_message_event_create(notit->msg_iter,
+ notit->meta.ec->ir_ec, notit->packet);
+ }
+
if (!msg) {
BT_LOGE("Cannot create event message: "
"notit-addr=%p, ec-addr=%p, ec-name=\"%s\", "
return ret_fc;
}
-static
-void set_event_default_clock_snapshot(struct bt_msg_iter *notit)
-{
- bt_event *event = bt_message_event_borrow_event(notit->event_msg);
- bt_stream_class *sc = notit->meta.sc->ir_sc;
-
- BT_ASSERT(event);
-
- if (bt_stream_class_borrow_default_clock_class(sc)) {
- bt_event_set_default_clock_snapshot(event,
- notit->default_clock_snapshot);
- }
-}
-
static
void create_msg_stream_beginning(struct bt_msg_iter *notit,
bt_message **message)
sc = notit->meta.sc->ir_sc;
BT_ASSERT(sc);
- if (bt_stream_class_packets_have_discarded_event_counter_snapshot(sc)) {
- BT_ASSERT(notit->snapshots.discarded_events != UINT64_C(-1));
- bt_packet_set_discarded_event_counter_snapshot(
- notit->packet, notit->snapshots.discarded_events);
- }
-
- if (bt_stream_class_packets_have_packet_counter_snapshot(sc)) {
- BT_ASSERT(notit->snapshots.packets != UINT64_C(-1));
- bt_packet_set_packet_counter_snapshot(
- notit->packet, notit->snapshots.packets);
- }
-
- if (bt_stream_class_packets_have_default_beginning_clock_snapshot(sc)) {
- BT_ASSERT(notit->snapshots.beginning_clock != UINT64_C(-1));
- bt_packet_set_default_beginning_clock_snapshot(
- notit->packet, notit->snapshots.beginning_clock);
- }
-
- if (bt_stream_class_packets_have_default_end_clock_snapshot(sc)) {
- BT_ASSERT(notit->snapshots.end_clock != UINT64_C(-1));
- bt_packet_set_default_end_clock_snapshot(
- notit->packet, notit->snapshots.end_clock);
- }
-
if (notit->packet_context_field) {
ret = bt_packet_move_context_field(
notit->packet, notit->packet_context_field);
}
BT_ASSERT(notit->msg_iter);
- msg = bt_message_packet_beginning_create(notit->msg_iter,
- notit->packet);
+
+ if (notit->snapshots.beginning_clock == UINT64_C(-1)) {
+ msg = bt_message_packet_beginning_create(notit->msg_iter,
+ notit->packet);
+ } else {
+ msg = bt_message_packet_beginning_create_with_default_clock_snapshot(
+ notit->msg_iter, notit->packet,
+ notit->snapshots.beginning_clock);
+ }
+
if (!msg) {
BT_LOGE("Cannot create packet beginning message: "
"notit-addr=%p, packet-addr=%p",
}
BT_ASSERT(notit->msg_iter);
- msg = bt_message_packet_end_create(notit->msg_iter,
- notit->packet);
+
+ if (notit->snapshots.end_clock == UINT64_C(-1)) {
+ msg = bt_message_packet_end_create(notit->msg_iter,
+ notit->packet);
+ } else {
+ msg = bt_message_packet_end_create_with_default_clock_snapshot(
+ notit->msg_iter, notit->packet,
+ notit->snapshots.end_clock);
+ }
+
if (!msg) {
BT_LOGE("Cannot create packet end message: "
"notit-addr=%p, packet-addr=%p",
switch (notit->state) {
case STATE_EMIT_MSG_EVENT:
BT_ASSERT(notit->event_msg);
- set_event_default_clock_snapshot(notit);
*message = notit->event_msg;
notit->event_msg = NULL;
goto end;