ret = bt_ctfser_write_float32(&stream->ctfser, val,
fc->base.base.alignment, BYTE_ORDER);
} else {
- ret = bt_ctfser_write_float32(&stream->ctfser, val,
+ ret = bt_ctfser_write_float64(&stream->ctfser, val,
fc->base.base.alignment, BYTE_ORDER);
}
goto end;
}
- if (stream->sc->default_clock_class) {
+ if (stream->sc->packets_have_ts_begin) {
/* Beginning time */
ret = bt_ctfser_write_byte_aligned_unsigned_int(&stream->ctfser,
stream->packet_state.beginning_cs, 8, 64, BYTE_ORDER);
if (ret) {
goto end;
}
+ }
+ if (stream->sc->packets_have_ts_end) {
/* End time */
ret = bt_ctfser_write_byte_aligned_unsigned_int(&stream->ctfser,
stream->packet_state.end_cs, 8, 64, BYTE_ORDER);
}
}
- /* Discarded event counter */
- ret = bt_ctfser_write_byte_aligned_unsigned_int(&stream->ctfser,
- stream->packet_state.discarded_events_counter, 8, 64,
- BYTE_ORDER);
- if (ret) {
- goto end;
+ if (stream->sc->has_discarded_events) {
+ /* Discarded event counter */
+ ret = bt_ctfser_write_byte_aligned_unsigned_int(&stream->ctfser,
+ stream->packet_state.discarded_events_counter, 8, 64,
+ BYTE_ORDER);
+ if (ret) {
+ goto end;
+ }
}
/* Sequence number */
}
/* Packet header: magic */
- bt_ctfser_write_byte_aligned_unsigned_int(&stream->ctfser,
+ ret = bt_ctfser_write_byte_aligned_unsigned_int(&stream->ctfser,
UINT64_C(0xc1fc1fc1), 8, 32, BYTE_ORDER);
+ if (ret) {
+ BT_LOGE("Error writing packet header magic: stream-file-name=%s",
+ stream->file_name->str);
+ goto end;
+ }
/* Packet header: UUID */
for (i = 0; i < BABELTRACE_UUID_LEN; i++) {
- bt_ctfser_write_byte_aligned_unsigned_int(&stream->ctfser,
+ ret = bt_ctfser_write_byte_aligned_unsigned_int(&stream->ctfser,
(uint64_t) stream->sc->tc->uuid[i], 8, 8, BYTE_ORDER);
+ if (ret) {
+ BT_LOGE("Error writing packet header UUID: stream-file-name=%s",
+ stream->file_name->str);
+ goto end;
+ }
}
/* Packet header: stream class ID */
- bt_ctfser_write_byte_aligned_unsigned_int(&stream->ctfser,
+ ret = bt_ctfser_write_byte_aligned_unsigned_int(&stream->ctfser,
bt_stream_class_get_id(stream->sc->ir_sc), 8, 64, BYTE_ORDER);
+ if (ret) {
+ BT_LOGE("Error writing packet header stream class id: "
+ "stream-file-name=%s, stream-class-id=%"PRIu64,
+ stream->file_name->str,
+ bt_stream_class_get_id(stream->sc->ir_sc));
+ goto end;
+ }
/* Packet header: stream ID */
- bt_ctfser_write_byte_aligned_unsigned_int(&stream->ctfser,
+ ret = bt_ctfser_write_byte_aligned_unsigned_int(&stream->ctfser,
bt_stream_get_id(stream->ir_stream), 8, 64, BYTE_ORDER);
+ if (ret) {
+ BT_LOGE("Error writing packet header stream id: "
+ "stream-file-name=%s, stream-id=%"PRIu64,
+ stream->file_name->str,
+ bt_stream_get_id(stream->ir_stream));
+ goto end;
+ }
/* Save packet context's offset to rewrite it later */
stream->packet_state.context_offset_bits =