Merge pull request #1745 from oioitff/atrac-fix

Improve sceAtracAddStreamData
This commit is contained in:
Henrik Rydgård 2013-05-11 00:56:28 -07:00
commit d1eca34d05

View File

@ -438,7 +438,7 @@ u32 sceAtracAddStreamData(int atracID, u32 bytesToAdd)
if (atrac->first.size > atrac->first.filesize)
atrac->first.size = atrac->first.filesize;
atrac->first.fileoffset = atrac->first.size;
atrac->first.writableBytes = std::min(atrac->first.filesize - atrac->first.size, atrac->atracBufSize);
atrac->first.writableBytes = 0;
return 0;
}
@ -719,6 +719,7 @@ u32 sceAtracGetStreamDataInfo(int atracID, u32 writeAddr, u32 writableBytesAddr,
if (!atrac) {
//return -1;
} else {
atrac->first.writableBytes = std::min(atrac->first.filesize - atrac->first.size, atrac->atracBufSize);
Memory::Write_U32(atrac->first.addr, writeAddr);
Memory::Write_U32(atrac->first.writableBytes, writableBytesAddr);
Memory::Write_U32(atrac->first.fileoffset, readOffsetAddr);
@ -860,7 +861,7 @@ int _AtracSetData(Atrac *atrac, u32 buffer, u32 bufferSize)
if (atrac->first.size > atrac->first.filesize)
atrac->first.size = atrac->first.filesize;
atrac->first.fileoffset = atrac->first.size;
atrac->first.writableBytes = std::min(atrac->first.filesize - atrac->first.size, atrac->atracBufSize);
atrac->first.writableBytes = 0;
#ifdef USE_FFMPEG
if (atrac->codeType == PSP_MODE_AT_3) {