goto end;
}
- stream_instance_id_field = bt_field_structure_get_field_by_name(
+ stream_instance_id_field = bt_field_structure_borrow_field_by_name(
packet_header_field, "stream_instance_id");
if (!stream_instance_id_field) {
goto end;
}
- ret = bt_field_unsigned_integer_get_value(stream_instance_id_field,
+ ret = bt_field_integer_unsigned_get_value(stream_instance_id_field,
&stream_instance_id);
if (ret) {
stream_instance_id = -1ULL;
}
end:
- bt_put(stream_instance_id_field);
return stream_instance_id;
}
uint64_t timestamp_begin_ns = -1ULL;
int64_t timestamp_begin_ns_signed;
struct bt_clock_class *timestamp_begin_clock_class = NULL;
- struct bt_clock_value *clock_value = NULL;
if (!packet_context_field) {
goto end;
}
- timestamp_begin_field = bt_field_structure_get_field_by_name(
+ timestamp_begin_field = bt_field_structure_borrow_field_by_name(
packet_context_field, "timestamp_begin");
if (!timestamp_begin_field) {
goto end;
}
- timestamp_begin_ft = bt_field_get_type(timestamp_begin_field);
+ timestamp_begin_ft = bt_field_borrow_type(timestamp_begin_field);
BT_ASSERT(timestamp_begin_ft);
timestamp_begin_clock_class =
- bt_field_type_integer_get_mapped_clock_class(timestamp_begin_ft);
+ bt_field_type_integer_borrow_mapped_clock_class(timestamp_begin_ft);
if (!timestamp_begin_clock_class) {
goto end;
}
- ret = bt_field_unsigned_integer_get_value(timestamp_begin_field,
+ ret = bt_field_integer_unsigned_get_value(timestamp_begin_field,
×tamp_begin_raw_value);
if (ret) {
goto end;
}
- clock_value = bt_clock_value_create(timestamp_begin_clock_class,
- timestamp_begin_raw_value);
- if (!clock_value) {
- goto end;
- }
-
- ret = bt_clock_value_get_value_ns_from_epoch(clock_value,
- ×tamp_begin_ns_signed);
+ ret = bt_clock_class_cycles_to_ns(timestamp_begin_clock_class,
+ timestamp_begin_raw_value, ×tamp_begin_ns_signed);
if (ret) {
goto end;
}
timestamp_begin_ns = (uint64_t) timestamp_begin_ns_signed;
end:
- bt_put(timestamp_begin_field);
- bt_put(timestamp_begin_ft);
- bt_put(timestamp_begin_clock_class);
- bt_put(clock_value);
return timestamp_begin_ns;
}
goto error;
}
- ret = ctf_fs_ds_file_get_packet_header_context_fields(ds_file,
+ ret = ctf_fs_ds_file_borrow_packet_header_context_fields(ds_file,
&packet_header_field, &packet_context_field);
if (ret) {
BT_LOGE("Cannot get stream file's first packet's header and context fields (`%s`).",
packet_header_field);
begin_ns = get_packet_context_timestamp_begin_ns(ctf_fs_trace,
packet_context_field);
- stream_class = ctf_utils_stream_class_from_packet_header(
+ stream_class = ctf_utils_borrow_stream_class_from_packet_header(
ctf_fs_trace->metadata->trace, packet_header_field);
if (!stream_class) {
goto error;
}
ctf_fs_ds_index_destroy(index);
- bt_put(packet_header_field);
- bt_put(packet_context_field);
- bt_put(stream_class);
return ret;
}
}
if (ds_file_group->stream_id == -1ULL) {
- /* No stream ID */
+ /* No stream ID: use 0 */
ds_file_group->stream = bt_stream_create(
- ds_file_group->stream_class, name->str);
+ ds_file_group->stream_class, name->str,
+ ctf_fs_trace->next_stream_id);
+ ctf_fs_trace->next_stream_id++;
} else {
/* Specific stream ID */
- ds_file_group->stream = bt_stream_create_with_id(
+ ds_file_group->stream = bt_stream_create(
ds_file_group->stream_class, name->str,
ds_file_group->stream_id);
}
for (i = 0; i < count; i++) {
struct bt_clock_class *clock_class =
- bt_trace_get_clock_class_by_index(
+ bt_trace_borrow_clock_class_by_index(
ctf_fs_trace->metadata->trace, i);
BT_ASSERT(clock_class);
ret = bt_clock_class_priority_map_add_clock_class(
ctf_fs_trace->cc_prio_map, clock_class, 0);
- BT_PUT(clock_class);
if (ret) {
goto end;
* private component should also exist.
*/
ctf_fs->priv_comp = priv_comp;
- value = bt_value_map_get(params, "path");
+ value = bt_value_map_borrow(params, "path");
if (value && !bt_value_is_string(value)) {
goto error;
}
value_ret = bt_value_string_get(value, &path_param);
BT_ASSERT(value_ret == BT_VALUE_STATUS_OK);
- BT_PUT(value);
- value = bt_value_map_get(params, "clock-class-offset-s");
+ value = bt_value_map_borrow(params, "clock-class-offset-s");
if (value) {
if (!bt_value_is_integer(value)) {
BT_LOGE("clock-class-offset-s should be an integer");
value_ret = bt_value_integer_get(value,
&ctf_fs->metadata_config.clock_class_offset_s);
BT_ASSERT(value_ret == BT_VALUE_STATUS_OK);
- BT_PUT(value);
}
- value = bt_value_map_get(params, "clock-class-offset-ns");
+ value = bt_value_map_borrow(params, "clock-class-offset-ns");
if (value) {
if (!bt_value_is_integer(value)) {
BT_LOGE("clock-class-offset-ns should be an integer");
value_ret = bt_value_integer_get(value,
&ctf_fs->metadata_config.clock_class_offset_ns);
BT_ASSERT(value_ret == BT_VALUE_STATUS_OK);
- BT_PUT(value);
}
ctf_fs->port_data = g_ptr_array_new_with_free_func(port_data_destroy);
BT_ASSERT(ret == BT_COMPONENT_STATUS_OK);
end:
- bt_put(value);
return ctf_fs;
}