diff --git a/apps/decoder.c b/apps/decoder.c index 2bff1fab63cf31dc613e8088f4dd11bb527e8a6f..5d126a27e54983089f598c19b8c7bacd77f12ceb 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -1289,7 +1289,27 @@ static bool parseCmdlIVAS_dec( * Mandatory input arguments *-----------------------------------------------------------------*/ +#ifdef FIX_956_DECODER_COMMAND_LINE_FIX + if ( i < argc - 4 ) + { + for ( i = 1; i < argc; i++ ) + { + if ( argv[i][0] == '-' ) + { + fprintf( stderr, "Error: Wrong order of command-line arguments (optional arguments are first)\n\n" ); + usage_dec(); + return false; + } + } + + fprintf( stderr, "Error: Too many mandatory command-line arguments\n\n" ); + usage_dec(); + return false; + } + else if ( i < argc - 3 ) +#else if ( i < argc - 3 ) +#endif { arg->outputConfig = cmdline2config( argv[i] ); if ( arg->outputConfig == IVAS_AUDIO_CONFIG_LS_CUSTOM ) diff --git a/lib_com/options.h b/lib_com/options.h index 5de1d18e0bd96ba9a3d23768bc05c54c8cfa1656..30291730bffd64e876b5f1d47a931dec0608da67 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -100,6 +100,8 @@ #define FIX_957_REMOVE_PANNING_DEAD_CODE /* VA: Remove obsolete non-diegetic panning related code. */ #define NONBE_FIX_935_EARLY_REFLECTIONS_WRONG_ORDER /* Qualcomm: issue 953: fix order or ER channels in LC mode*/ +#define FIX_956_DECODER_COMMAND_LINE_FIX /* VA: Output correct error message when the decoder command-line has too many mandatory arguments. */ + /* #################### End BASOP porting switches ############################ */ #endif