From 62ed30c5b0ef8941a9a05d4cee3df4a6badcecca Mon Sep 17 00:00:00 2001 From: ruil2 Date: Wed, 16 Jul 2014 16:49:53 +0800 Subject: [PATCH 1/2] add trace tag --- codec/common/inc/utils.h | 5 +++-- codec/common/src/utils.cpp | 24 +++++++++++++++++++++++- codec/common/src/welsCodecTrace.cpp | 2 +- 3 files changed, 27 insertions(+), 4 deletions(-) diff --git a/codec/common/inc/utils.h b/codec/common/inc/utils.h index b98ff459..1d915c61 100644 --- a/codec/common/inc/utils.h +++ b/codec/common/inc/utils.h @@ -42,7 +42,7 @@ #include #include "typedefs.h" - +#define MAX_LOG_SIZE 1024 /* * Function pointer declaration for various tool sets */ @@ -56,7 +56,8 @@ typedef struct TagLogContext { #ifdef __GNUC__ -extern void WelsLog (SLogContext* pCtx, int32_t iLevel, const char* kpFmt, ...) __attribute__ ((__format__ (__printf__, 3, +extern void WelsLog (SLogContext* pCtx, int32_t iLevel, const char* kpFmt, ...) __attribute__ ((__format__ (__printf__, + 3, 4))); #else extern void WelsLog (SLogContext* pCtx, int32_t iLevel, const char* kpFmt, ...); diff --git a/codec/common/src/utils.cpp b/codec/common/src/utils.cpp index 68c73e0d..bee360c7 100644 --- a/codec/common/src/utils.cpp +++ b/codec/common/src/utils.cpp @@ -39,7 +39,7 @@ */ #include "utils.h" #include "crt_util_safe_x.h" // Safe CRT routines like utils for cross platforms - +#include "codec_app_def.h" float WelsCalcPsnr (const void* kpTarPic, const int32_t kiTarStride, const void* kpRefPic, @@ -50,6 +50,28 @@ float WelsCalcPsnr (const void* kpTarPic, void WelsLog (SLogContext* logCtx, int32_t iLevel, const char* kpFmt, ...) { va_list vl; + char pTraceTag[MAX_LOG_SIZE]; + switch (iLevel) { + case WELS_LOG_ERROR: + WelsSnprintf (pTraceTag, MAX_LOG_SIZE, "[OpenH264] Error:"); + break; + case WELS_LOG_WARNING: + WelsSnprintf (pTraceTag, MAX_LOG_SIZE, "[OpenH264] Warning:"); + break; + case WELS_LOG_INFO: + WelsSnprintf (pTraceTag, MAX_LOG_SIZE, "[OpenH264] Info:"); + break; + case WELS_LOG_DEBUG: + WelsSnprintf (pTraceTag, MAX_LOG_SIZE, "[OpenH264] Debug:"); + break; + default: + WelsSnprintf (pTraceTag, MAX_LOG_SIZE, "[OpenH264] Detail:"); + break; + } + va_start (vl, pTraceTag); + logCtx->pfLog (logCtx->pLogCtx, iLevel, pTraceTag, vl); + va_end (vl); + va_start (vl, kpFmt); logCtx->pfLog (logCtx->pLogCtx, iLevel, kpFmt, vl); va_end (vl); diff --git a/codec/common/src/welsCodecTrace.cpp b/codec/common/src/welsCodecTrace.cpp index 036d73fd..b0069946 100644 --- a/codec/common/src/welsCodecTrace.cpp +++ b/codec/common/src/welsCodecTrace.cpp @@ -64,7 +64,7 @@ welsCodecTrace::~welsCodecTrace() { m_fpTrace = NULL; } -#define MAX_LOG_SIZE 1024 + void welsCodecTrace::StaticCodecTrace (void* pCtx, const int32_t iLevel, const char* Str_Format, va_list vl) { welsCodecTrace* self = (welsCodecTrace*) pCtx; From a1639711c9817c8ce06e8ec0bd0889e1a2febf86 Mon Sep 17 00:00:00 2001 From: ruil2 Date: Thu, 17 Jul 2014 10:24:59 +0800 Subject: [PATCH 2/2] modify trace output --- codec/common/src/utils.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/codec/common/src/utils.cpp b/codec/common/src/utils.cpp index bee360c7..75a05914 100644 --- a/codec/common/src/utils.cpp +++ b/codec/common/src/utils.cpp @@ -68,12 +68,9 @@ void WelsLog (SLogContext* logCtx, int32_t iLevel, const char* kpFmt, ...) { WelsSnprintf (pTraceTag, MAX_LOG_SIZE, "[OpenH264] Detail:"); break; } - va_start (vl, pTraceTag); - logCtx->pfLog (logCtx->pLogCtx, iLevel, pTraceTag, vl); - va_end (vl); - + WelsStrcat(pTraceTag,MAX_LOG_SIZE,kpFmt); va_start (vl, kpFmt); - logCtx->pfLog (logCtx->pLogCtx, iLevel, kpFmt, vl); + logCtx->pfLog (logCtx->pLogCtx, iLevel, pTraceTag, vl); va_end (vl); }