17e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten/* 27e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * Copyright (C) 2010 The Android Open Source Project 37e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * 47e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * Licensed under the Apache License, Version 2.0 (the "License"); 57e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * you may not use this file except in compliance with the License. 67e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * You may obtain a copy of the License at 77e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * 87e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * http://www.apache.org/licenses/LICENSE-2.0 97e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * 107e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * Unless required by applicable law or agreed to in writing, software 117e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * distributed under the License is distributed on an "AS IS" BASIS, 127e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 137e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * See the License for the specific language governing permissions and 147e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten * limitations under the License. 157e5dd9fa6ab032d7eeaac79bee4370a133eda8c2Glenn Kasten */ 16d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten 17d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#ifndef __MPH_H 18d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define __MPH_H 19d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten 20d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten// Minimal perfect hash for each interface ID 21d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten 2215f9f5e609265dff9d6036af38bea084c42a702aGlenn Kasten#define MPH_NONE (-1) 239c03f04a9c6cc2a821182c8be8f2efe964a27efeGlenn Kasten#define MPH_MIN 0 2415f9f5e609265dff9d6036af38bea084c42a702aGlenn Kasten 25d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_3DCOMMIT 0 26d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_3DDOPPLER 1 27d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_3DGROUPING 2 28d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_3DLOCATION 3 29d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_3DMACROSCOPIC 4 30d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_3DSOURCE 5 31d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_AUDIODECODERCAPABILITIES 6 32d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_AUDIOENCODER 7 33d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_AUDIOENCODERCAPABILITIES 8 34d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_AUDIOIODEVICECAPABILITIES 9 35d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_BASSBOOST 10 36d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_BUFFERQUEUE 11 37d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_DEVICEVOLUME 12 38d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_DYNAMICINTERFACEMANAGEMENT 13 39d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_DYNAMICSOURCE 14 40d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_EFFECTSEND 15 41d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_ENGINE 16 42d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_ENGINECAPABILITIES 17 43d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_ENVIRONMENTALREVERB 18 44d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_EQUALIZER 19 45d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_LED 20 46d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_METADATAEXTRACTION 21 47d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_METADATATRAVERSAL 22 48d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_MIDIMESSAGE 23 49d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_MIDIMUTESOLO 24 50d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_MIDITEMPO 25 51d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_MIDITIME 26 52d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_MUTESOLO 27 53c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten#define MPH_NULL 28 54d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_OBJECT 29 55d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_OUTPUTMIX 30 56d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_PITCH 31 57d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_PLAY 32 58d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_PLAYBACKRATE 33 59d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_PREFETCHSTATUS 34 60d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_PRESETREVERB 35 61d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_RATEPITCH 36 62d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_RECORD 37 63d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_SEEK 38 64d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_THREADSYNC 39 65d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_VIBRA 40 66d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_VIRTUALIZER 41 67d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_VISUALIZATION 42 68d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#define MPH_VOLUME 43 69c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten// end Khronos standard interfaces 70d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten 71c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten// The lack of ifdef on the remaining is intentional 72c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten 73c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten// start non-standard and platform-independent interface IDs 74c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten#define MPH_OUTPUTMIXEXT 44 75c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten// end non-standard and platform-independent interface IDs 76c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten 77c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten// start non-standard and platform-specific interface IDs 78d5c746ba436dfc4605672f4a9f8c0628521a9f21Jean-Michel Trivi#define MPH_ANDROIDEFFECT 45 79d5c746ba436dfc4605672f4a9f8c0628521a9f21Jean-Michel Trivi#define MPH_ANDROIDEFFECTCAPABILITIES 46 80d5c746ba436dfc4605672f4a9f8c0628521a9f21Jean-Michel Trivi#define MPH_ANDROIDEFFECTSEND 47 81d5c746ba436dfc4605672f4a9f8c0628521a9f21Jean-Michel Trivi#define MPH_ANDROIDCONFIGURATION 48 821a6bb4f8e738c9387dc9629db294ea5de618a53cGlenn Kasten#define MPH_ANDROIDSIMPLEBUFFERQUEUE 49 83c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten// end non-standard and platform-specific interface IDs 84ed3e92ee5465be1396418098a4ef231ceb0adf33Jean-Michel Trivi 85c37c934e00a96afe18aaadd9f9a1863c721bf8eaGlenn Kasten// total number 861a6bb4f8e738c9387dc9629db294ea5de618a53cGlenn Kasten#define MPH_MAX 50 87d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten 88d4ac180347d2be1f4fe1d9ff4354e0157d83cd7bGlenn Kasten#endif // !defined(__MPH_H) 89