From 4bb9e32f03e4e6f9ee7916865880151577e89f08 Mon Sep 17 00:00:00 2001 From: Henrik Rydgard Date: Fri, 21 Jun 2013 01:01:28 +0200 Subject: [PATCH] Atrac3: Bail on bad data --- Core/HLE/sceAtrac.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Core/HLE/sceAtrac.cpp b/Core/HLE/sceAtrac.cpp index d34d52b565..6dcd66e036 100644 --- a/Core/HLE/sceAtrac.cpp +++ b/Core/HLE/sceAtrac.cpp @@ -580,7 +580,11 @@ u32 _AtracDecodeData(int atracID, u8* outbuf, u32 *SamplesNum, u32* finish, int if (avret < 0) { ERROR_LOG(HLE, "avcodec_decode_audio4: Error decoding audio %d", avret); av_free_packet(&packet); - break; + // Avoid getting stuck in a loop (Virtua Tennis) + *SamplesNum = 0; + *finish = 1; + *remains = 0; + return ATRAC_ERROR_ALL_DATA_DECODED; } if (got_frame) {