summaryrefslogtreecommitdiff
path: root/apps/codecs/adx.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/adx.c')
-rw-r--r--apps/codecs/adx.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/apps/codecs/adx.c b/apps/codecs/adx.c
index cc7f0320be..0c67fc8d6e 100644
--- a/apps/codecs/adx.c
+++ b/apps/codecs/adx.c
@@ -149,7 +149,7 @@ enum codec_status codec_run(void)
149 /* Get loop data */ 149 /* Get loop data */
150 150
151 looping = 0; start_adr = 0; end_adr = 0; 151 looping = 0; start_adr = 0; end_adr = 0;
152 if (!memcmp(buf+0x10,"\x01\xF4\x03\x00",4)) { 152 if (!memcmp(buf+0x10,"\x01\xF4\x03",3)) {
153 /* Soul Calibur 2 style (type 03) */ 153 /* Soul Calibur 2 style (type 03) */
154 DEBUGF("ADX: type 03 found\n"); 154 DEBUGF("ADX: type 03 found\n");
155 /* check if header is too small for loop data */ 155 /* check if header is too small for loop data */
@@ -171,7 +171,7 @@ enum codec_status codec_run(void)
171 (buf[0x1f]) 171 (buf[0x1f])
172 )/32*channels*18+chanstart; 172 )/32*channels*18+chanstart;
173 } 173 }
174 } else if (!memcmp(buf+0x10,"\x01\xF4\x04\x00",4)) { 174 } else if (!memcmp(buf+0x10,"\x01\xF4\x04",3)) {
175 /* Standard (type 04) */ 175 /* Standard (type 04) */
176 DEBUGF("ADX: type 04 found\n"); 176 DEBUGF("ADX: type 04 found\n");
177 /* check if header is too small for loop data */ 177 /* check if header is too small for loop data */
@@ -196,6 +196,12 @@ enum codec_status codec_run(void)
196 DEBUGF("ADX: error, couldn't determine ADX type\n"); 196 DEBUGF("ADX: error, couldn't determine ADX type\n");
197 return CODEC_ERROR; 197 return CODEC_ERROR;
198 } 198 }
199
200 /* is file using encryption */
201 if (buf[0x13]==0x08) {
202 DEBUGF("ADX: error, encrypted ADX not supported\n");
203 return false;
204 }
199 205
200 if (looping) { 206 if (looping) {
201 DEBUGF("ADX: looped, start: %lx end: %lx\n",start_adr,end_adr); 207 DEBUGF("ADX: looped, start: %lx end: %lx\n",start_adr,end_adr);