Skip to content

Player: unseekable servers no longer restart the film - #73

Merged
professorDeveloper merged 1 commit into
masterfrom
fix/unseekable-stream
Nov 10, 2026
Merged

professorDeveloper merged 1 commit into
masterfrom
fix/unseekable-stream

Conversation

@professorDeveloper

Copy link
Copy Markdown
Owner

Problem

Support ticket (3.2.0, Android, mpv, UHD Movies): "When I try to skip 30 sec it starts playing from the start."

UHD Movies serves Google download links that ignore Range (checked: a ranged request returns 200 with the whole 11 GB file). mpv reports Cannot seek in this stream on every jump. The page treated that line as a playback error and reopened the url, so the film started again from 0:00.

Fix

  • isSeekRefusal() recognises mpv's notice and its --force-seekable hint.
  • The mpv controller raises a new seekRefused listenable instead of an error. The platform player never fires it.
  • The player keeps playing and says once per stream: "This server can't skip ahead. Play from the start, or pick another server." When the title has other servers, the notice has a Change server action.
  • The string is added in all 16 locales.

Checks

  • Analyze is clean on the changed files, and the translation check passes.
  • Full test suite run locally: 3050 passed.

UHD Movies' Google links ignore byte ranges. mpv reports "Cannot seek in
this stream" on every skip, and the page treated it as a playback error,
reopening the url at 0:00. Viewers saw a 30 s skip start the film over.

The mpv controller now raises seekRefused instead of an error, the film
plays on, and the player says once that this server cannot skip, with
Change server when the title has other servers.
@professorDeveloper
professorDeveloper merged commit a2ee6d9 into master Nov 10, 2026
4 checks passed
@professorDeveloper
professorDeveloper deleted the fix/unseekable-stream branch November 10, 2026 05:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant