summaryrefslogtreecommitdiffstats
path: root/player/core.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2015-11-27 14:40:52 +0100
committerwm4 <wm4@nowhere>2015-11-27 14:40:52 +0100
commit50bb209a80dd4db423e6efff14df02a5624721d1 (patch)
tree8aaf7f89824e795bb18e9332f58d9b9bbe4f63b4 /player/core.h
parent41f2c653e27a0e4659458540f1bcc7786ec3339b (diff)
downloadmpv-50bb209a80dd4db423e6efff14df02a5624721d1.tar.bz2
mpv-50bb209a80dd4db423e6efff14df02a5624721d1.tar.xz
player: always disable display-sync on desyncs
Instead of periodically trying to enable it again. There are two cases that can happen: 1. A random discontinuity messed everything up, 2. Things are just broken and will desync all the time Until now, it tried to deal with case 1 - but maybe this is really rare, and we don't really need to care about it. On the other hand, case 2 is kind of hard to diagnose if the user doesn't use the terminal. Seeking will reenable display-sync, so you can fix playback if case 1 happens, but still get predictable behavior in case 2.
Diffstat (limited to 'player/core.h')
-rw-r--r--player/core.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/player/core.h b/player/core.h
index c35e3d034b..04d4fb6126 100644
--- a/player/core.h
+++ b/player/core.h
@@ -269,6 +269,7 @@ typedef struct MPContext {
// update_playback_speed() updates them from the other fields.
double audio_speed, video_speed;
bool display_sync_active;
+ bool display_sync_broken;
int display_sync_drift_dir;
// Timing error (in seconds) due to rounding on vsync boundaries
double display_sync_error;