From 7cc0cdd346aad5f10fa3170cf5773a73bb55a9f7 Mon Sep 17 00:00:00 2001 From: oioitff Date: Thu, 9 May 2013 19:59:13 +0800 Subject: [PATCH] Only add stream data when it need more atrac data. Tested with Djmax Portable. --- Core/HLE/sceAtrac.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Core/HLE/sceAtrac.cpp b/Core/HLE/sceAtrac.cpp index f0ee0585ca..848d9e6a7e 100644 --- a/Core/HLE/sceAtrac.cpp +++ b/Core/HLE/sceAtrac.cpp @@ -429,6 +429,9 @@ u32 sceAtracAddStreamData(int atracID, u32 bytesToAdd) // TODO if (bytesToAdd > atrac->first.writableBytes) return ATRAC_ERROR_ADD_DATA_IS_TOO_BIG; + // only add stream data when it need more atrac data + if (atrac->getRemainFrames() > 0) + return 0; if (atrac->data_buf && (bytesToAdd > 0)) { int addbytes = std::min(bytesToAdd, atrac->first.filesize - atrac->first.fileoffset);