summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2017-12-17 22:11:10 +0100
committerStefano Pigozzi <stefano.pigozzi@gmail.com>2017-12-23 00:32:59 +0100
commit822b247d10fe14c83e8d31223a3922f68695a196 (patch)
treef77523d8d6b12519def0a740bb23eac51eb8b315
parenta23a98f648857986228237525492b72fc9ee6960 (diff)
downloadmpv-822b247d10fe14c83e8d31223a3922f68695a196.tar.bz2
mpv-822b247d10fe14c83e8d31223a3922f68695a196.tar.xz
player: show demuxer cache buffered amount in bytes in the status line
I don't want to add another field to display stream and demuxer cache separately, so just add them up. This strangely makes sense, since the forward buffered stream cache amount consists of data not read by the demuxer yet. (If the demuxer cache has buffered the full stream, the forward buffered stream cache amount is 0.)
-rw-r--r--DOCS/man/input.rst4
-rw-r--r--DOCS/man/mpv.rst6
-rw-r--r--player/osd.c9
3 files changed, 13 insertions, 6 deletions
diff --git a/DOCS/man/input.rst b/DOCS/man/input.rst
index 4e81a3ce2d..b67b490d8b 100644
--- a/DOCS/man/input.rst
+++ b/DOCS/man/input.rst
@@ -1273,6 +1273,9 @@ Property list
buffering amount, while the seek ranges represent the buffered data that
can actually be used for cached seeking.
+ ``fw-bytes`` is the number of bytes of packets buffered in the range
+ starting from the current decoding position.
+
When querying the property with the client API using ``MPV_FORMAT_NODE``,
or with Lua ``mp.get_property_native``, this will return a mpv_node with
the following contents:
@@ -1284,6 +1287,7 @@ Property list
MPV_FORMAT_NODE_MAP
"start" MPV_FORMAT_DOUBLE
"end" MPV_FORMAT_DOUBLE
+ "fw-bytes" MPV_FORMAT_INT64
Other fields (might be changed or removed in the future):
diff --git a/DOCS/man/mpv.rst b/DOCS/man/mpv.rst
index d19d9a6db6..12c3ec8cdf 100644
--- a/DOCS/man/mpv.rst
+++ b/DOCS/man/mpv.rst
@@ -683,8 +683,10 @@ listed.
(``drop-frame-count`` property.)
- Cache state, e.g. ``Cache: 2s+134KB``. Visible if the stream cache is enabled.
The first value shows the amount of video buffered in the demuxer in seconds,
- the second value shows *additional* data buffered in the stream cache in
- kilobytes. (``demuxer-cache-duration`` and ``cache-used`` properties.)
+ the second value shows the sum of the demuxer forward cache size and the
+ *additional* data buffered in the stream cache in kilobytes.
+ (``demuxer-cache-duration``, ``demuxer-cache-state``, ``cache-used``
+ properties.)
PROTOCOLS
diff --git a/player/osd.c b/player/osd.c
index 9477dd3f38..e9fda355c4 100644
--- a/player/osd.c
+++ b/player/osd.c
@@ -261,11 +261,12 @@ static void term_osd_print_status_lazy(struct MPContext *mpctx)
} else {
saddf(&line, "%2ds", (int)s.ts_duration);
}
- if (info.size > 0) {
- if (info.fill >= 1024 * 1024) {
- saddf(&line, "+%lldMB", (long long)(info.fill / 1024 / 1024));
+ int64_t cache_size = s.fw_bytes + info.fill;
+ if (cache_size > 0) {
+ if (cache_size >= 1024 * 1024) {
+ saddf(&line, "+%lldMB", (long long)(cache_size / 1024 / 1024));
} else {
- saddf(&line, "+%lldKB", (long long)(info.fill / 1024));
+ saddf(&line, "+%lldKB", (long long)(cache_size / 1024));
}
}
}