summaryrefslogtreecommitdiffstats
path: root/DOCS/man
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2019-10-17 19:23:35 +0200
committerwm4 <wm4@nowhere>2019-10-17 19:23:35 +0200
commit273cc3055cb5829fe62dce88e596c21ae85ef1c2 (patch)
tree8d9ba90ad2d159d3dbc75e2681b1221ae547b5a7 /DOCS/man
parent2fcd5271eb045e235c281faa73d8676c4bcea4b3 (diff)
downloadmpv-273cc3055cb5829fe62dce88e596c21ae85ef1c2.tar.bz2
mpv-273cc3055cb5829fe62dce88e596c21ae85ef1c2.tar.xz
video: do not disable display-sync on A/V desync
On a audio/video desync by more than 0.5 seconds, display-sync mode was disabled, and not enabled again (until playback restart, e.g. a seek). The idea was that it this only happens when this playback mode is broken and can't perform well anyway (A/V desync is a clear indication that something is very wrong). Instead of behaving like a god damn POS, it should revert to the more robust audio-sync mode. Unfortunately, this could happen sporadically due to temporary system performance problems, such as toggling fullscreen. Users didn't like this, and asked for a function to disable it, or to recover in some other way. This mechanism is questionable anyway. If an ignorant user enables display-sync, and encounters problems with it (without being able to determine that display-sync is messing up), the player will still behave like a POS on every playback, and even after every seek. It might actually be helpful to fail more consistently. Also, I've found that it's sill relatively reliable anyway even without this mechanism. So just remove the fallback. Fixes: #7048
Diffstat (limited to 'DOCS/man')
-rw-r--r--DOCS/man/options.rst22
1 files changed, 18 insertions, 4 deletions
diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst
index 92a2f2e4ce..7ff8689f13 100644
--- a/DOCS/man/options.rst
+++ b/DOCS/man/options.rst
@@ -5789,10 +5789,24 @@ Miscellaneous
making a some idealized assumptions, which may not always apply in reality.
Behavior can depend on the VO and the system's video and audio drivers.
Media files must use constant framerate. Section-wise VFR might work as well
- with some container formats (but not e.g. mkv). If the sync code detects
- severe A/V desync, or the framerate cannot be detected, the player
- automatically reverts to ``audio`` mode for some time or permanently. These
- modes also require a vsync blocked presentation mode. For OpenGL, this
+ with some container formats (but not e.g. mkv).
+
+ Under some circumstances, the player automatically reverts to ``audio`` mode
+ for some time or permanently. This can happen on very low framerate video,
+ or if the framerate cannot be detected.
+
+ Also in display-sync modes it can happen that interruptions to video
+ playback (such as toggling fullscreen mode, or simply resizing the window)
+ will skip the video frames that should have been displayed, while ``audio``
+ mode will display them after the renderer has resumed (typically resulting
+ in a short A/V desync and the video "catching up").
+
+ Before mpv 0.30.0, there was a fallback to ``audio`` mode on severe A/V
+ desync. This was changed for the sake of not sporadically stopping. Now,
+ ``display-desync`` does what it promises and may desync with audio by an
+ arbitrary amount, until it is manually fixed with a seek.
+
+ These modes also require a vsync blocked presentation mode. For OpenGL, this
translates to ``--opengl-swapinterval=1``. For Vulkan, it translates to
``--vulkan-swap-mode=fifo`` (or ``fifo-relaxed``).