From 4e8e7d91ddbea584fb42e0d1049e16c5957392b1 Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 16 Nov 2012 20:10:05 +0100 Subject: command: export A/V sync difference as "avsync" property This is the same as on the status line after the "A-V: ". --- DOCS/man/en/input.rst | 1 + core/command.c | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/DOCS/man/en/input.rst b/DOCS/man/en/input.rst index b05885390b..f693436e53 100644 --- a/DOCS/man/en/input.rst +++ b/DOCS/man/en/input.rst @@ -266,6 +266,7 @@ stream-end end position in bytes in source stream stream-length length in bytes (${stream-end} - ${stream-start}) stream-time-pos x time position in source stream (also see time-pos) length length of the current file in seconds +avsync last A/V synchronization difference percent-pos x position in current file (0-100) time-pos x position in current file in seconds chapter x current chapter number diff --git a/core/command.c b/core/command.c index a9cba1800c..2346a9e821 100644 --- a/core/command.c +++ b/core/command.c @@ -285,6 +285,14 @@ static int mp_property_length(m_option_t *prop, int action, void *arg, return m_property_double_ro(prop, action, arg, len); } +static int mp_property_avsync(m_option_t *prop, int action, void *arg, + MPContext *mpctx) +{ + if (!mpctx->sh_audio || !mpctx->sh_video) + return M_PROPERTY_UNAVAILABLE; + return m_property_double_ro(prop, action, arg, mpctx->last_av_difference); +} + /// Current position in percent (RW) static int mp_property_percent_pos(m_option_t *prop, int action, void *arg, MPContext *mpctx) @@ -1383,6 +1391,7 @@ static const m_option_t mp_properties[] = { M_OPT_MIN, 0, 0, NULL }, { "length", mp_property_length, CONF_TYPE_TIME, M_OPT_MIN, 0, 0, NULL }, + { "avsync", mp_property_avsync, CONF_TYPE_DOUBLE }, { "percent-pos", mp_property_percent_pos, CONF_TYPE_INT, M_OPT_RANGE, 0, 100, NULL }, { "time-pos", mp_property_time_pos, CONF_TYPE_TIME, -- cgit v1.2.3