1 /* 2 * Copyright (c) 2021-2023 Shenzhen Kaihong DID 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 CODEC_LOG_WRAPPER_H 17 #define CODEC_LOG_WRAPPER_H 18 #include <hdf_log.h> 19 20 #ifdef __cplusplus 21 extern "C" { 22 #endif 23 24 #ifdef LOG_DOMAIN 25 #undef LOG_DOMAIN 26 #endif 27 #define LOG_DOMAIN 0xD002514 28 29 #ifdef HDF_LOG_TAG 30 #undef HDF_LOG_TAG 31 #endif 32 33 #ifdef LOG_TAG_IMAGE 34 #define HDF_LOG_TAG codec_hdi_image 35 #elif LOG_TAG_PASSTHROUGH 36 #define HDF_LOG_TAG codec_hdi_adapter 37 #elif LOG_TAG_HDI_SERVER 38 #define HDF_LOG_TAG codec_hdi_server 39 #elif LOG_TAG_HDI_CLIENT 40 #define HDF_LOG_TAG codec_hdi_client 41 #else 42 #define HDF_LOG_TAG codec_hdi_omx 43 #endif 44 45 #define FILENAME (__builtin_strrchr(__FILE__, '/') ? __builtin_strrchr(__FILE__, '/') + 1 : __FILE__) 46 47 #ifndef OHOS_DEBUG 48 #define DECORATOR_HDFLOG(op, fmt, args...) \ 49 do { \ 50 op("%{public}s() " fmt, __FUNCTION__, ##args); \ 51 } while (0) 52 #else 53 #define DECORATOR_HDFLOG(op, fmt, args...) \ 54 do { \ 55 op("{%s()-%s:%d} " fmt, __FUNCTION__, FILENAME, __LINE__, ##args); \ 56 } while (0) 57 #endif 58 59 #define CODEC_LOGE(fmt, ...) DECORATOR_HDFLOG(HDF_LOGE, fmt, ##__VA_ARGS__) 60 #define CODEC_LOGW(fmt, ...) DECORATOR_HDFLOG(HDF_LOGW, fmt, ##__VA_ARGS__) 61 #define CODEC_LOGI(fmt, ...) DECORATOR_HDFLOG(HDF_LOGI, fmt, ##__VA_ARGS__) 62 #define CODEC_LOGV(fmt, ...) DECORATOR_HDFLOG(HDF_LOGV, fmt, ##__VA_ARGS__) 63 #define CODEC_LOGD(fmt, ...) DECORATOR_HDFLOG(HDF_LOGD, fmt, ##__VA_ARGS__) 64 65 #define CHECK_AND_RETURN_RET_LOG(cond, ret, fmt, ...) \ 66 do { \ 67 if (!(cond)) { \ 68 CODEC_LOGE(fmt, ##__VA_ARGS__); \ 69 return ret; \ 70 } \ 71 } while (0) 72 73 #ifdef __cplusplus 74 } 75 #endif 76 #endif /* CODEC_LOG_WRAPPER_H */ 77