[partially_]seekable property isn't reliable
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 37k
- Forks
- 3.5k
- Avg merge
- 1d 10h
- Merged PRs (30d)
- 22
Description
mpv Information
mpv v0.41.0 Copyright © 2000-2025 mpv/MPlayer/mplayer2 projects
built on Aug 28 2026 19:44:41
libplacebo version: v7.360.1
FFmpeg version: n9.0.1
FFmpeg library versions:
libavcodec 63.1.101
libavdevice 63.1.101
libavfilter 12.1.101
libavformat 63.1.101
libavutil 61.1.101
libswresample 7.1.101
libswscale 10.1.101
Other Information
- Linux version: Manjaro Linux
- Kernel Version: 7.0.9-1-cachyos-bore
- Mesa/GPU Driver Version: OpenGL version string: 4.6 (Compatibility Profile) Mesa 26.2.2-arch1.1
- Window Manager and Version: KDE Plasma 6.7.4
- Source of mpv: repository
Reproduction Steps
The tests are commands to be copied and pasted in a console to observe the properties when opening a non-seekable file and partially seekable (thanks to the cache) stream.
Test 1 (non-seekable file):
p=/tmp/w.lua; mkfifo $p; echo 'local function h(n,v) if v ~= nil then print(n .. " changed to: " .. tostring(v)) end end; mp.observe_property("partially_seekable", "string", h); mp.observe_property("seekable", "string", h)' > $p & mpv --script=$p ealogo.vp6; rm $p
Test 2 (cache-seekable stream):
p=/tmp/w.lua; mkfifo $p; echo 'local function h(n,v) if v ~= nil then print(n .. " changed to: " .. tostring(v)) end end; mp.observe_property("partially_seekable", "string", h); mp.observe_property("seekable", "string", h)' > $p & mpv --script=$p https://9a81dd4ee3884d0dbcacafaf0d81327a.mediatailor.us-east-1.amazonaws.com/v1/master/04fd913bb278d8775298c26fdca9d9841f37601f/RakutenTV-eu_BilliardsTV/playlist.m3u8; rm $p
Expected Behavior
Test 1 (non-seekable file):
seekable changed to: no
Test 2 (cache-seekable stream):
partially_seekable changed to: yes
seekable changed to: yes
Actual Behavior
Test 1 (non-seekable file):
seekable changed to: yes
Test 2 (cache-seekable stream):
seekable changed to: no
Log File
output Test 1 (non-seekable file).txt
output Test 2 (cache-seekable stream).txt
Sample Files
ealogo.vp6.zip
(the ealogo.vp6 file should be extracted first otherwise it will be identified correctly as seekable)
I carefully read all instruction and confirm that I did the following:
- I tested and confirmed that the issue exists with the latest release version or newer.
- I provided all required information including system and mpv version.
- I produced the log file with the exact same set of files, parameters, and conditions used in "Reproduction Steps", with the addition of
--log-file=output.txt. - I produced the log file while the behaviors described in "Actual Behavior" were actively observed.
- I attached the full, untruncated log file.
- I attached the backtrace in the case of a crash.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by running the two provided mpv observe_property reproduction commands and compare their output with the attached logs. Trace the seekable and partially_seekable property entry points in mpv's C source, then verify that non-seekable files and cache-seekable streams report the expected values in both cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- audio-video-rtc, cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100