1bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent/* 2bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent * Copyright (C) 2014 The Android Open Source Project 3bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent * 4bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent * Licensed under the Apache License, Version 2.0 (the "License"); 5bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent * you may not use this file except in compliance with the License. 6bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent * You may obtain a copy of the License at 7bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent * 8bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent * http://www.apache.org/licenses/LICENSE-2.0 9bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent * 10bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent * Unless required by applicable law or agreed to in writing, software 11bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent * distributed under the License is distributed on an "AS IS" BASIS, 12bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent * See the License for the specific language governing permissions and 14bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent * limitations under the License. 15bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent */ 16bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent 17bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent#ifndef ANDROID_MEDIA_AUDIOERRORS_H 18bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent#define ANDROID_MEDIA_AUDIOERRORS_H 19bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent 20bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent#include <utils/Errors.h> 21bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent 22bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurentnamespace android { 23bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent// status codes used by JAVA APIs. Translation from native error codes is done by 24bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent// nativeToJavaStatus() 25bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent// must be kept in sync with values in 26bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent// frameworks/base/media/java/android/media/AudioSystem.java. 27bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurentenum { 28bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent AUDIO_JAVA_SUCCESS = 0, 29bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent AUDIO_JAVA_ERROR = -1, 30bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent AUDIO_JAVA_BAD_VALUE = -2, 31bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent AUDIO_JAVA_INVALID_OPERATION = -3, 32bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent AUDIO_JAVA_PERMISSION_DENIED = -4, 33bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent AUDIO_JAVA_NO_INIT = -5, 34bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent AUDIO_JAVA_DEAD_OBJECT = -6, 35bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent}; 36bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent 37bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurentstatic inline jint nativeToJavaStatus(status_t status) { 38bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent switch (status) { 39bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent case NO_ERROR: 40bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent return AUDIO_JAVA_SUCCESS; 41bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent case BAD_VALUE: 42bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent return AUDIO_JAVA_BAD_VALUE; 43bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent case INVALID_OPERATION: 44bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent return AUDIO_JAVA_INVALID_OPERATION; 45bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent case PERMISSION_DENIED: 46bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent return AUDIO_JAVA_PERMISSION_DENIED; 47bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent case NO_INIT: 48bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent return AUDIO_JAVA_NO_INIT; 49bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent case DEAD_OBJECT: 50bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent return AUDIO_JAVA_DEAD_OBJECT; 51bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent default: 52bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent return AUDIO_JAVA_ERROR; 53bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent } 54bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent} 55bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent}; // namespace android 56bc11a696f6856624de532a6830d5db9dbbe2384cEric Laurent#endif // ANDROID_MEDIA_AUDIOERRORS_H 57