diff options
author | wm4 <wm4@nowhere> | 2013-11-03 19:21:47 +0100 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2013-11-03 19:21:47 +0100 |
commit | a49ab7cc2f9548edcfdd8ad9874050bd41e0b551 (patch) | |
tree | 31aaafcaaafd38c732155d0f71dde36842b5a210 /demux/demux_mf.c | |
parent | 847cbe9d5d03c77491f3139dde6e163426283ccb (diff) | |
download | mpv-a49ab7cc2f9548edcfdd8ad9874050bd41e0b551.tar.bz2 mpv-a49ab7cc2f9548edcfdd8ad9874050bd41e0b551.tar.xz |
demux: make determining seek capability generic
Instead of having each demuxer do it (only demux_mkv actually did...),
let generic code determine whether the file is seekable. This requires
adding exceptions to demuxers where the stream is not seekable, but the
demuxer is.
Sort-of try to improve handling of unseekable files in the player. Exit
early if the file is determined to be unseekable, instead of resetting
all decoders and then performing a pointless seek.
Add an exception to allow seeking if the file is not seekable, but the
stream cache is enabled. Print a warning in this case, because seeking
outside the cache (which we can't prevent since the demuxer is not aware
of this problem) still messes everything up.
Diffstat (limited to 'demux/demux_mf.c')
-rw-r--r-- | demux/demux_mf.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/demux/demux_mf.c b/demux/demux_mf.c index fe8a249320..50888f59ad 100644 --- a/demux/demux_mf.c +++ b/demux/demux_mf.c @@ -210,6 +210,7 @@ static int demux_open_mf(demuxer_t* demuxer, enum demux_check check) mf->sh = sh_video; demuxer->priv=(void*)mf; + demuxer->seekable = true; return 0; |