diff --git a/apps/renderer.c b/apps/renderer.c index a8b4a067db622e77502307cf140f8656f1b15fa0..5eba07e534b184addf247fa96b992d8f9b817bd5 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -643,12 +643,27 @@ static void setupWithSingleFormatInput( positionProvider->numObjects = args.inConfig.numAudioObjects; for ( int16_t i = 0; i < positionProvider->numObjects; ++i ) { +#ifdef FIX_1376_MISSING_ISM_METADATA + /* Check if path to metadata file was given */ + if ( isEmptyString( args.inMetadataFilePaths[i] ) ) + { + fprintf( stderr, "No metadata file was given for ISM input %d\n", i ); + exit( -1 ); + } + + /* It is allowed on CLI to have no metadata for an ISM input - skip opening if string contains "NULL" */ +#else /* It is allowed on CLI to have no metadata for an ISM input - skip opening if string is empty or contains "NULL" */ +#endif char charBuf[FILENAME_MAX]; strncpy( charBuf, args.inMetadataFilePaths[i], min( FILENAME_MAX, RENDERER_MAX_CLI_ARG_LENGTH ) - 1 ); charBuf[min( FILENAME_MAX, RENDERER_MAX_CLI_ARG_LENGTH ) - 1] = '\0'; to_upper( charBuf ); +#ifdef FIX_1376_MISSING_ISM_METADATA + if ( strncmp( charBuf, "NULL", 4 ) == 0 ) +#else if ( isEmptyString( args.inMetadataFilePaths[i] ) || strncmp( charBuf, "NULL", 4 ) == 0 ) +#endif { continue; } diff --git a/lib_com/options.h b/lib_com/options.h index 5aaad2a9cb4344caf1e3cd682d2d17ee4fc34618..8c6fa03659248b57b60615c0768692f052ef4675 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -138,6 +138,7 @@ #define TMP_FIX_1119_SPLIT_RENDERING_VOIP /* FhG: Add error check for unsupported config: split rendering with VoIP mode */ #define FIX_1113_EXTREND_ISAR /* FhG: issue 1113: fix external renderer asserts for FOA/HOA2 and CLDFB config */ #define FIX_938_COMPILER_WARNING /* FhG: Fix compiler warning in ivas_mdct_core_reconstruct() */ +#define FIX_1376_MISSING_ISM_METADATA /* FhG: IVAS_rend: throw error if there exists an ISM input without a corresponding metadata file path */ /* #################### End BASOP porting switches ############################ */