From 0c77d3c2ea2e7e24b671bf206c026cbbe2e222a8 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sun, 18 May 2014 20:59:18 -0700 Subject: [PATCH] Delay scePsmfPlayerStart() when seeking. It seems to only delay when it was already playing. --- Core/HLE/scePsmf.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Core/HLE/scePsmf.cpp b/Core/HLE/scePsmf.cpp index c18a78c0f2..2b13f3b72e 100644 --- a/Core/HLE/scePsmf.cpp +++ b/Core/HLE/scePsmf.cpp @@ -1297,6 +1297,7 @@ int scePsmfPlayerStart(u32 psmfPlayer, u32 psmfPlayerData, int initPts) // Does not alter current pts, it just catches up when Update()/etc. get there. + int delayUs = psmfplayer->status == PSMF_PLAYER_STATUS_PLAYING ? 3000 : 0; psmfplayer->status = PSMF_PLAYER_STATUS_PLAYING; psmfplayer->warmUp = 0; @@ -1333,7 +1334,7 @@ int scePsmfPlayerStart(u32 psmfPlayer, u32 psmfPlayerData, int initPts) psmfplayer->seekDestTimeStamp = initPts; __PsmfPlayerContinueSeek(psmfplayer); - return 0; + return delayUs == 0 ? 0 : hleDelayResult(0, "psmfplayer start", delayUs); } int scePsmfPlayerDelete(u32 psmfPlayer)