diff options
Diffstat (limited to 'core/mplayer.c')
-rw-r--r-- | core/mplayer.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/core/mplayer.c b/core/mplayer.c index 9eb81115fc..e873410aa5 100644 --- a/core/mplayer.c +++ b/core/mplayer.c @@ -1437,11 +1437,18 @@ static void sadd_osd_status(char **buffer, struct MPContext *mpctx, bool full) } } saddf_osd_function_sym(buffer, sym); - sadd_hhmmssff(buffer, get_current_time(mpctx), fractions); - if (full) { - saddf(buffer, " / "); - sadd_hhmmssff(buffer, get_time_length(mpctx), fractions); - sadd_percentage(buffer, get_percent_pos(mpctx)); + char *custom_msg = mpctx->opts.osd_status_msg; + if (custom_msg && full) { + char *text = mp_property_expand_string(mpctx, custom_msg); + *buffer = talloc_strdup_append(*buffer, text); + talloc_free(text); + } else { + sadd_hhmmssff(buffer, get_current_time(mpctx), fractions); + if (full) { + saddf(buffer, " / "); + sadd_hhmmssff(buffer, get_time_length(mpctx), fractions); + sadd_percentage(buffer, get_percent_pos(mpctx)); + } } } |