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() {