diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2022-12-17 16:21:19 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-17 16:21:19 +0100 |
commit | fa10374d39effc79b5b9ed789bf873030cb08d7f (patch) | |
tree | 0e4cac7d6e87771e8f18c0d3bba7d8e3cddbb2c7 /src/audio_core/device/audio_buffers.h | |
parent | Merge pull request #9457 from Kelebek1/silence_tfb (diff) | |
parent | Signal buffer event on audio in/out system stop, and force remove all registered audio buffers (diff) | |
download | yuzu-fa10374d39effc79b5b9ed789bf873030cb08d7f.tar yuzu-fa10374d39effc79b5b9ed789bf873030cb08d7f.tar.gz yuzu-fa10374d39effc79b5b9ed789bf873030cb08d7f.tar.bz2 yuzu-fa10374d39effc79b5b9ed789bf873030cb08d7f.tar.lz yuzu-fa10374d39effc79b5b9ed789bf873030cb08d7f.tar.xz yuzu-fa10374d39effc79b5b9ed789bf873030cb08d7f.tar.zst yuzu-fa10374d39effc79b5b9ed789bf873030cb08d7f.zip |
Diffstat (limited to 'src/audio_core/device/audio_buffers.h')
-rw-r--r-- | src/audio_core/device/audio_buffers.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/audio_core/device/audio_buffers.h b/src/audio_core/device/audio_buffers.h index 3dae1a3b7..15082f6c6 100644 --- a/src/audio_core/device/audio_buffers.h +++ b/src/audio_core/device/audio_buffers.h @@ -91,9 +91,10 @@ public: * @param core_timing - The CoreTiming instance * @param session - The device session * - * @return Is the buffer was released. + * @return If any buffer was released. */ - bool ReleaseBuffers(const Core::Timing::CoreTiming& core_timing, const DeviceSession& session) { + bool ReleaseBuffers(const Core::Timing::CoreTiming& core_timing, const DeviceSession& session, + bool force) { std::scoped_lock l{lock}; bool buffer_released{false}; while (registered_count > 0) { @@ -103,7 +104,8 @@ public: } // Check with the backend if this buffer can be released yet. - if (!session.IsBufferConsumed(buffers[index])) { + // If we're shutting down, we don't care if it's been played or not. + if (!force && !session.IsBufferConsumed(buffers[index])) { break; } |