161ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten/* 261ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten * Copyright (C) 2010 The Android Open Source Project 361ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten * 461ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten * Licensed under the Apache License, Version 2.0 (the "License"); 561ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten * you may not use this file except in compliance with the License. 661ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten * You may obtain a copy of the License at 761ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten * 861ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten * http://www.apache.org/licenses/LICENSE-2.0 961ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten * 1061ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten * Unless required by applicable law or agreed to in writing, software 1161ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten * distributed under the License is distributed on an "AS IS" BASIS, 1261ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1361ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten * See the License for the specific language governing permissions and 1461ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten * limitations under the License. 1561ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten */ 1661ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten 1761ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten/* MetadataExtraction implementation */ 1861ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten 1961ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten#include "sles_allinclusive.h" 2061ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten 21ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 22d2a7f0d6883a6d3835642e7b282f05ed1c54fe63Glenn Kastenstatic SLresult IMetadataExtraction_GetItemCount(SLMetadataExtractionItf self, SLuint32 *pItemCount) 2361ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten{ 24ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten SL_ENTER_INTERFACE 25ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 26ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten if (NULL == pItemCount) { 27ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten result = SL_RESULT_PARAMETER_INVALID; 28ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten } else { 297f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi IMetadataExtraction *thiz = (IMetadataExtraction *) self; 307f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi if (SL_OBJECTID_AUDIOPLAYER == InterfaceToObjectID(thiz)) { 317da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten#ifdef ANDROID 327f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi result = android_audioPlayer_metadata_getItemCount((CAudioPlayer *)thiz->mThis, 337f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi pItemCount); 347da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten#else 357da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten result = SL_RESULT_FEATURE_UNSUPPORTED; 367da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten#endif 377f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi } else { 387f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi result = SL_RESULT_PARAMETER_INVALID; 397f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi } 40ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten } 41ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 42ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten SL_LEAVE_INTERFACE 4361ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten} 4461ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten 45ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 4661ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kastenstatic SLresult IMetadataExtraction_GetKeySize(SLMetadataExtractionItf self, 4761ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten SLuint32 index, SLuint32 *pKeySize) 4861ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten{ 49ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten SL_ENTER_INTERFACE 50ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 51ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten if (NULL == pKeySize) { 52ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten result = SL_RESULT_PARAMETER_INVALID; 53ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten } else { 547f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi IMetadataExtraction *thiz = (IMetadataExtraction *) self; 557f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi if (SL_OBJECTID_AUDIOPLAYER == InterfaceToObjectID(thiz)) { 567da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten#ifdef ANDROID 577f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi result = android_audioPlayer_metadata_getKeySize((CAudioPlayer *)thiz->mThis, 587f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi index, pKeySize); 597da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten#else 607da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten result = SL_RESULT_FEATURE_UNSUPPORTED; 617da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten#endif 627f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi } else { 637f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi result = SL_RESULT_PARAMETER_INVALID; 647f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi } 65ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten } 66ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 67ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten SL_LEAVE_INTERFACE 6861ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten} 6961ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten 70ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 7161ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kastenstatic SLresult IMetadataExtraction_GetKey(SLMetadataExtractionItf self, 7261ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten SLuint32 index, SLuint32 keySize, SLMetadataInfo *pKey) 7361ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten{ 74ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten SL_ENTER_INTERFACE 75ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 76ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten if (NULL == pKey) { 77ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten result = SL_RESULT_PARAMETER_INVALID; 78ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten } else { 797f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi IMetadataExtraction *thiz = (IMetadataExtraction *) self; 807f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi if (SL_OBJECTID_AUDIOPLAYER == InterfaceToObjectID(thiz)) { 817da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten#ifdef ANDROID 827f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi result = android_audioPlayer_metadata_getKey((CAudioPlayer *)thiz->mThis, 837f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi index, keySize, pKey); 847da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten#else 857da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten result = SL_RESULT_FEATURE_UNSUPPORTED; 867da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten#endif 877f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi } else { 887f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi result = SL_RESULT_PARAMETER_INVALID; 897f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi } 90ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten } 91ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 92ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten SL_LEAVE_INTERFACE 9361ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten} 9461ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten 95ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 9661ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kastenstatic SLresult IMetadataExtraction_GetValueSize(SLMetadataExtractionItf self, 9761ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten SLuint32 index, SLuint32 *pValueSize) 9861ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten{ 99ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten SL_ENTER_INTERFACE 100ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 101ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten if (NULL == pValueSize) { 102ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten result = SL_RESULT_PARAMETER_INVALID; 103ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten } else { 1047f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi IMetadataExtraction *thiz = (IMetadataExtraction *) self; 1057f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi if (SL_OBJECTID_AUDIOPLAYER == InterfaceToObjectID(thiz)) { 1067da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten#ifdef ANDROID 1077f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi result = android_audioPlayer_metadata_getValueSize((CAudioPlayer *)thiz->mThis, 1087f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi index, pValueSize); 1097da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten#else 1107da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten result = SL_RESULT_FEATURE_UNSUPPORTED; 1117da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten#endif 1127f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi } else { 1137f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi result = SL_RESULT_PARAMETER_INVALID; 1147f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi } 115ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten } 116ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 117ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten SL_LEAVE_INTERFACE 11861ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten} 11961ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten 120ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 12161ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kastenstatic SLresult IMetadataExtraction_GetValue(SLMetadataExtractionItf self, 12261ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten SLuint32 index, SLuint32 valueSize, SLMetadataInfo *pValue) 12361ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten{ 124ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten SL_ENTER_INTERFACE 125ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 126ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten if (NULL == pValue) { 127ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten result = SL_RESULT_PARAMETER_INVALID; 128ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten } else { 1297f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi IMetadataExtraction *thiz = (IMetadataExtraction *) self; 1307f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi if (SL_OBJECTID_AUDIOPLAYER == InterfaceToObjectID(thiz)) { 1317da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten#ifdef ANDROID 1327f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi result = android_audioPlayer_metadata_getValue((CAudioPlayer *)thiz->mThis, 1337f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi index, valueSize, pValue); 1347da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten#else 1357da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten result = SL_RESULT_FEATURE_UNSUPPORTED; 1367da229586b6c8893a1731bfe3eae7996e2ccffc6Glenn Kasten#endif 1377f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi } else { 1387f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi result = SL_RESULT_PARAMETER_INVALID; 1397f5cc1afe49395fefaad9b2bbd728a45d1bfda6aJean-Michel Trivi } 140ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten } 141ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 142ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten SL_LEAVE_INTERFACE 14361ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten} 14461ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten 145ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 14661ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kastenstatic SLresult IMetadataExtraction_AddKeyFilter(SLMetadataExtractionItf self, 14761ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten SLuint32 keySize, const void *pKey, SLuint32 keyEncoding, 14861ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten const SLchar *pValueLangCountry, SLuint32 valueEncoding, SLuint8 filterMask) 14961ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten{ 150ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten SL_ENTER_INTERFACE 151ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 152ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten if (NULL == pKey || NULL == pValueLangCountry || (filterMask & ~(SL_METADATA_FILTER_KEY | 153ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten SL_METADATA_FILTER_KEY | SL_METADATA_FILTER_KEY))) { 154ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten result = SL_RESULT_PARAMETER_INVALID; 155ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten } else { 156bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten IMetadataExtraction *thiz = (IMetadataExtraction *) self; 157bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten interface_lock_exclusive(thiz); 158bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten thiz->mKeySize = keySize; 159bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten thiz->mKey = pKey; 160bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten thiz->mKeyEncoding = keyEncoding; 161bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten thiz->mValueLangCountry = pValueLangCountry; // should make a local copy 162bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten thiz->mValueEncoding = valueEncoding; 163bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten thiz->mFilterMask = filterMask; 164bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten interface_unlock_exclusive(thiz); 165ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten result = SL_RESULT_SUCCESS; 166ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten } 167ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 168ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten SL_LEAVE_INTERFACE 16961ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten} 17061ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten 171ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 17261ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kastenstatic SLresult IMetadataExtraction_ClearKeyFilter(SLMetadataExtractionItf self) 17361ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten{ 174ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten SL_ENTER_INTERFACE 175ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 176bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten IMetadataExtraction *thiz = (IMetadataExtraction *) self; 177bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten thiz->mKeyFilter = 0; 178ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten result = SL_RESULT_SUCCESS; 179ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 180ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten SL_LEAVE_INTERFACE 18161ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten} 18261ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten 183ed46c29d6a09112dbbf584c82953f63289596fd6Glenn Kasten 18461ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kastenstatic const struct SLMetadataExtractionItf_ IMetadataExtraction_Itf = { 18561ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten IMetadataExtraction_GetItemCount, 18661ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten IMetadataExtraction_GetKeySize, 18761ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten IMetadataExtraction_GetKey, 18861ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten IMetadataExtraction_GetValueSize, 18961ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten IMetadataExtraction_GetValue, 19061ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten IMetadataExtraction_AddKeyFilter, 19161ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten IMetadataExtraction_ClearKeyFilter 19261ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten}; 19361ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten 19461ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kastenvoid IMetadataExtraction_init(void *self) 19561ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten{ 196bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten IMetadataExtraction *thiz = (IMetadataExtraction *) self; 197bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten thiz->mItf = &IMetadataExtraction_Itf; 198bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten thiz->mKeySize = 0; 199bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten thiz->mKey = NULL; 200bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten thiz->mKeyEncoding = 0 /*TBD*/; 201bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten thiz->mValueLangCountry = 0 /*TBD*/; 202bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten thiz->mValueEncoding = 0 /*TBD*/; 203bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten thiz->mFilterMask = 0 /*TBD*/; 204bcc5c7225e3b7a1dbf2e9e830987f69167acf06fGlenn Kasten thiz->mKeyFilter = 0; 20561ac0ade16f84d877dfd8d0e984eb203d4a2901dGlenn Kasten} 206