Merge pull request #1612 from huili2/log_add_this_codec

add this log for codec
This commit is contained in:
sijchen 2014-12-11 17:01:38 +08:00
commit 0ff1eb482f
6 changed files with 13 additions and 5 deletions

View File

@ -54,6 +54,7 @@ typedef void (*PWelsLogCallbackFunc) (void* pCtx, const int32_t iLevel, const ch
typedef struct TagLogContext { typedef struct TagLogContext {
PWelsLogCallbackFunc pfLog; PWelsLogCallbackFunc pfLog;
void* pLogCtx; void* pLogCtx;
void* pCodecInstance;
} SLogContext; } SLogContext;

View File

@ -44,6 +44,7 @@ class welsCodecTrace {
welsCodecTrace(); welsCodecTrace();
~welsCodecTrace(); ~welsCodecTrace();
void SetCodecInstance (void* pCodecInstance);
void SetTraceLevel (const int32_t kiLevel); void SetTraceLevel (const int32_t kiLevel);
void SetTraceCallback (WelsTraceCallback func); void SetTraceCallback (WelsTraceCallback func);
void SetTraceCallbackContext (void* pCtx); void SetTraceCallbackContext (void* pCtx);

View File

@ -53,19 +53,19 @@ void WelsLog (SLogContext* logCtx, int32_t iLevel, const char* kpFmt, ...) {
char pTraceTag[MAX_LOG_SIZE]; char pTraceTag[MAX_LOG_SIZE];
switch (iLevel) { switch (iLevel) {
case WELS_LOG_ERROR: case WELS_LOG_ERROR:
WelsSnprintf (pTraceTag, MAX_LOG_SIZE, "[OpenH264] Error:"); WelsSnprintf (pTraceTag, MAX_LOG_SIZE, "[OpenH264] this = 0x%p, Error:", logCtx->pCodecInstance);
break; break;
case WELS_LOG_WARNING: case WELS_LOG_WARNING:
WelsSnprintf (pTraceTag, MAX_LOG_SIZE, "[OpenH264] Warning:"); WelsSnprintf (pTraceTag, MAX_LOG_SIZE, "[OpenH264] this = 0x%p, Warning:", logCtx->pCodecInstance);
break; break;
case WELS_LOG_INFO: case WELS_LOG_INFO:
WelsSnprintf (pTraceTag, MAX_LOG_SIZE, "[OpenH264] Info:"); WelsSnprintf (pTraceTag, MAX_LOG_SIZE, "[OpenH264] this = 0x%p, Info:", logCtx->pCodecInstance);
break; break;
case WELS_LOG_DEBUG: case WELS_LOG_DEBUG:
WelsSnprintf (pTraceTag, MAX_LOG_SIZE, "[OpenH264] Debug:"); WelsSnprintf (pTraceTag, MAX_LOG_SIZE, "[OpenH264] this = 0x%p, Debug:", logCtx->pCodecInstance);
break; break;
default: default:
WelsSnprintf (pTraceTag, MAX_LOG_SIZE, "[OpenH264] Detail:"); WelsSnprintf (pTraceTag, MAX_LOG_SIZE, "[OpenH264] this = 0x%p, Detail:", logCtx->pCodecInstance);
break; break;
} }
WelsStrcat (pTraceTag, MAX_LOG_SIZE, kpFmt); WelsStrcat (pTraceTag, MAX_LOG_SIZE, kpFmt);

View File

@ -83,6 +83,10 @@ void welsCodecTrace::CodecTrace (const int32_t iLevel, const char* Str_Format, v
} }
} }
void welsCodecTrace::SetCodecInstance (void* pCodecInstance) {
m_sLogCtx.pCodecInstance = pCodecInstance;
}
void welsCodecTrace::SetTraceLevel (const int32_t iLevel) { void welsCodecTrace::SetTraceLevel (const int32_t iLevel) {
if (iLevel >= 0) if (iLevel >= 0)
m_iTraceLevel = iLevel; m_iTraceLevel = iLevel;

View File

@ -104,6 +104,7 @@ CWelsDecoder::CWelsDecoder (void)
m_pWelsTrace = new welsCodecTrace(); m_pWelsTrace = new welsCodecTrace();
if (m_pWelsTrace != NULL) { if (m_pWelsTrace != NULL) {
m_pWelsTrace->SetCodecInstance (this);
m_pWelsTrace->SetTraceLevel (WELS_LOG_ERROR); m_pWelsTrace->SetTraceLevel (WELS_LOG_ERROR);
WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, "CWelsDecoder::CWelsDecoder() entry"); WelsLog (&m_pWelsTrace->m_sLogCtx, WELS_LOG_INFO, "CWelsDecoder::CWelsDecoder() entry");

View File

@ -166,6 +166,7 @@ void CWelsH264SVCEncoder::InitEncoder (void) {
if (m_pWelsTrace == NULL) { if (m_pWelsTrace == NULL) {
return; return;
} }
m_pWelsTrace->SetCodecInstance (this);
} }
/* Interfaces override from ISVCEncoder */ /* Interfaces override from ISVCEncoder */