From c03aa31240eb0a98b176bb5d960d9dbeb59c9381 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Fri, 23 May 2014 23:00:48 -0700 Subject: [PATCH] Write video frames even while paused. This function just writes the video data to the buffer if at all possible. --- Core/HLE/scePsmf.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/Core/HLE/scePsmf.cpp b/Core/HLE/scePsmf.cpp index 983ebae828..1cfa4cc29a 100644 --- a/Core/HLE/scePsmf.cpp +++ b/Core/HLE/scePsmf.cpp @@ -1484,11 +1484,6 @@ int scePsmfPlayerGetVideoData(u32 psmfPlayer, u32 videoDataAddr) return SCE_KERNEL_ERROR_INVALID_VALUE; } - if (psmfplayer->playMode == PSMF_PLAYER_MODE_PAUSE) { - INFO_LOG(HLE, "scePsmfPlayerGetVideoData(%08x): paused mode", psmfPlayer); - return 0; - } - hleEatCycles(20000); if (!__PsmfPlayerContinueSeek(psmfplayer)) { @@ -1509,7 +1504,9 @@ int scePsmfPlayerGetVideoData(u32 psmfPlayer, u32 videoDataAddr) if (videoData.IsValid()) { bool doVideoStep = true; - if (!psmfplayer->mediaengine->IsNoAudioData()) { + if (psmfplayer->playMode == PSMF_PLAYER_MODE_PAUSE) { + doVideoStep = false; + } else if (!psmfplayer->mediaengine->IsNoAudioData()) { s64 deltapts = psmfplayer->mediaengine->getVideoTimeStamp() - psmfplayer->mediaengine->getAudioTimeStamp(); if (deltapts > 0) { // Don't advance, just return the same frame again.