# HG changeset patch # User reimar # Date 1280048797 0 # Node ID 25820228c2f1d163721556329ff7c11612ffec40 # Parent 94ba361e176610476f991397e6a347a926092c90 Add stream_time_pos property. Patch by Paul Huwe [reicow yahoo com] with some modifications by me. diff -r 94ba361e1766 -r 25820228c2f1 DOCS/tech/slave.txt --- a/DOCS/tech/slave.txt Sun Jul 25 08:40:45 2010 +0000 +++ b/DOCS/tech/slave.txt Sun Jul 25 09:06:37 2010 +0000 @@ -503,6 +503,7 @@ stream_start pos 0 X start pos in stream stream_end pos 0 X end pos in stream stream_length pos 0 X (end - start) +stream_time_pos time 0 X present position in stream (in seconds) chapter int 0 X X X select chapter chapters int X number of chapters angle int 0 X X X select angle diff -r 94ba361e1766 -r 25820228c2f1 command.c --- a/command.c Sun Jul 25 08:40:45 2010 +0000 +++ b/command.c Sun Jul 25 09:06:37 2010 +0000 @@ -352,6 +352,17 @@ return M_PROPERTY_NOT_IMPLEMENTED; } +/// Current stream position in seconds (RO) +static int mp_property_stream_time_pos(m_option_t *prop, int action, + void *arg, MPContext *mpctx) +{ + if (!mpctx->demuxer || mpctx->demuxer->stream_pts == MP_NOPTS_VALUE) + return M_PROPERTY_UNAVAILABLE; + + return m_property_time_ro(prop, action, arg, mpctx->demuxer->stream_pts); +} + + /// Media length in seconds (RO) static int mp_property_length(m_option_t *prop, int action, void *arg, MPContext *mpctx) @@ -2043,6 +2054,8 @@ M_OPT_MIN, 0, 0, NULL }, { "stream_length", mp_property_stream_length, CONF_TYPE_POSITION, M_OPT_MIN, 0, 0, NULL }, + { "stream_time_pos", mp_property_stream_time_pos, CONF_TYPE_TIME, + M_OPT_MIN, 0, 0, NULL }, { "length", mp_property_length, CONF_TYPE_TIME, M_OPT_MIN, 0, 0, NULL }, { "percent_pos", mp_property_percent_pos, CONF_TYPE_INT,