From 9d1d7d671d54a94fef6de75a20d8ba829a151e9d Mon Sep 17 00:00:00 2001 From: Amit Shekhar Date: Wed, 20 Mar 2013 14:51:24 -0700 Subject: audio: Miscellaneous fixes in external/sonivox Support for mxmf file playback -mxmf files couldn't be played. -Added a condition check, in DLSParser(), to warn user if artCount is 0 and to use default articulations. CRs-Fixed: 465437 Change-Id: I42b1634c65e3779ee7924913cc17020bde9cc38d midi decoder lib state is not updated on midiplayer stop - On EAS_Pause() STREAM_FLAGS_PAUSE is added to streamFlags, but EAS_State() returns SUCCESS before checking for streamFlags and updating midiplayers state. - Fix is to check for streamFlags for STREAM_FLAGS_PAUSE and update midiplayers state before returning SUCCESS. CRs-Fixed: 633774 Change-Id: Ie8845633f27f05c4917045dcf7cc2b3219c13ef6 --- arm-wt-22k/lib_src/eas_mdls.c | 10 ++++++++-- arm-wt-22k/lib_src/eas_public.c | 8 ++++---- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/arm-wt-22k/lib_src/eas_mdls.c b/arm-wt-22k/lib_src/eas_mdls.c index b08e24e..a510b80 100644 --- a/arm-wt-22k/lib_src/eas_mdls.c +++ b/arm-wt-22k/lib_src/eas_mdls.c @@ -603,8 +603,14 @@ EAS_RESULT DLSParser (EAS_HW_DATA_HANDLE hwInstData, EAS_FILE_HANDLE fileHandle, return EAS_ERROR_FILE_FORMAT; } - /* limit check */ - if ((dls.artCount == 0) || (dls.artCount > DLS_MAX_ART_COUNT)) + /* limit check - warn user if artCount is 0 and use default articulations */ + if ( dls.artCount == 0 ) + { + { /* dpp: EAS_ReportEx(_EAS_SEVERITY_WARNING, "DLS file contains 0 #articulations, using default.\n"); */ } + } + + /* limit check */ + if ( dls.artCount > DLS_MAX_ART_COUNT ) { { /* dpp: EAS_ReportEx(_EAS_SEVERITY_ERROR, "DLS file contains invalid #articulations [%u]\n", dls.regionCount); */ } return EAS_ERROR_FILE_FORMAT; diff --git a/arm-wt-22k/lib_src/eas_public.c b/arm-wt-22k/lib_src/eas_public.c index 51ac423..d0f6455 100644 --- a/arm-wt-22k/lib_src/eas_public.c +++ b/arm-wt-22k/lib_src/eas_public.c @@ -1662,10 +1662,6 @@ EAS_PUBLIC EAS_RESULT EAS_State (EAS_DATA_HANDLE pEASData, EAS_HANDLE pStream, E if (pStream->repeatCount && (*pState == EAS_STATE_STOPPED)) *pState = EAS_STATE_PLAY; - /* if we're not paused or pausing, we don't need to hide state from host */ - if (*pState != EAS_STATE_PAUSED && *pState != EAS_STATE_PAUSING) - return EAS_SUCCESS; - /* if stream is about to be paused, report it as paused */ if (pStream->streamFlags & STREAM_FLAGS_PAUSE) { @@ -1675,6 +1671,10 @@ EAS_PUBLIC EAS_RESULT EAS_State (EAS_DATA_HANDLE pEASData, EAS_HANDLE pStream, E *pState = EAS_STATE_PAUSING; } + /* if we're not paused or pausing, we don't need to hide state from host */ + if (*pState != EAS_STATE_PAUSED && *pState != EAS_STATE_PAUSING) + return EAS_SUCCESS; + /* if stream is about to resume, report it as playing */ if (pStream->streamFlags & STREAM_FLAGS_RESUME) *pState = EAS_STATE_PLAY; -- cgit v1.2.3