X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=formats%2Fctf%2Fevents.c;h=39620383879b3aae0076bb9aedf710e2d9c88d22;hp=d14836b07135e25a447e23b68dd4c42e4f5229d6;hb=305c65e5d7156ae7936f07ad93dd45ac318b4ce2;hpb=57f3005ee4ea188f0a78edbd172a6bad9a70d3f5 diff --git a/formats/ctf/events.c b/formats/ctf/events.c index d14836b0..39620383 100644 --- a/formats/ctf/events.c +++ b/formats/ctf/events.c @@ -29,6 +29,8 @@ #include #include +#include "events-private.h" + /* * thread local storage to store the last error that occured * while reading a field, this variable must be accessed by @@ -320,36 +322,19 @@ error: uint64_t bt_ctf_get_timestamp_raw(struct bt_ctf_event *event) { if (event && event->stream->has_timestamp) - return event->stream->timestamp; + return ctf_get_timestamp_raw(event->stream, + event->stream->timestamp); else return -1ULL; } uint64_t bt_ctf_get_timestamp(struct bt_ctf_event *event) { - uint64_t ts_nsec; - struct ctf_trace *trace; - struct trace_collection *tc; - uint64_t tc_offset; - uint64_t timestamp; - - if (!event->stream->has_timestamp) { + if (event && event->stream->has_timestamp) + return ctf_get_timestamp(event->stream, + event->stream->timestamp); + else return -1ULL; - } - - trace = event->stream->stream_class->trace; - tc = trace->collection; - tc_offset = tc->single_clock_offset_avg; - timestamp = event->stream->timestamp; - if (event->stream->current_clock->freq == 1000000000ULL) { - ts_nsec = timestamp; - } else { - ts_nsec = (uint64_t) ((double) timestamp * 1000000000.0 - / (double) event->stream->current_clock->freq); - } - ts_nsec += tc_offset; - - return ts_nsec; } static void bt_ctf_field_set_error(int error)