From 1e9c30d26df5586b2f0314a6eba18ede785c9354 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Mon, 20 May 2019 11:20:00 -0700 Subject: [PATCH] Qt: Fix bounded fast forward with Qt Multimedia --- CHANGES | 1 + src/platform/qt/CoreController.cpp | 8 ++++++++ src/platform/qt/Window.cpp | 1 + 3 files changed, 10 insertions(+) diff --git a/CHANGES b/CHANGES index 4136a51a3..fd66837e0 100644 --- a/CHANGES +++ b/CHANGES @@ -25,6 +25,7 @@ Other fixes: - Wii: Fix aspect ratio (fixes mgba.io/i/500) - FFmpeg: Fix audio conversion producing gaps - GBA: Fix skipping BIOS on irregularly sized ROMs + - Qt: Fix bounded fast forward with Qt Multimedia Misc: - Qt: Add missing HEVC NVENC option (fixes mgba.io/i/1323) - Qt: Improve camera initialization diff --git a/src/platform/qt/CoreController.cpp b/src/platform/qt/CoreController.cpp index 9111bf26a..05c090ad9 100644 --- a/src/platform/qt/CoreController.cpp +++ b/src/platform/qt/CoreController.cpp @@ -434,13 +434,21 @@ void CoreController::rewind(int states) { } void CoreController::setFastForward(bool enable) { + if (m_fastForward == enable) { + return; + } m_fastForward = enable; updateFastForward(); + emit fastForwardChanged(enable); } void CoreController::forceFastForward(bool enable) { + if (m_fastForwardForced == enable) { + return; + } m_fastForwardForced = enable; updateFastForward(); + emit fastForwardChanged(enable || m_fastForward); } void CoreController::loadState(int slot) { diff --git a/src/platform/qt/Window.cpp b/src/platform/qt/Window.cpp index 18c2eba2c..135068340 100644 --- a/src/platform/qt/Window.cpp +++ b/src/platform/qt/Window.cpp @@ -907,6 +907,7 @@ void Window::reloadAudioDriver() { m_audioProcessor->requestSampleRate(opts->sampleRate); m_audioProcessor->start(); connect(m_controller.get(), &CoreController::stopping, m_audioProcessor.get(), &AudioProcessor::stop); + connect(m_controller.get(), &CoreController::fastForwardChanged, m_audioProcessor.get(), &AudioProcessor::inputParametersChanged); } void Window::tryMakePortable() {