Naruto 3: Probably a better fix for the video hang issue.
Fixes #9591, replaces #11772
This commit is contained in:
parent
bff58d0921
commit
ecf62a03ad
3 changed files with 3 additions and 3 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -65,7 +65,7 @@ desc.txt
|
|||
|
||||
Logs
|
||||
Memstick
|
||||
memstick
|
||||
memstick*
|
||||
Cheats
|
||||
|
||||
/git-version.cpp
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue