1*ec779b8eSAndroid Build Coastguard Worker /* 2*ec779b8eSAndroid Build Coastguard Worker * Copyright (C) 2018 The Android Open Source Project 3*ec779b8eSAndroid Build Coastguard Worker * 4*ec779b8eSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*ec779b8eSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*ec779b8eSAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*ec779b8eSAndroid Build Coastguard Worker * 8*ec779b8eSAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*ec779b8eSAndroid Build Coastguard Worker * 10*ec779b8eSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*ec779b8eSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*ec779b8eSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*ec779b8eSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*ec779b8eSAndroid Build Coastguard Worker * limitations under the License. 15*ec779b8eSAndroid Build Coastguard Worker */ 16*ec779b8eSAndroid Build Coastguard Worker 17*ec779b8eSAndroid Build Coastguard Worker #include <media/NdkMediaError.h> 18*ec779b8eSAndroid Build Coastguard Worker #include <media/stagefright/MediaErrors.h> 19*ec779b8eSAndroid Build Coastguard Worker #include <utils/Errors.h> 20*ec779b8eSAndroid Build Coastguard Worker #include <utils/Log.h> 21*ec779b8eSAndroid Build Coastguard Worker 22*ec779b8eSAndroid Build Coastguard Worker using namespace android; 23*ec779b8eSAndroid Build Coastguard Worker translate_error(status_t err)24*ec779b8eSAndroid Build Coastguard Workermedia_status_t translate_error(status_t err) { 25*ec779b8eSAndroid Build Coastguard Worker 26*ec779b8eSAndroid Build Coastguard Worker if (err == OK) { 27*ec779b8eSAndroid Build Coastguard Worker return AMEDIA_OK; 28*ec779b8eSAndroid Build Coastguard Worker } else if (err == ERROR_END_OF_STREAM) { 29*ec779b8eSAndroid Build Coastguard Worker return AMEDIA_ERROR_END_OF_STREAM; 30*ec779b8eSAndroid Build Coastguard Worker } else if (err == ERROR_IO) { 31*ec779b8eSAndroid Build Coastguard Worker return AMEDIA_ERROR_IO; 32*ec779b8eSAndroid Build Coastguard Worker } else if (err == ERROR_MALFORMED) { 33*ec779b8eSAndroid Build Coastguard Worker return AMEDIA_ERROR_MALFORMED; 34*ec779b8eSAndroid Build Coastguard Worker } else if (err == INVALID_OPERATION) { 35*ec779b8eSAndroid Build Coastguard Worker return AMEDIA_ERROR_INVALID_OPERATION; 36*ec779b8eSAndroid Build Coastguard Worker } else if (err == UNKNOWN_ERROR) { 37*ec779b8eSAndroid Build Coastguard Worker return AMEDIA_ERROR_UNKNOWN; 38*ec779b8eSAndroid Build Coastguard Worker } 39*ec779b8eSAndroid Build Coastguard Worker 40*ec779b8eSAndroid Build Coastguard Worker ALOGE("sf error code: %d", err); 41*ec779b8eSAndroid Build Coastguard Worker return AMEDIA_ERROR_UNKNOWN; 42*ec779b8eSAndroid Build Coastguard Worker } 43*ec779b8eSAndroid Build Coastguard Worker reverse_translate_error(media_status_t err)44*ec779b8eSAndroid Build Coastguard Workerstatus_t reverse_translate_error(media_status_t err) { 45*ec779b8eSAndroid Build Coastguard Worker 46*ec779b8eSAndroid Build Coastguard Worker if (err == AMEDIA_OK) { 47*ec779b8eSAndroid Build Coastguard Worker return OK; 48*ec779b8eSAndroid Build Coastguard Worker } else if (err == AMEDIA_ERROR_END_OF_STREAM) { 49*ec779b8eSAndroid Build Coastguard Worker return ERROR_END_OF_STREAM; 50*ec779b8eSAndroid Build Coastguard Worker } else if (err == AMEDIA_ERROR_IO) { 51*ec779b8eSAndroid Build Coastguard Worker return ERROR_IO; 52*ec779b8eSAndroid Build Coastguard Worker } else if (err == AMEDIA_ERROR_WOULD_BLOCK) { 53*ec779b8eSAndroid Build Coastguard Worker return WOULD_BLOCK; 54*ec779b8eSAndroid Build Coastguard Worker } else if (err == AMEDIA_ERROR_MALFORMED) { 55*ec779b8eSAndroid Build Coastguard Worker return ERROR_MALFORMED; 56*ec779b8eSAndroid Build Coastguard Worker } else if (err == AMEDIA_ERROR_INVALID_OPERATION) { 57*ec779b8eSAndroid Build Coastguard Worker return INVALID_OPERATION; 58*ec779b8eSAndroid Build Coastguard Worker } else if (err == AMEDIA_ERROR_UNKNOWN) { 59*ec779b8eSAndroid Build Coastguard Worker return UNKNOWN_ERROR; 60*ec779b8eSAndroid Build Coastguard Worker } 61*ec779b8eSAndroid Build Coastguard Worker 62*ec779b8eSAndroid Build Coastguard Worker ALOGE("ndk error code: %d", err); 63*ec779b8eSAndroid Build Coastguard Worker return UNKNOWN_ERROR; 64*ec779b8eSAndroid Build Coastguard Worker } 65