X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=formats%2Fctf%2Fevents-private.h;h=a3caf7aed9092796e2e79e95b999a678c5d45baf;hp=6b3d5a177f3756d9b7436316117de82e11daecd2;hb=f60efc0e475b3c2fca3b2afc584615f6c482c9e7;hpb=03798a93f959f6c694fe98f5647481947607c604 diff --git a/formats/ctf/events-private.h b/formats/ctf/events-private.h index 6b3d5a17..a3caf7ae 100644 --- a/formats/ctf/events-private.h +++ b/formats/ctf/events-private.h @@ -24,21 +24,7 @@ #include #include - -static inline -uint64_t ctf_get_timestamp_raw(struct ctf_stream_definition *stream, - uint64_t timestamp) -{ - uint64_t ts_nsec; - - if (stream->current_clock->freq == 1000000000ULL) { - ts_nsec = timestamp; - } else { - ts_nsec = (uint64_t) ((double) timestamp * 1000000000.0 - / (double) stream->current_clock->freq); - } - return ts_nsec; -} +#include static inline uint64_t ctf_get_real_timestamp(struct ctf_stream_definition *stream, @@ -47,9 +33,14 @@ uint64_t ctf_get_real_timestamp(struct ctf_stream_definition *stream, uint64_t ts_nsec; struct ctf_trace *trace = stream->stream_class->trace; struct trace_collection *tc = trace->collection; - uint64_t tc_offset = tc->single_clock_offset_avg; + uint64_t tc_offset; + + if (tc->clock_use_offset_avg) + tc_offset = tc->single_clock_offset_avg; + else + tc_offset = trace->single_clock->offset; - ts_nsec = ctf_get_timestamp_raw(stream, timestamp); + ts_nsec = clock_cycles_to_ns(stream->current_clock, timestamp); ts_nsec += tc_offset; /* Add offset */ return ts_nsec; }