Mercurial > mplayer.hg
changeset 23416:ae4237717601
Move the time printing code out of the length property.
author | albeu |
---|---|
date | Thu, 31 May 2007 12:42:02 +0000 |
parents | 0f0803d6544a |
children | a829005cbcd5 |
files | command.c m_property.c m_property.h |
diffstat | 3 files changed, 30 insertions(+), 22 deletions(-) [+] |
line wrap: on
line diff
--- a/command.c Thu May 31 12:37:37 2007 +0000 +++ b/command.c Thu May 31 12:42:02 2007 +0000 @@ -283,28 +283,7 @@ !(int) (len = demuxer_get_time_length(mpctx->demuxer))) return M_PROPERTY_UNAVAILABLE; - switch (action) { - case M_PROPERTY_PRINT: - if (!arg) - return M_PROPERTY_ERROR; - else { - int h, m, s = len; - h = s / 3600; - s -= h * 3600; - m = s / 60; - s -= m * 60; - *(char **) arg = malloc(20); - if (h > 0) - sprintf(*(char **) arg, "%d:%02d:%02d", h, m, s); - else if (m > 0) - sprintf(*(char **) arg, "%d:%02d", m, s); - else - sprintf(*(char **) arg, "%d", s); - return M_PROPERTY_OK; - } - break; - } - return m_property_double_ro(prop, action, arg, len); + return m_property_time_ro(prop, action, arg, len); } /// Demuxer meta data
--- a/m_property.c Thu May 31 12:37:37 2007 +0000 +++ b/m_property.c Thu May 31 12:42:02 2007 +0000 @@ -318,6 +318,31 @@ return M_PROPERTY_NOT_IMPLEMENTED; } +int m_property_time_ro(m_option_t* prop,int action, + void* arg,double var) { + switch(action) { + case M_PROPERTY_PRINT: + if (!arg) + return M_PROPERTY_ERROR; + else { + int h, m, s = var; + h = s / 3600; + s -= h * 3600; + m = s / 60; + s -= m * 60; + *(char **) arg = malloc(20); + if (h > 0) + sprintf(*(char **) arg, "%d:%02d:%02d", h, m, s); + else if (m > 0) + sprintf(*(char **) arg, "%d:%02d", m, s); + else + sprintf(*(char **) arg, "%d", s); + return M_PROPERTY_OK; + } + } + return m_property_double_ro(prop,action,arg,var); +} + int m_property_string_ro(m_option_t* prop,int action,void* arg,char* str) { switch(action) { case M_PROPERTY_GET:
--- a/m_property.h Thu May 31 12:37:37 2007 +0000 +++ b/m_property.h Thu May 31 12:42:02 2007 +0000 @@ -185,6 +185,10 @@ int m_property_double_ro(m_option_t* prop,int action, void* arg,double var); +/// Implement print +int m_property_time_ro(m_option_t* prop,int action, + void* arg,double var); + /// get/print the string int m_property_string_ro(m_option_t* prop,int action,void* arg, char* str);