mirror of
https://github.com/libretro/ppsspp.git
synced 2025-02-09 10:32:51 +00:00
Mpeg: Return errors when no audio is available.
Before, we were only returning an error once, in an effort to log only once. This meant sometimes games would not realize they needed to add packets. Un-reverted from e866d83. No longer breaks Patapon with other mpeg fixes.
This commit is contained in:
parent
209500ac0e
commit
f70f05668f
@ -1660,12 +1660,18 @@ static int sceMpegGetAtracAu(u32 mpeg, u32 streamId, u32 auAddr, u32 attrAddr)
|
||||
if (ctx->mediaengine->IsVideoEnd()) {
|
||||
INFO_LOG(ME, "video end reach. pts: %i dts: %i", (int)atracAu.pts, (int)ctx->mediaengine->getLastTimeStamp());
|
||||
ringbuffer->packetsAvail = 0;
|
||||
// TODO: Is this correct?
|
||||
if (!ctx->mediaengine->IsNoAudioData()) {
|
||||
WARN_LOG_REPORT(ME, "Video end without audio end, potentially skipping some audio?");
|
||||
}
|
||||
result = ERROR_MPEG_NO_DATA;
|
||||
}
|
||||
|
||||
if (ctx->atracRegistered && ctx->mediaengine->IsNoAudioData() && !ctx->endOfAudioReached) {
|
||||
WARN_LOG(ME, "Audio end reach. pts: %i dts: %i", (int)atracAu.pts, (int)ctx->mediaengine->getLastTimeStamp());
|
||||
ctx->endOfAudioReached = true;
|
||||
}
|
||||
if (ctx->mediaengine->IsNoAudioData()) {
|
||||
result = ERROR_MPEG_NO_DATA;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user