summaryrefslogtreecommitdiffstats
path: root/player/command.c
diff options
context:
space:
mode:
Diffstat (limited to 'player/command.c')
-rw-r--r--player/command.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/player/command.c b/player/command.c
index 9d8528571a..07b9128cc8 100644
--- a/player/command.c
+++ b/player/command.c
@@ -1437,12 +1437,17 @@ static int mp_property_cache_speed(void *ctx, struct m_property *prop,
if (!mpctx->demuxer)
return M_PROPERTY_UNAVAILABLE;
- double speed = -1;
- demux_stream_control(mpctx->demuxer, STREAM_CTRL_GET_CACHE_SPEED, &speed);
- if (speed < 0)
+ double f_speed = -1;
+ demux_stream_control(mpctx->demuxer, STREAM_CTRL_GET_CACHE_SPEED, &f_speed);
+ if (f_speed < 0)
return M_PROPERTY_UNAVAILABLE;
+ int64_t speed = llrint(f_speed);
- return m_property_double_ro(action, arg, speed);
+ if (action == M_PROPERTY_PRINT) {
+ *(char **)arg = talloc_strdup_append(format_file_size(speed), "/s");
+ return M_PROPERTY_OK;
+ }
+ return m_property_int64_ro(action, arg, speed);
}
static int mp_property_cache_idle(void *ctx, struct m_property *prop,