140d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten/* 240d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten * Copyright (C) 2010 The Android Open Source Project 340d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten * 440d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten * Licensed under the Apache License, Version 2.0 (the "License"); 540d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten * you may not use this file except in compliance with the License. 640d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten * You may obtain a copy of the License at 740d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten * 840d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten * http://www.apache.org/licenses/LICENSE-2.0 940d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten * 1040d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten * Unless required by applicable law or agreed to in writing, software 1140d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten * distributed under the License is distributed on an "AS IS" BASIS, 1240d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1340d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten * See the License for the specific language governing permissions and 1440d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten * limitations under the License. 1540d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten */ 1640d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten 17b0ab2dee391dd2cb257faeaba252ee6ecccc5f03Glenn Kasten// This file is automagically generated by hashgen, do not edit 18b0ab2dee391dd2cb257faeaba252ee6ecccc5f03Glenn Kasten 19369f3138f19f7102bf0f98b890ab84c8df633a93Glenn Kasten/** \file IID_to_MPH.c Interface ID to MPH mapping */ 2040d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten 21fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten#include <SLES/OpenSLES.h> 2240d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten#include "MPH.h" 2340d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten#include <assert.h> 2440d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten#include <string.h> 2540d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten 2640d1c40832a448e23d0bb37512aee53222575c2eGlenn Kastenextern const struct SLInterfaceID_ SL_IID_array[MPH_MAX]; 2740d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten 28369f3138f19f7102bf0f98b890ab84c8df633a93Glenn Kasten/** \brief Map SLInterfaceID to its minimal perfect hash (MPH), or -1 if unknown */ 29369f3138f19f7102bf0f98b890ab84c8df633a93Glenn Kasten 3040d1c40832a448e23d0bb37512aee53222575c2eGlenn Kastenint IID_to_MPH(const SLInterfaceID iid) 3140d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten{ 32fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten#define MAX_HASH_VALUE 180 3340d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten static const unsigned char asso_values[] = 3440d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten { 35fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 35, 20, 54, 84, 181, 181, 59, 181, 181, 181, 36fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 181, 181, 181, 69, 181, 64, 44, 181, 181, 37fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 181, 39, 181, 54, 14, 181, 181, 14, 181, 38fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 125, 5, 181, 181, 181, 181, 181, 181, 181, 39fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 127, 181, 181, 181, 9, 181, 112, 181, 181, 181, 40fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 181, 122, 181, 181, 181, 181, 181, 14, 100, 41fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 9, 24, 181, 50, 181, 181, 181, 181, 117, 42fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 181, 97, 85, 181, 181, 181, 181, 181, 181, 43fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 181, 181, 181, 181, 181, 117, 181, 19, 181, 44fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 181, 9, 181, 181, 181, 25, 181, 14, 102, 45fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 181, 181, 181, 181, 181, 181, 4, 181, 97, 46fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 181, 0, 181, 4, 92, 117, 181, 67, 45, 47fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 181, 110, 181, 181, 181, 72, 181, 40, 181, 48fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 181, 181, 181, 181, 102, 52, 181, 181, 181, 49fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 181, 57, 67, 181, 62, 181, 125, 181, 181, 50fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 181, 181, 82, 181, 181, 72, 181, 181, 65, 51fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 5, 181, 32, 181, 181, 67, 120, 181, 181, 37, 52fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 57, 55, 181, 181, 47, 181, 45, 181, 181, 53fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 181, 7, 181, 17, 30, 181, 181, 181, 181, 54fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 181, 0, 181, 181, 181, 105, 32, 181, 181, 55fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 181, 181, 181, 181, 181, 115, 181, 181, 181, 56fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 95, 32, 181, 181, 181, 22, 181, 181, 2, 181, 57fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 181, 181, 12, 10, 181, 181, 12, 181, 181, 58fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 181, 181, 181, 2, 181, 70, 181, 181, 181, 59fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 10, 2, 181, 181, 70, 181, 120, 115, 181, 181, 60fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten 181, 80, 105, 100, 181, 181 6140d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten }; 6240d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten static const signed char hash_to_MPH[] = { 63a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_ANDROIDEFFECTSEND, 6440d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 65a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XADYNAMICINTERFACEMANAGEMENT, 6640d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 67a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAAUDIODECODERCAPABILITIES, 68a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XALED, 6940d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 70a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XATHREADSYNC, 7140d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 72a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAOUTPUTMIX, 73a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_MIDITIME, 7440d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 75a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAIMAGECONTROLS, 7640d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 77a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_AUDIOIODEVICECAPABILITIES, 78a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_MUTESOLO, 7994a37e8117fb72790882dfb815f99e2365754c74Glenn Kasten -1, 80a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAVOLUME, 8194a37e8117fb72790882dfb815f99e2365754c74Glenn Kasten -1, 8294a37e8117fb72790882dfb815f99e2365754c74Glenn Kasten MPH_ANDROIDCONFIGURATION, 83a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XASNAPSHOT, 8440d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 85a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAPLAY, 8640d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 87a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_SEEK, 88a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_3DLOCATION, 8940d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 90a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XACONFIGEXTENSION, 9140d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 92a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAIMAGEDECODERCAPABILITIES, 93a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XACAMERACAPABILITIES, 9440d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 95a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_3DMACROSCOPIC, 9640d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 97a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_VIBRA, 98a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAIMAGEEFFECTS, 9940d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 100a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAMETADATAEXTRACTION, 10140d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 102a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_PRESETREVERB, 103a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAOBJECT, 10440d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 105a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_RATEPITCH, 10640d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 107a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_PITCH, 108a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAVIBRA, 10940d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 110a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XARADIO, 11140d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 112a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_OUTPUTMIXEXT, 113a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_ENGINECAPABILITIES, 11440d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 115a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAVIDEOPOSTPROCESSING, 116a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 117a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_3DCOMMIT, 118a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAVIDEODECODERCAPABILITIES, 119a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 120a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_METADATATRAVERSAL, 121a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 122a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XASEEK, 123a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_AUDIODECODERCAPABILITIES, 124a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 125a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_DEVICEVOLUME, 12640d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 127b0ab2dee391dd2cb257faeaba252ee6ecccc5f03Glenn Kasten MPH_OBJECT, 128a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_ENVIRONMENTALREVERB, 129a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 130a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XARDS, 131a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 132a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAVIDEOENCODER, 133a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_OUTPUTMIX, 134a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 135a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XADYNAMICSOURCE, 136a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 137a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_3DGROUPING, 138a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XASTREAMINFORMATION, 139a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 140a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAPREFETCHSTATUS, 141a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 142a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAMETADATATRAVERSAL, 143a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_VIRTUALIZER, 144a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 145a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_BUFFERQUEUE, 146a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 14760ca9f9ef02f6e486c3338cb811f603dd7825c05Glenn Kasten MPH_ANDROIDBUFFERQUEUESOURCE, 148a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_PLAY, 149a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 150a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAMETADATAINSERTION, 151a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 152a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XADEVICEVOLUME, 153a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAVIDEOENCODERCAPABILITIES, 154a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 155a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_ENGINE, 156a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 15737dc2fccf3f122b79ebd554de209d0a3c94ae161Jean-Michel Trivi MPH_MIDIMUTESOLO, 158a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAEQUALIZER, 15940d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 160a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_METADATAEXTRACTION, 16140d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 16240d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 163a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XARECORD, 16440d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 165a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAIMAGEENCODER, 16640d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 16740d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 168a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_VISUALIZATION, 16940d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 170a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XACAMERA, 17140d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 17240d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 173a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_BASSBOOST, 174a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 175a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_LED, 17640d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 17740d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 178a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_EFFECTSEND, 179a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 1808db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten MPH_XAENGINE, 18140d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 18240d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 183a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_RECORD, 18440d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 185a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_MIDIMESSAGE, 18640d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 18740d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 188a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_ANDROIDEFFECTCAPABILITIES, 189a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 190a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_3DSOURCE, 19140d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 19240d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 193a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_VOLUME, 194a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 195a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAAUDIOENCODERCAPABILITIES, 19640d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 19740d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 1988db0b106cdce5f5216b1535492de7930ad738aedGlenn Kasten MPH_PLAYBACKRATE, 19940d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 200a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAAUDIOIODEVICECAPABILITIES, 20140d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 20240d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 203a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_NULL, 20440d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 205a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_ANDROIDEFFECT, 20640d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 20740d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 208a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAIMAGEENCODERCAPABILITIES, 20940d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 210a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAPLAYBACKRATE, 21140d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 21240d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 213a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_MIDITEMPO, 21440d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 215a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_DYNAMICSOURCE, 21640d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 21740d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 218a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_DYNAMICINTERFACEMANAGEMENT, 219a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 220a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_EQUALIZER, 22140d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 22240d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 223a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_XAAUDIOENCODER, 22440d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 22540d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten MPH_THREADSYNC, 22640d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 22740d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 228a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_PREFETCHSTATUS, 229a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 230a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_3DDOPPLER, 231a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 232a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 233a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_ANDROIDSIMPLEBUFFERQUEUE, 234a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 235a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 236a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 237a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 238a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_AUDIOENCODERCAPABILITIES, 239a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 240a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten -1, 24140d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 24240d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten -1, 243a361b51914aeb5f8f65c7ecad719d1e01f90913bGlenn Kasten MPH_AUDIOENCODER 24440d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten }; 24540d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten if (&SL_IID_array[0] <= iid && &SL_IID_array[MPH_MAX] > iid) 24640d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten return iid - &SL_IID_array[0]; 24740d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten if (NULL != iid) { 248fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten unsigned key = asso_values[((unsigned char *)iid)[8]] + 249fcd29cb117d8fb08d4e4c15fd3e60caa0a3eddfcGlenn Kasten asso_values[((unsigned char *)iid)[0]]; 25040d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten if (key <= MAX_HASH_VALUE) { 25140d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten int MPH = hash_to_MPH[key]; 25240d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten if (MPH >= 0) { 25340d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten assert(MPH < MPH_MAX); 25440d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten SLInterfaceID trial = &SL_IID_array[MPH]; 25540d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten if (!memcmp(iid, trial, sizeof(struct SLInterfaceID_))) 25640d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten return MPH; 25740d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten } 25840d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten } 25940d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten } 26040d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten return -1; 26140d1c40832a448e23d0bb37512aee53222575c2eGlenn Kasten} 262