From 053e51b2dfa16e821f12fa27bdb6d86f3699818c Mon Sep 17 00:00:00 2001 From: vaclav Date: Wed, 21 Dec 2022 15:57:33 +0100 Subject: [PATCH 1/5] call JbmTraceFileWriter_writeFrame() from application again --- apps/decoder.c | 4 +--- lib_dec/lib_dec.c | 11 +++-------- lib_dec/lib_dec.h | 7 +------ 3 files changed, 5 insertions(+), 17 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index 11d70adf28..16545f308e 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -2042,7 +2042,7 @@ static ivas_error decodeVoIP( if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, pcmBuf, systemTime_ms #ifdef SUPPORT_JBM_TRACEFILE , - jbmTraceWriter + jbmTraceWriter != NULL #endif ) ) != IVAS_ERR_OK ) #else @@ -2054,7 +2054,6 @@ static ivas_error decodeVoIP( goto cleanup; } -#ifndef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE /* write JBM trace file entry - only done for EVS testing */ if ( jbmTraceWriter != NULL ) @@ -2073,7 +2072,6 @@ static ivas_error decodeVoIP( goto cleanup; } } -#endif #endif /* write JBM Offset file entry */ diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index b42abb75ac..c24acb0b6e 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1391,7 +1391,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE , - JbmTraceFileWriter *jbmTraceFileWriter + const int16_t jbmWriter_flag /* i : JBM tracefile write on/off flag */ #endif #endif ) @@ -1613,15 +1613,10 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE /* jbmTraceFileWriter may be NULL if tracefile writing was not requested on CLI */ - if ( jbmTraceFileWriter != NULL ) + if ( jbmWriter_flag ) { - /* write JBM trace data entry */ + /*store JBM trace data entry */ store_JbmData( hVoIP, dataUnit, systemTimestamp_ms, extBufferedSamples, hDecoderConfig->output_Fs ); - if ( ( JbmTraceFileWriter_writeFrame( &hVoIP->JbmTraceData, jbmTraceFileWriter ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError writing JBM Trace data to file\n" ); - return IVAS_ERR_UNKNOWN; - } } #endif #else diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h index a594076925..c47d125179 100644 --- a/lib_dec/lib_dec.h +++ b/lib_dec/lib_dec.h @@ -35,11 +35,6 @@ #include "common_api_types.h" #include "ivas_error.h" -#ifdef MC_JBM -#ifdef SUPPORT_JBM_TRACEFILE -#include "jbm_file_writer.h" -#endif -#endif #include #include @@ -209,7 +204,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( const uint32_t systemTimestamp_ms /* i : current system timestamp */ #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE - , JbmTraceFileWriter *jbmWriter + , const int16_t jbmWriter_flag /* i : JBM tracefile write on/off flag */ #endif #endif ); -- GitLab From e44ad7d3e919a5ec1b0ef26b506d3006499fb1ca Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski Date: Thu, 22 Dec 2022 10:49:56 +0100 Subject: [PATCH 2/5] Revert "call JbmTraceFileWriter_writeFrame() from application again" This reverts commit 053e51b2dfa16e821f12fa27bdb6d86f3699818c. --- apps/decoder.c | 4 +++- lib_dec/lib_dec.c | 11 ++++++++--- lib_dec/lib_dec.h | 7 ++++++- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index 16545f308e..11d70adf28 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -2042,7 +2042,7 @@ static ivas_error decodeVoIP( if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, pcmBuf, systemTime_ms #ifdef SUPPORT_JBM_TRACEFILE , - jbmTraceWriter != NULL + jbmTraceWriter #endif ) ) != IVAS_ERR_OK ) #else @@ -2054,6 +2054,7 @@ static ivas_error decodeVoIP( goto cleanup; } +#ifndef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE /* write JBM trace file entry - only done for EVS testing */ if ( jbmTraceWriter != NULL ) @@ -2072,6 +2073,7 @@ static ivas_error decodeVoIP( goto cleanup; } } +#endif #endif /* write JBM Offset file entry */ diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index c24acb0b6e..b42abb75ac 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1391,7 +1391,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE , - const int16_t jbmWriter_flag /* i : JBM tracefile write on/off flag */ + JbmTraceFileWriter *jbmTraceFileWriter #endif #endif ) @@ -1613,10 +1613,15 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE /* jbmTraceFileWriter may be NULL if tracefile writing was not requested on CLI */ - if ( jbmWriter_flag ) + if ( jbmTraceFileWriter != NULL ) { - /*store JBM trace data entry */ + /* write JBM trace data entry */ store_JbmData( hVoIP, dataUnit, systemTimestamp_ms, extBufferedSamples, hDecoderConfig->output_Fs ); + if ( ( JbmTraceFileWriter_writeFrame( &hVoIP->JbmTraceData, jbmTraceFileWriter ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nError writing JBM Trace data to file\n" ); + return IVAS_ERR_UNKNOWN; + } } #endif #else diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h index c47d125179..a594076925 100644 --- a/lib_dec/lib_dec.h +++ b/lib_dec/lib_dec.h @@ -35,6 +35,11 @@ #include "common_api_types.h" #include "ivas_error.h" +#ifdef MC_JBM +#ifdef SUPPORT_JBM_TRACEFILE +#include "jbm_file_writer.h" +#endif +#endif #include #include @@ -204,7 +209,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( const uint32_t systemTimestamp_ms /* i : current system timestamp */ #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE - , const int16_t jbmWriter_flag /* i : JBM tracefile write on/off flag */ + , JbmTraceFileWriter *jbmWriter #endif #endif ); -- GitLab From 586edbbbdde6d2eae459ebe5c243ca44a79e386a Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski Date: Tue, 13 Dec 2022 11:29:17 +0100 Subject: [PATCH 3/5] Remove dependency on lib_util from lib_dec --- apps/decoder.c | 10 ++++++++++ lib_dec/lib_dec.c | 9 +++++---- lib_dec/lib_dec.h | 15 +++++++++------ 3 files changed, 24 insertions(+), 10 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index 11d70adf28..b846e30829 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -1794,6 +1794,15 @@ cleanup: #endif #endif +#ifdef MC_JBM +#ifdef SUPPORT_JBM_TRACEFILE +static ivas_error writeJbmTraceFileFrameWrapper( const void *data, void *writer ) +{ + return JbmTraceFileWriter_writeFrame( data, writer ); +} +#endif +#endif + /*---------------------------------------------------------------------* * decodeVoIP() @@ -2042,6 +2051,7 @@ static ivas_error decodeVoIP( if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, pcmBuf, systemTime_ms #ifdef SUPPORT_JBM_TRACEFILE , + writeJbmTraceFileFrameWrapper, jbmTraceWriter #endif ) ) != IVAS_ERR_OK ) diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index b42abb75ac..ea9baaab57 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1391,7 +1391,8 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE , - JbmTraceFileWriter *jbmTraceFileWriter + JbmTraceFileWriterFn jbmWriterFn, + void* jbmWriter #endif #endif ) @@ -1612,12 +1613,12 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE - /* jbmTraceFileWriter may be NULL if tracefile writing was not requested on CLI */ - if ( jbmTraceFileWriter != NULL ) + /* jbmWriterFn and jbmWriter may be NULL if tracefile writing was not requested on CLI */ + if ( jbmWriterFn != NULL && jbmWriter != NULL ) { /* write JBM trace data entry */ store_JbmData( hVoIP, dataUnit, systemTimestamp_ms, extBufferedSamples, hDecoderConfig->output_Fs ); - if ( ( JbmTraceFileWriter_writeFrame( &hVoIP->JbmTraceData, jbmTraceFileWriter ) ) != IVAS_ERR_OK ) + if ( ( jbmWriterFn( &hVoIP->JbmTraceData, jbmWriter ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError writing JBM Trace data to file\n" ); return IVAS_ERR_UNKNOWN; diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h index a594076925..ee8a312bc8 100644 --- a/lib_dec/lib_dec.h +++ b/lib_dec/lib_dec.h @@ -35,11 +35,6 @@ #include "common_api_types.h" #include "ivas_error.h" -#ifdef MC_JBM -#ifdef SUPPORT_JBM_TRACEFILE -#include "jbm_file_writer.h" -#endif -#endif #include #include @@ -108,6 +103,13 @@ typedef enum _IVAS_DEC_BS_FORMAT typedef struct IVAS_DEC *IVAS_DEC_HANDLE; +#ifdef MC_JBM +#ifdef SUPPORT_JBM_TRACEFILE +/* Callback function for JBM tracefile writing */ +typedef ivas_error (*JbmTraceFileWriterFn)(const void* data, void* writer); +#endif +#endif + /* clang-format off */ /*---------------------------------------------------------------------* @@ -209,7 +211,8 @@ ivas_error IVAS_DEC_VoIP_GetSamples( const uint32_t systemTimestamp_ms /* i : current system timestamp */ #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE - , JbmTraceFileWriter *jbmWriter + , JbmTraceFileWriterFn jbmWriterFn, + void* jbmWriter #endif #endif ); -- GitLab From 079b609cb34757b87d26abaf3f185ba1031b5517 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski Date: Thu, 22 Dec 2022 11:21:34 +0100 Subject: [PATCH 4/5] Fix formatting --- lib_dec/lib_dec.c | 2 +- lib_dec/lib_dec.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index ea9baaab57..1a346ab8b5 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1392,7 +1392,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #ifdef SUPPORT_JBM_TRACEFILE , JbmTraceFileWriterFn jbmWriterFn, - void* jbmWriter + void *jbmWriter #endif #endif ) diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h index ee8a312bc8..5d57d330a9 100644 --- a/lib_dec/lib_dec.h +++ b/lib_dec/lib_dec.h @@ -106,7 +106,7 @@ typedef struct IVAS_DEC *IVAS_DEC_HANDLE; #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE /* Callback function for JBM tracefile writing */ -typedef ivas_error (*JbmTraceFileWriterFn)(const void* data, void* writer); +typedef ivas_error ( *JbmTraceFileWriterFn )( const void *data, void *writer ); #endif #endif -- GitLab From 82cf570dff491b76412406056662c63c33d47dbb Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski Date: Thu, 22 Dec 2022 11:56:48 +0100 Subject: [PATCH 5/5] Revert "fix release build on windows" This reverts commit 27f472491ab24bbdec830bbeaa397c697d368ef7. --- Workspace_msvc/lib_rend.vcxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Workspace_msvc/lib_rend.vcxproj b/Workspace_msvc/lib_rend.vcxproj index 13dc5e83c3..e0660f54cb 100644 --- a/Workspace_msvc/lib_rend.vcxproj +++ b/Workspace_msvc/lib_rend.vcxproj @@ -169,7 +169,7 @@ Neither false false - ..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_util;%(AdditionalIncludeDirectories) + ..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;%(AdditionalIncludeDirectories) _CRT_SECURE_NO_WARNINGS;$(Macros);WIN32;%(PreprocessorDefinitions) true -- GitLab