Merge pull request #11780 from hrydgard/naruto-video-fix

Naruto Shippuden Ultimate Ninja 3: Probably a better fix for the video hang issue.
This commit is contained in:
Henrik Rydgård 2019-02-10 11:45:40 +01:00 committed by GitHub
commit ccfcbc7462
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 2 deletions

View File

@ -1599,7 +1599,6 @@ static int sceMpegGetAvcAu(u32 mpeg, u32 streamId, u32 auAddr, u32 attrAddr)
Memory::Write_U32(1, attrAddr);
}
DEBUG_LOG(ME, "%x=sceMpegGetAvcAu(%08x, %08x, %08x, %08x)", result, mpeg, streamId, auAddr, attrAddr);
// TODO: sceMpegGetAvcAu seems to modify esSize, and delay when it's > 1000 or something.
// There's definitely more to it, but ultimately it seems games should expect it to delay randomly.
@ -1664,6 +1663,7 @@ static int sceMpegGetAtracAu(u32 mpeg, u32 streamId, u32 auAddr, u32 attrAddr)
// Instead, let's abuse it to keep track of the stream number.
if (streamInfo != ctx->streamMap.end()) {
atracAu.esBuffer = streamInfo->second.num;
ctx->mediaengine->setAudioStream(streamInfo->second.num);
}
int result = 0;

View File

@ -49,7 +49,7 @@ static const int PSMF_AUDIO_STREAM_ID = 0xBD;
struct SceMpegAu {
s64_le pts; // presentation time stamp
s64_le dts; // decode time stamp
u32_le esBuffer;
u32_le esBuffer; // WARNING: We abuse this to keep track of the stream number!
u32_le esSize;
void read(u32 addr);