From 3f0b8717c2d257569488b7a90e4f7bd77bf2534c Mon Sep 17 00:00:00 2001
From: Thomas Guillem <thomas@gllm.fr>
Date: Thu, 12 May 2022 16:01:24 +0200
Subject: [PATCH] tracer: pass the timestamp to modules

To let tracer users send their own timestamp.
---
 include/vlc_tracer.h  | 2 +-
 modules/logger/json.c | 4 ++--
 src/misc/tracer.c     | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/vlc_tracer.h b/include/vlc_tracer.h
index 0bda1f486fe6..2c0b3396790a 100644
--- a/include/vlc_tracer.h
+++ b/include/vlc_tracer.h
@@ -73,7 +73,7 @@ struct vlc_tracer;
  * should be ended by a \ref vlc_tracer_entry with a NULL key.
  * \param data data pointer as provided to vlc_tracer_Trace().
  */
-typedef void (*vlc_trace_cb) (void *data, va_list entries);
+typedef void (*vlc_trace_cb) (void *data, vlc_tick_t ts, va_list entries);
 
 struct vlc_tracer_operations
 {
diff --git a/modules/logger/json.c b/modules/logger/json.c
index f41d3bf9f05f..f97ba95a7eee 100644
--- a/modules/logger/json.c
+++ b/modules/logger/json.c
@@ -156,14 +156,14 @@ static void JsonEndObjectSection(FILE *stream)
     fputc('}', stream);
 }
 
-static void TraceJson(void *opaque, va_list entries)
+static void TraceJson(void *opaque, vlc_tick_t ts, va_list entries)
 {
     vlc_tracer_sys_t *sys = opaque;
     FILE* stream = sys->stream;
 
     flockfile(stream);
     JsonStartObjectSection(stream, NULL);
-    JsonPrintKeyValueNumber(stream, "Timestamp", TIME_FROM_TICK(vlc_tick_now()));
+    JsonPrintKeyValueNumber(stream, "Timestamp", TIME_FROM_TICK(ts));
     fputc(',', stream);
 
     JsonStartObjectSection(stream, "Body");
diff --git a/src/misc/tracer.c b/src/misc/tracer.c
index d0d2f088b7d0..2d3852cfbffe 100644
--- a/src/misc/tracer.c
+++ b/src/misc/tracer.c
@@ -55,7 +55,7 @@ void vlc_tracer_Trace(struct vlc_tracer *tracer, ...)
     /* Pass message to the callback */
     va_list entries;
     va_start(entries, tracer);
-    tracer->ops->trace(module->opaque, entries);
+    tracer->ops->trace(module->opaque, vlc_tick_now(), entries);
     va_end(entries);
 }
 
-- 
GitLab