mpv-player / mpv-player/mpv

Vapoursynth not reinitialized on display change

Open
#7,542 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

core:vapoursynth
Dominant language
C
Stars
37k
Forks
3.5k
Avg merge
1d 10h
Merged PRs (30d)
22

Description

Important Information

Requires Vapoursynth.

Official shinchiro Windows nightly.

mpv 0.32.0-258-g281f5c63c1 Copyright © 2000-2020 mpv/MPlayer/mplayer2 projects
built on Sun Mar 15 22:10:08 +08 2020
FFmpeg library versions:
libavutil 56.42.100
libavcodec 58.75.100
libavformat 58.41.100
libswscale 5.6.101
libavfilter 7.77.100
libswresample 3.6.100
FFmpeg version: git-2020-03-14-425b6a9a2

Windows 10 Pro 1909 18363.720

Reproduction steps
  1. Enable vapoursynth in Windows with script changing FPS based on display_fps.
  2. Move the window to another display or start it with -fs-screen=
  3. Note the downsampling ratio is wrong and is corrected when seek happens.

Note: Used to be fine in very old builds, but cannot remember when - probably in December.

Expected behavior

Vapoursynth is reinitialized when window switches displays, including starting fullscreen on a different displays, and/or is provided updated display_fps.

Actual behavior

Vapoursynth is not reinitialized, display_fps is incorrect when window is moved to a different display.

Log file

vapoursynth-display-fps.txt
svp.py.txt

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue with Vapoursynth on Windows 10, moving the window between displays or using -fs-screen, and review the attached vapoursynth-display-fps.txt and svp.py.txt files. Trace how display_fps changes reach Vapoursynth and how display changes trigger reinitialization. Done means the script receives the correct display_fps after a display switch or fullscreen startup, without requiring a seek.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.