[vlc-devel] [RFC PATCH 07/13] FIXUP: add vlc_clock_ConvertArrayToSystem

Thomas Guillem thomas at gllm.fr
Wed Jun 27 14:41:29 CEST 2018


Allow to convert a set of pts locked. This will be used by the next commit for
spu date conversion. This avoid having 2 different clock point / rate / delay
when converting spu start and stop dates.
---
 src/clock/clock.c | 10 ++++++++++
 src/clock/clock.h |  3 +++
 2 files changed, 13 insertions(+)

diff --git a/src/clock/clock.c b/src/clock/clock.c
index ad6b2152ea..ecf5e9db56 100644
--- a/src/clock/clock.c
+++ b/src/clock/clock.c
@@ -418,6 +418,16 @@ vlc_tick_t vlc_clock_ConvertToSystem(vlc_clock_t * clock, vlc_tick_t pts)
     return system;
 }
 
+void vlc_clock_ConvertArrayToSystem(vlc_clock_t * clock, vlc_tick_t system_now,
+                                    vlc_tick_t *pts_array, size_t pts_count)
+{
+    vlc_clock_main_t * main_clock = clock->owner;
+    vlc_mutex_lock(&main_clock->lock);
+    for (size_t i = 0; i < pts_count; ++i)
+        pts_array[i] = clock->to_system_locked(clock, system_now, pts_array[i]);
+    vlc_mutex_unlock(&main_clock->lock);
+}
+
 vlc_tick_t vlc_clock_ConvertToStream(vlc_clock_t * clock, vlc_tick_t system)
 {
     return vlc_clock_to_stream(clock, system);
diff --git a/src/clock/clock.h b/src/clock/clock.h
index bfc1fd78de..51e34f34e1 100644
--- a/src/clock/clock.h
+++ b/src/clock/clock.h
@@ -106,6 +106,9 @@ int vlc_clock_Wait(vlc_clock_t * clock, vlc_tick_t pts, vlc_tick_t max_duration)
  */
 vlc_tick_t vlc_clock_ConvertToSystem(vlc_clock_t * clock, vlc_tick_t pts);
 
+void vlc_clock_ConvertArrayToSystem(vlc_clock_t * clock, vlc_tick_t system_now,
+                                    vlc_tick_t *pts_array, size_t pts_count);
+
 /**
  * This function converts a timestamp from system to stream time
  */
-- 
2.18.0



More information about the vlc-devel mailing list