Adds some checks to the surround API
diff --git a/src/opus_multistream_encoder.c b/src/opus_multistream_encoder.c
index df2b95a..d3250a1 100644
--- a/src/opus_multistream_encoder.c
+++ b/src/opus_multistream_encoder.c
@@ -224,6 +224,8 @@
       int application
 )
 {
+   if ((channels>255) || (channels<1))
+      return OPUS_BAD_ARG;
    st->lfe_stream = -1;
    if (mapping_family==0)
    {
@@ -258,9 +260,8 @@
          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(