Fix: handle clock offset with frequency different from 1GHz
[babeltrace.git] / formats / ctf / events-private.h
index bc1dfbd98f3767a77fd41552ad27531b2b2f1c38..6208e563d2315f94994f88c183041bacc8d3d65c 100644 (file)
 
 #include <babeltrace/ctf/events.h>
 #include <babeltrace/ctf-ir/metadata.h>
+#include <babeltrace/clock-internal.h>
 
 static inline
-uint64_t ctf_get_timestamp_raw(struct ctf_stream *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;
-}
-
-static inline
-uint64_t ctf_get_timestamp(struct ctf_stream *stream,
+uint64_t ctf_get_real_timestamp(struct ctf_stream_definition *stream,
                        uint64_t timestamp)
 {
        uint64_t ts_nsec;
@@ -49,7 +35,7 @@ uint64_t ctf_get_timestamp(struct ctf_stream *stream,
        struct trace_collection *tc = trace->collection;
        uint64_t tc_offset = tc->single_clock_offset_avg;
 
-       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;
 }
This page took 0.031164 seconds and 4 git commands to generate.