mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Merge pull request #9014 from unknownbrackets/mpeg-minor
Fix some mpeg issues
This commit is contained in:
commit
8b5693b4d7
2 changed files with 12 additions and 2 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -396,8 +396,12 @@ int MediaEngine::addStreamData(const u8 *buffer, int addSize) {
|
|||
#ifdef USE_FFMPEG
|
||||
if (!m_pFormatCtx && m_pdata->getQueueSize() >= 2048) {
|
||||
m_mpegheaderSize = m_pdata->get_front(m_mpegheader, sizeof(m_mpegheader));
|
||||
m_pdata->pop_front(0, m_mpegheaderSize);
|
||||
openContext();
|
||||
int streamOffset = (int)(*(s32_be *)(m_mpegheader + 8));
|
||||
if (streamOffset <= m_mpegheaderSize) {
|
||||
m_mpegheaderSize = streamOffset;
|
||||
m_pdata->pop_front(0, m_mpegheaderSize);
|
||||
openContext();
|
||||
}
|
||||
}
|
||||
#endif // USE_FFMPEG
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue