# HG changeset patch # User albeu # Date 1180615322 0 # Node ID ae42377176015240f1341e06f6390a6838c46903 # Parent 0f0803d6544aafa177791cd9acffc248c6e92a97 Move the time printing code out of the length property. diff -r 0f0803d6544a -r ae4237717601 command.c --- 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 diff -r 0f0803d6544a -r ae4237717601 m_property.c --- 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: diff -r 0f0803d6544a -r ae4237717601 m_property.h --- 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);