You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I can certainly reproduce it. I can't say for certain what the best fix would be.
I think an easy way to fix it would be to automatically stop capturing on savestate loads but we're so close to it not being an issue that I don't want to do that.
EDIT: Actually, this may be incorrect. It might be due to the acquisition of s_lock on both threads. Oops.
A summary of the issue is:
The core thread tries to wait for the GS capture thread to drain the audio buffer. In GSCapture::DeliverAudioPacket(const s16* frames) the s_frame_encoded_cv.wait(lock, []() {... portion.
The GS capture thread waits for a frame to be generated to encode. In GSCapture::EncoderThreadEntryPoint() the s_frame_ready_cv.wait(... line.
Because they are waiting for each other there is a deadlock.
Describe the Bug
If video capture is on and save state is loaded emulator locks up, Qt interface still responds but all of the emulators functions halt.
Reproduction Steps
Expected Behavior
Save state gets loaded and emulation continues as normal.
PCSX2 Revision
v2.1.217
Operating System
Windows 11
If Linux - Specify Distro
No response
CPU
Ryzen 9 7900X
GPU
RTX 2080 Ti
GS Settings
No response
Emulation Settings
No response
GS Window Screenshots
No response
Logs & Dumps
emulog.txt
The text was updated successfully, but these errors were encountered: