Files
ppsspp/Core
Henrik RydgårdandClaude Opus 5 21928ed43f sceVideocodec: let stopping and deleting the decoder take time
Both are ME round-trips that take real time on hardware, and returning from them
immediately matters beyond speed. Jak and Daxter deletes its video_sound_thread
straight after sceVideocodecDelete without waiting for it to exit. With no time
passing in the delete, the game's audio thread never gets to run once more and
deliver the wake that lets that thread notice the shutdown and exit, so
sceKernelDeleteThread fails with NOT_DORMANT and the thread stays alive. It is
then released from the event flag the game has just deleted, resumes on a
context that has already been freed - every id and pointer in it zero - and
copies from a null pointer.

2ms, chosen to sit above the 1.45ms an audio mix block takes. 100us was measured
to be too short, so the fix is the time passing rather than just the reschedule.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-17 15:18:06 -06:00
..
2026-09-10 15:25:47 -06:00
2026-09-14 10:42:55 -06:00
2026-06-02 11:15:08 +02:00
…
2026-09-11 21:24:18 -06:00
2026-09-11 21:24:18 -06:00
2026-08-31 01:19:06 +02:00
2026-08-31 01:19:06 +02:00
…
2026-07-29 16:27:33 +02:00
2026-08-11 15:43:48 +02:00
…
2026-07-27 18:37:28 +02:00
2026-08-31 01:19:06 +02:00
2026-08-15 18:31:20 +02:00