Quellcode durchsuchen

PlayerComponent: add a audio_delay.25hz setting

We really don't like this, but it seems there is significant demand for
such a setting.

Ideally we'll resolve the audio delay mess one day with a better
solution.
Vincent Lang vor 7 Jahren
Ursprung
Commit
47e2f6e39c
2 geänderte Dateien mit 13 neuen und 1 gelöschten Zeilen
  1. 10 0
      resources/settings/settings_description.json
  2. 3 1
      src/player/PlayerComponent.cpp

+ 10 - 0
resources/settings/settings_description.json

@@ -271,6 +271,16 @@
           "step": 50
         }
       },
+      {
+        "value": "audio_delay.25hz",
+        "default": 0,
+        "hidden": true,
+        "possible_range": {
+          "min": -300,
+          "max": 300,
+          "step": 50
+        }
+      },
       {
         "value": "cache",
         "default": 75,

+ 3 - 1
src/player/PlayerComponent.cpp

@@ -796,8 +796,10 @@ void PlayerComponent::setAudioDelay(qint64 milliseconds)
 
   double displayFps = DisplayComponent::Get().currentRefreshRate();
   const char *audioDelaySetting = "audio_delay.normal";
-  if (fabs(displayFps - 24) < 1) // cover 24Hz, 23.976Hz, and values very close
+  if (fabs(displayFps - 24) < 0.5) // cover 24Hz, 23.976Hz, and values very close
     audioDelaySetting = "audio_delay.24hz";
+  else if (fabs(displayFps - 25) < 0.5)
+    audioDelaySetting = "audio_delay.25hz";
 
   double fixedDelay = SettingsComponent::Get().value(SETTINGS_SECTION_VIDEO, audioDelaySetting).toFloat();
   mpv::qt::set_option_variant(m_mpv, "audio-delay", (fixedDelay + m_playbackAudioDelay) / 1000.0);