diff options
-rw-r--r-- | src/opus_multistream.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/opus_multistream.c b/src/opus_multistream.c index 9493ca31..a126b16f 100644 --- a/src/opus_multistream.c +++ b/src/opus_multistream.c @@ -272,6 +272,8 @@ int opus_multistream_surround_encoder_init( int application ) { + if ((channels>255) || (channels<1)) + return OPUS_BAD_ARG; st->lfe_stream = -1; if (mapping_family==0) { @@ -306,9 +308,8 @@ int opus_multistream_surround_encoder_init( mapping[i] = i; } else return OPUS_UNIMPLEMENTED; - opus_multistream_encoder_init_impl(st, Fs, channels, *streams, *coupled_streams, + return opus_multistream_encoder_init_impl(st, Fs, channels, *streams, *coupled_streams, mapping, application, channels>2&&mapping_family==1); - return OPUS_OK; } OpusMSEncoder *opus_multistream_encoder_create( |