summaryrefslogtreecommitdiff
path: root/apps/codecs/wma.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/wma.c')
-rw-r--r--apps/codecs/wma.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/apps/codecs/wma.c b/apps/codecs/wma.c
index 71b1720..ce4eea4 100644
--- a/apps/codecs/wma.c
+++ b/apps/codecs/wma.c
@@ -331,18 +331,22 @@ enum codec_status codec_main(void)
/* Remember the resume position - when the codec is opened, the
playback engine will reset it. */
resume_offset = ci->id3->offset;
-
+
if (codec_init()) {
LOGF("WMA: Error initialising codec\n");
retval = CODEC_ERROR;
goto exit;
}
- /* Copy the format metadata we've stored in the id3 TOC field. This
+ /* Copy the format metadata we've stored in the id3 TOC field. This
saves us from parsing it again here. */
memcpy(&wfx, ci->id3->toc, sizeof(wfx));
- wma_decode_init(&wmadec,&wfx);
+ if(wma_decode_init(&wmadec,&wfx)< 0){
+ LOGF("WMA: Unsupported or corrupt file\n");
+ retval = CODEC_ERROR;
+ goto exit;
+ }
/* Now advance the file position to the first frame */
ci->seek_buffer(ci->id3->first_frame_offset);
@@ -369,7 +373,7 @@ enum codec_status codec_main(void)
}
/* Deal with any pending seek requests - ignore them */
- if (ci->seek_time)
+ if (ci->seek_time)
{
ci->seek_complete();
}