summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Baptiste Queru <jbq@google.com>2012-09-06 15:23:54 -0700
committerandroid code review <noreply-gerritcodereview@google.com>2012-09-06 15:23:54 -0700
commit274d0571979c10a8c0bfe2641ada32a310248f13 (patch)
tree3168e80d058e8a4572c123584a4e5af6f49fbacf
parent09a0c67023c010aec72faa71f116199da4b0f39e (diff)
parent9a86c64066a908e8ec2863c047b10532c3197397 (diff)
downloadandroid_external_sonivox-274d0571979c10a8c0bfe2641ada32a310248f13.tar.gz
android_external_sonivox-274d0571979c10a8c0bfe2641ada32a310248f13.tar.bz2
android_external_sonivox-274d0571979c10a8c0bfe2641ada32a310248f13.zip
Merge "Added support for parsing XMF versions 1.00 and 1.01 headers"
-rw-r--r--arm-wt-22k/lib_src/eas_xmf.c45
1 files changed, 28 insertions, 17 deletions
diff --git a/arm-wt-22k/lib_src/eas_xmf.c b/arm-wt-22k/lib_src/eas_xmf.c
index 0a92425..05b329e 100644
--- a/arm-wt-22k/lib_src/eas_xmf.c
+++ b/arm-wt-22k/lib_src/eas_xmf.c
@@ -43,6 +43,8 @@
/* XMF header file type */
#define XMF_IDENTIFIER 0x584d465f
+#define XMF_VERSION_1_00 0x312e3030
+#define XMF_VERSION_1_01 0x312e3031
#define XMF_VERSION_2_00 0x322e3030
#define XMF_FILE_TYPE 0x00000002
#define XMF_SPEC_LEVEL 0x00000001
@@ -126,27 +128,36 @@ static EAS_RESULT XMF_CheckFileType (S_EAS_DATA *pEASData, EAS_FILE_HANDLE fileH
/* read the version */
if ((result = EAS_HWGetDWord(pEASData->hwInstData, fileHandle, &temp, EAS_TRUE)) != EAS_SUCCESS)
return result;
- if (temp != XMF_VERSION_2_00)
- {
- { /* dpp: EAS_ReportEx(_EAS_SEVERITY_ERROR, "XMF file version was 0x%08x, expected 0x%08x\n", temp, XMF_VERSION_2_00); */ }
- return EAS_SUCCESS;
- }
- /* read the file type */
- if ((result = EAS_HWGetDWord(pEASData->hwInstData, fileHandle, &temp, EAS_TRUE)) != EAS_SUCCESS)
- return result;
- if (temp != XMF_FILE_TYPE)
+ if (temp == XMF_VERSION_2_00)
{
- { /* dpp: EAS_ReportEx(_EAS_SEVERITY_ERROR, "XMF file type was 0x%08x, expected 0x%08x\n", temp, XMF_FILE_TYPE); */ }
- return EAS_SUCCESS;
- }
+ /* read the file type */
+ result = EAS_HWGetDWord(pEASData->hwInstData, fileHandle, &temp, EAS_TRUE);
+ if (result != EAS_SUCCESS)
+ return result;
- /* read the spec level */
- if ((result = EAS_HWGetDWord(pEASData->hwInstData, fileHandle, &temp, EAS_TRUE)) != EAS_SUCCESS)
- return result;
- if (temp != XMF_SPEC_LEVEL)
+ if (temp != XMF_FILE_TYPE)
+ {
+ { /* dpp: EAS_ReportEx(_EAS_SEVERITY_ERROR,
+ "XMF file type was 0x%08x, expected 0x%08x\n", temp, XMF_FILE_TYPE); */ }
+ return EAS_SUCCESS;
+ }
+
+ /* read the spec level */
+ result = EAS_HWGetDWord(pEASData->hwInstData, fileHandle, &temp, EAS_TRUE);
+ if (result != EAS_SUCCESS)
+ return result;
+
+ if (temp != XMF_SPEC_LEVEL)
+ {
+ { /* dpp: EAS_ReportEx(_EAS_SEVERITY_ERROR,
+ "XMF file spec was 0x%08x, expected 0x%08x\n", temp, XMF_SPEC_LEVEL); */ }
+ return EAS_SUCCESS;
+ }
+ }
+ else if (temp != XMF_VERSION_1_00 && temp != XMF_VERSION_1_01)
{
- { /* dpp: EAS_ReportEx(_EAS_SEVERITY_ERROR, "XMF file spec was 0x%08x, expected 0x%08x\n", temp, XMF_SPEC_LEVEL); */ }
+ { /* dpp: EAS_ReportEx(_EAS_SEVERITY_ERROR, "XMF file version was 0x%08x\n", temp); */ }
return EAS_SUCCESS;
}