mirror of
https://github.com/Evolution-X-Devices/hardware_samsung_slsi-linaro_openmax
synced 2026-01-27 15:26:36 +00:00
127 lines
3.3 KiB
C
127 lines
3.3 KiB
C
|
|
/*
|
||
|
|
*
|
||
|
|
* Copyright 2012 Samsung Electronics S.LSI Co. LTD
|
||
|
|
*
|
||
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
|
* you may not use this file except in compliance with the License.
|
||
|
|
* You may obtain a copy of the License at
|
||
|
|
*
|
||
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||
|
|
*
|
||
|
|
* Unless required by applicable law or agreed to in writing, software
|
||
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
|
* See the License for the specific language governing permissions and
|
||
|
|
* limitations under the License.
|
||
|
|
*/
|
||
|
|
|
||
|
|
/*
|
||
|
|
* @file Exynos_OSAL_Log.c
|
||
|
|
* @brief
|
||
|
|
* @author Yunji Kim (yunji.kim@samsung.com)
|
||
|
|
* @version 2.0.0
|
||
|
|
* @history
|
||
|
|
* 2012.02.20 : Create
|
||
|
|
*/
|
||
|
|
|
||
|
|
#include <log/log.h>
|
||
|
|
#include <cutils/properties.h>
|
||
|
|
|
||
|
|
#include "Exynos_OSAL_Log.h"
|
||
|
|
#include "Exynos_OSAL_ETC.h"
|
||
|
|
/* =======TAG=========
|
||
|
|
EXYNOS_RM
|
||
|
|
EXYNOS_LOG
|
||
|
|
EXYNOS_COMP_REGS
|
||
|
|
EXYNOS_OMX_CORE
|
||
|
|
EXYNOS_LOG_THREAD
|
||
|
|
EXYNOS_LOG_SEMA
|
||
|
|
Exynos_OSAL_SkypeHD
|
||
|
|
Exynos_OSAL_Android
|
||
|
|
Exynos_OSAL_EVENT
|
||
|
|
EXYNOS_BASE_COMP
|
||
|
|
EXYNOS_BASE_PORT
|
||
|
|
EXYNOS_VIDEO_DEC
|
||
|
|
EXYNOS_VIDEO_DECCONTROL
|
||
|
|
EXYNOS_H264_DEC
|
||
|
|
EXYNOS_HEVC_DEC
|
||
|
|
EXYNOS_MPEG2_DEC
|
||
|
|
EXYNOS_MPEG4_DEC
|
||
|
|
EXYNOS_WMV_DEC
|
||
|
|
EXYNOS_VP8_DEC
|
||
|
|
EXYNOS_VP9_DEC
|
||
|
|
EXYNOS_VIDEO_ENC
|
||
|
|
EXYNOS_VIDEO_ENCCONTROL
|
||
|
|
EXYNOS_HEVC_ENC
|
||
|
|
EXYNOS_H264_ENC
|
||
|
|
EXYNOS_MPEG4_ENC
|
||
|
|
EXYNOS_VP8_ENC
|
||
|
|
EXYNOS_VP9_ENC
|
||
|
|
======================*/
|
||
|
|
static char debugProp[PROPERTY_VALUE_MAX];
|
||
|
|
typedef enum _DEBUG_LEVEL
|
||
|
|
{
|
||
|
|
LOG_LEVEL_ALL = EXYNOS_LOG_FUNC_TRACE,
|
||
|
|
LOG_LEVEL2 = EXYNOS_LOG_TRACE,
|
||
|
|
LOG_LEVEL1 = EXYNOS_LOG_ESSENTIAL,
|
||
|
|
LOG_DEFAULT = EXYNOS_LOG_INFO,
|
||
|
|
LOG_LEVELTAG,
|
||
|
|
} EXYNOS_DEBUG_LEVEL;
|
||
|
|
|
||
|
|
static unsigned int log_prop = LOG_DEFAULT;
|
||
|
|
|
||
|
|
void Exynos_OSAL_Get_Log_Property()
|
||
|
|
{
|
||
|
|
#ifdef EXYNOS_LOG
|
||
|
|
if (property_get("ro.vendor.debug.omx.level", debugProp, NULL) > 0) {
|
||
|
|
if(!(Exynos_OSAL_Strncmp(debugProp, "0", 1))) {
|
||
|
|
log_prop = LOG_DEFAULT;
|
||
|
|
} else if (!(Exynos_OSAL_Strncmp(debugProp, "1", 1))) {
|
||
|
|
log_prop = LOG_LEVEL1;
|
||
|
|
} else if (!(Exynos_OSAL_Strncmp(debugProp, "2", 1))) {
|
||
|
|
log_prop = LOG_LEVEL2;
|
||
|
|
} else if (!(Exynos_OSAL_Strncmp(debugProp, "3", 1))) {
|
||
|
|
log_prop = LOG_LEVEL_ALL;
|
||
|
|
} else {
|
||
|
|
log_prop = LOG_LEVELTAG;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
#endif
|
||
|
|
}
|
||
|
|
|
||
|
|
void _Exynos_OSAL_Log(EXYNOS_LOG_LEVEL logLevel, const char *tag, const char *msg, ...)
|
||
|
|
{
|
||
|
|
va_list argptr;
|
||
|
|
#ifdef EXYNOS_LOG
|
||
|
|
if (log_prop == LOG_LEVELTAG) {
|
||
|
|
if(!Exynos_OSAL_Strstr(debugProp, tag))
|
||
|
|
return;
|
||
|
|
} else if (logLevel < log_prop)
|
||
|
|
return;
|
||
|
|
#endif
|
||
|
|
va_start(argptr, msg);
|
||
|
|
|
||
|
|
switch (logLevel) {
|
||
|
|
case EXYNOS_LOG_FUNC_TRACE:
|
||
|
|
__android_log_vprint(ANDROID_LOG_VERBOSE, tag, msg, argptr);
|
||
|
|
break;
|
||
|
|
case EXYNOS_LOG_TRACE:
|
||
|
|
__android_log_vprint(ANDROID_LOG_DEBUG, tag, msg, argptr);
|
||
|
|
break;
|
||
|
|
case EXYNOS_LOG_ESSENTIAL:
|
||
|
|
case EXYNOS_LOG_INFO:
|
||
|
|
__android_log_vprint(ANDROID_LOG_INFO, tag, msg, argptr);
|
||
|
|
break;
|
||
|
|
case EXYNOS_LOG_WARNING:
|
||
|
|
__android_log_vprint(ANDROID_LOG_WARN, tag, msg, argptr);
|
||
|
|
break;
|
||
|
|
case EXYNOS_LOG_ERROR:
|
||
|
|
__android_log_vprint(ANDROID_LOG_ERROR, tag, msg, argptr);
|
||
|
|
break;
|
||
|
|
default:
|
||
|
|
__android_log_vprint(ANDROID_LOG_VERBOSE, tag, msg, argptr);
|
||
|
|
}
|
||
|
|
|
||
|
|
va_end(argptr);
|
||
|
|
}
|