1 /* 2 * Copyright (c) 2023-2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef STATUS_H 17 #define STATUS_H 18 19 #include <cstdint> // NOLINT: using int32_t in this file 20 21 namespace OHOS { 22 namespace Media { 23 // 需要参考OH的错误码编码规范来写,模块+错误码,常见具体错误是有固定定义 24 // 后续再定义北向接口 MfErrCode,那么它应该是Status的子集。 25 /** 26 * @enum Api Return Status. 27 * 28 * @since 1.0 29 * @version 1.0 30 */ 31 enum struct Status : int32_t { 32 END_OF_STREAM = 1, ///< Read source when end of stream 33 OK = 0, ///< The execution result is correct. 34 NO_ERROR = OK, ///< Same as Status::OK 35 ERROR_UNKNOWN = -1, ///< An unknown error occurred. 36 ERROR_PLUGIN_ALREADY_EXISTS = -2, ///< The plugin already exists, usually occurs when in plugin registered. 37 ERROR_INCOMPATIBLE_VERSION = 38 -3, ///< Incompatible version, may occur during plugin registration or function calling. 39 ERROR_NO_MEMORY = -4, ///< The system memory is insufficient. 40 ERROR_WRONG_STATE = -5, ///< The function is called in an invalid state. 41 ERROR_UNIMPLEMENTED = -6, ///< This method or interface is not implemented. 42 ERROR_INVALID_PARAMETER = -7, ///< The plugin does not support this parameter. 43 ERROR_INVALID_DATA = -8, ///< The value is not in the valid range. 44 ERROR_MISMATCHED_TYPE = -9, ///< Mismatched data type 45 ERROR_TIMED_OUT = -10, ///< Operation timeout. 46 ERROR_UNSUPPORTED_FORMAT = -11, ///< The plugin not support this format/name. 47 ERROR_NOT_ENOUGH_DATA = -12, ///< Not enough data when read from source. 48 ERROR_NOT_EXISTED = -13, ///< Source is not existed. 49 ERROR_AGAIN = -14, ///< Operation is not available right now, should try again later. 50 ERROR_PERMISSION_DENIED = -15, ///< Permission denied. 51 ERROR_NULL_POINTER = -16, ///< Null pointer. 52 ERROR_INVALID_OPERATION = -17, ///< Invalid operation. 53 ERROR_CLIENT = -18, ///< Http client error 54 ERROR_SERVER = -19, ///< Http server error 55 ERROR_DELAY_READY = -20, ///< Delay ready event 56 ERROR_INVALID_STATE = -21, 57 ERROR_AUDIO_INTERRUPT = -22, 58 ERROR_INVALID_BUFFER_SIZE = 0xF001, 59 ERROR_UNEXPECTED_MEMORY_TYPE = 0xF002, 60 ERROR_CREATE_BUFFER = 0xF003, 61 ERROR_NULL_POINT_BUFFER = 0xF004, 62 ERROR_INVALID_BUFFER_ID = 0xF005, 63 ERROR_INVALID_BUFFER_STATE = 0xF006, 64 ERROR_NO_FREE_BUFFER = 0xF007, 65 ERROR_NO_DIRTY_BUFFER = 0xF008, 66 ERROR_NO_CONSUMER_LISTENER = 0xF009, 67 ERROR_NULL_BUFFER_QUEUE = 0xF00A, 68 ERROR_WAIT_TIMEOUT = 0xF00B, 69 ERROR_OUT_OF_RANGE = 0xF00C, 70 ERROR_NULL_SURFACE = 0xF00D, 71 ERROR_SURFACE_INNER = 0xF00E, 72 ERROR_NULL_SURFACE_BUFFER = 0xF00F, 73 ERROR_DRM_DECRYPT_FAILED = 0xF010, 74 75 ERROR_IPC_WRITE_INTERFACE_TOKEN = 0xF101, 76 ERROR_IPC_SEND_REQUEST = 0xF102, 77 }; 78 } // namespace Media 79 } // namespace OHOS 80 #endif // STATUS_H 81