summaryrefslogtreecommitdiffstats
path: root/demux/demux.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-01-26 13:46:33 +0100
committerwm4 <wm4@nowhere>2015-01-26 13:46:33 +0100
commit00b261135248be957dd14ae9e8ca26430a39fae0 (patch)
tree4bf6d084daca59b6af930b1126d97ea6332c46af /demux/demux.c
parent792db4eee3173f15eb5003f571509d9eb7c12dcf (diff)
downloadmpv-00b261135248be957dd14ae9e8ca26430a39fae0.tar.bz2
mpv-00b261135248be957dd14ae9e8ca26430a39fae0.tar.xz
command: export more details about file seekability
If a file is unseekable (consider e.g. a http server without resume functionality), but the stream cache is active, the player will enable seeking anyway. Until know, client API user couldn't know that this happens, and it has implications on how well seeking will work. So add a property which exports whether this situation applies. Fixes #1522.
Diffstat (limited to 'demux/demux.c')
-rw-r--r--demux/demux.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/demux/demux.c b/demux/demux.c
index 51131dfd4c..e498895aaf 100644
--- a/demux/demux.c
+++ b/demux/demux.c
@@ -758,6 +758,7 @@ static void demux_copy(struct demuxer *dst, struct demuxer *src)
dst->file_contents = src->file_contents;
dst->playlist = src->playlist;
dst->seekable = src->seekable;
+ dst->partially_seekable = src->partially_seekable;
dst->filetype = src->filetype;
dst->ts_resets_possible = src->ts_resets_possible;
dst->rel_seeks = src->rel_seeks;
@@ -905,6 +906,7 @@ static struct demuxer *open_given_type(struct mpv_global *global,
if (!in->d_thread->seekable && stream->uncached_stream) {
mp_verbose(log, "Enabling seeking because stream cache is active.\n");
in->d_thread->seekable = true;
+ in->d_thread->partially_seekable = true;
}
demux_init_cache(demuxer);
demux_changed(in->d_thread, DEMUX_EVENT_ALL);