From 9ada0139560e2a4c06188e44dfde4ba20d1c4aa1 Mon Sep 17 00:00:00 2001 From: Dudemanguy Date: Fri, 29 Sep 2023 16:07:54 -0500 Subject: [PATCH] libmpv: add mpv_time_ns() 9606c3fca9d568dc43711017dcb35a408c0d2883 added mp_time_ns(). Since we apparently expose the mp_time_us() to clients already, there's no reason to not also expose the new nanosecond one. --- DOCS/client-api-changes.rst | 2 ++ libmpv/client.h | 11 +++++++++-- player/client.c | 5 +++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/DOCS/client-api-changes.rst b/DOCS/client-api-changes.rst index 78ef3e789d58d..f0926471f3ff0 100644 --- a/DOCS/client-api-changes.rst +++ b/DOCS/client-api-changes.rst @@ -32,6 +32,8 @@ API changes :: + --- mpv 0.37.0 --- + 2.2 - add mpv_time_ns() --- mpv 0.36.0 --- 2.1 - add mpv_del_property() --- mpv 0.35.0 --- diff --git a/libmpv/client.h b/libmpv/client.h index 4199744ba7f4d..0a548a58eb633 100644 --- a/libmpv/client.h +++ b/libmpv/client.h @@ -248,7 +248,7 @@ extern "C" { * relational operators (<, >, <=, >=). */ #define MPV_MAKE_VERSION(major, minor) (((major) << 16) | (minor) | 0UL) -#define MPV_CLIENT_API_VERSION MPV_MAKE_VERSION(2, 1) +#define MPV_CLIENT_API_VERSION MPV_MAKE_VERSION(2, 2) /** * The API user is allowed to "#define MPV_ENABLE_DEPRECATED 0" before @@ -602,7 +602,7 @@ MPV_EXPORT mpv_handle *mpv_create_weak_client(mpv_handle *ctx, const char *name) MPV_EXPORT int mpv_load_config_file(mpv_handle *ctx, const char *filename); /** - * Return the internal time in microseconds. This has an arbitrary start offset, + * Return the internal time in nanoseconds. This has an arbitrary start offset, * but will never wrap or go backwards. * * Note that this is always the real time, and doesn't necessarily have to do @@ -615,6 +615,11 @@ MPV_EXPORT int mpv_load_config_file(mpv_handle *ctx, const char *filename); * * Safe to be called from mpv render API threads. */ +MPV_EXPORT int64_t mpv_get_time_ns(mpv_handle *ctx); + +/** + * Same as mpv_get_time_ns but in microseconds. + */ MPV_EXPORT int64_t mpv_get_time_us(mpv_handle *ctx); /** @@ -1951,6 +1956,8 @@ MPV_DEFINE_SYM_PTR(mpv_create_weak_client) #define mpv_create_weak_client pfn_mpv_create_weak_client MPV_DEFINE_SYM_PTR(mpv_load_config_file) #define mpv_load_config_file pfn_mpv_load_config_file +MPV_DEFINE_SYM_PTR(mpv_get_time_ns) +#define mpv_get_time_ns pfn_mpv_get_time_ns MPV_DEFINE_SYM_PTR(mpv_get_time_us) #define mpv_get_time_us pfn_mpv_get_time_us MPV_DEFINE_SYM_PTR(mpv_free_node_contents) diff --git a/player/client.c b/player/client.c index 71e4fb99c7959..f16af4528e0c4 100644 --- a/player/client.c +++ b/player/client.c @@ -2129,6 +2129,11 @@ void mpv_free(void *data) talloc_free(data); } +int64_t mpv_get_time_ns(mpv_handle *ctx) +{ + return mp_time_ns(); +} + int64_t mpv_get_time_us(mpv_handle *ctx) { return mp_time_us();