diff --git a/MacOSX/codecs/include/opus/opus_defines.h b/MacOSX/codecs/include/opus/opus_defines.h index 0b8d8bb8..d2b260e8 100644 --- a/MacOSX/codecs/include/opus/opus_defines.h +++ b/MacOSX/codecs/include/opus/opus_defines.h @@ -64,14 +64,14 @@ extern "C" { /**Export control for opus functions */ #ifndef OPUS_EXPORT -# if defined(__GNUC__) && defined(OPUS_BUILD) -# define OPUS_EXPORT __attribute__ ((visibility ("default"))) -# elif defined(WIN32) && !defined(__MINGW32__) +# if defined(WIN32) # ifdef OPUS_BUILD # define OPUS_EXPORT __declspec(dllexport) # else # define OPUS_EXPORT # endif +# elif defined(__GNUC__) && defined(OPUS_BUILD) +# define OPUS_EXPORT __attribute__ ((visibility ("default"))) # else # define OPUS_EXPORT # endif diff --git a/MacOSX/codecs/include/opus/opus_multistream.h b/MacOSX/codecs/include/opus/opus_multistream.h index 64427870..965d54ab 100644 --- a/MacOSX/codecs/include/opus/opus_multistream.h +++ b/MacOSX/codecs/include/opus/opus_multistream.h @@ -205,6 +205,12 @@ OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_encoder_get_size int coupled_streams ); +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_surround_encoder_get_size( + int channels, + int mapping_family +); + + /** Allocates and initializes a multistream encoder state. * Call opus_multistream_encoder_destroy() to release * this object when finished. @@ -258,6 +264,17 @@ OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSEncoder *opus_multistream_encoder_crea int *error ) OPUS_ARG_NONNULL(5); +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSEncoder *opus_multistream_surround_encoder_create( + opus_int32 Fs, + int channels, + int mapping_family, + int *streams, + int *coupled_streams, + unsigned char *mapping, + int application, + int *error +) OPUS_ARG_NONNULL(5); + /** Initialize a previously allocated multistream encoder state. * The memory pointed to by \a st must be at least the size returned by * opus_multistream_encoder_get_size(). @@ -316,6 +333,17 @@ OPUS_EXPORT int opus_multistream_encoder_init( int application ) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(6); +OPUS_EXPORT int opus_multistream_surround_encoder_init( + OpusMSEncoder *st, + opus_int32 Fs, + int channels, + int mapping_family, + int *streams, + int *coupled_streams, + unsigned char *mapping, + int application +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(6); + /** Encodes a multistream Opus frame. * @param st OpusMSEncoder*: Multistream encoder state. * @param[in] pcm const opus_int16*: The input signal as interleaved diff --git a/MacOSX/codecs/lib/libopus.dylib b/MacOSX/codecs/lib/libopus.dylib index d73c7a0e..b02f49d2 100755 Binary files a/MacOSX/codecs/lib/libopus.dylib and b/MacOSX/codecs/lib/libopus.dylib differ diff --git a/Windows/codecs/include/opus/opus_defines.h b/Windows/codecs/include/opus/opus_defines.h index 0b8d8bb8..d2b260e8 100644 --- a/Windows/codecs/include/opus/opus_defines.h +++ b/Windows/codecs/include/opus/opus_defines.h @@ -64,14 +64,14 @@ extern "C" { /**Export control for opus functions */ #ifndef OPUS_EXPORT -# if defined(__GNUC__) && defined(OPUS_BUILD) -# define OPUS_EXPORT __attribute__ ((visibility ("default"))) -# elif defined(WIN32) && !defined(__MINGW32__) +# if defined(WIN32) # ifdef OPUS_BUILD # define OPUS_EXPORT __declspec(dllexport) # else # define OPUS_EXPORT # endif +# elif defined(__GNUC__) && defined(OPUS_BUILD) +# define OPUS_EXPORT __attribute__ ((visibility ("default"))) # else # define OPUS_EXPORT # endif diff --git a/Windows/codecs/include/opus/opus_multistream.h b/Windows/codecs/include/opus/opus_multistream.h index 64427870..965d54ab 100644 --- a/Windows/codecs/include/opus/opus_multistream.h +++ b/Windows/codecs/include/opus/opus_multistream.h @@ -205,6 +205,12 @@ OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_encoder_get_size int coupled_streams ); +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT opus_int32 opus_multistream_surround_encoder_get_size( + int channels, + int mapping_family +); + + /** Allocates and initializes a multistream encoder state. * Call opus_multistream_encoder_destroy() to release * this object when finished. @@ -258,6 +264,17 @@ OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSEncoder *opus_multistream_encoder_crea int *error ) OPUS_ARG_NONNULL(5); +OPUS_EXPORT OPUS_WARN_UNUSED_RESULT OpusMSEncoder *opus_multistream_surround_encoder_create( + opus_int32 Fs, + int channels, + int mapping_family, + int *streams, + int *coupled_streams, + unsigned char *mapping, + int application, + int *error +) OPUS_ARG_NONNULL(5); + /** Initialize a previously allocated multistream encoder state. * The memory pointed to by \a st must be at least the size returned by * opus_multistream_encoder_get_size(). @@ -316,6 +333,17 @@ OPUS_EXPORT int opus_multistream_encoder_init( int application ) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(6); +OPUS_EXPORT int opus_multistream_surround_encoder_init( + OpusMSEncoder *st, + opus_int32 Fs, + int channels, + int mapping_family, + int *streams, + int *coupled_streams, + unsigned char *mapping, + int application +) OPUS_ARG_NONNULL(1) OPUS_ARG_NONNULL(6); + /** Encodes a multistream Opus frame. * @param st OpusMSEncoder*: Multistream encoder state. * @param[in] pcm const opus_int16*: The input signal as interleaved diff --git a/Windows/codecs/x64/libopus-0.dll b/Windows/codecs/x64/libopus-0.dll index 8725f430..c16fea30 100644 Binary files a/Windows/codecs/x64/libopus-0.dll and b/Windows/codecs/x64/libopus-0.dll differ diff --git a/Windows/codecs/x64/libopus.dll.a b/Windows/codecs/x64/libopus.dll.a index 263d3d76..7a345dab 100644 Binary files a/Windows/codecs/x64/libopus.dll.a and b/Windows/codecs/x64/libopus.dll.a differ diff --git a/Windows/codecs/x64/libopus.lib b/Windows/codecs/x64/libopus.lib index 656f8abe..e382314c 100644 Binary files a/Windows/codecs/x64/libopus.lib and b/Windows/codecs/x64/libopus.lib differ diff --git a/Windows/codecs/x86/libopus-0.dll b/Windows/codecs/x86/libopus-0.dll index 9c3e6e29..a918850e 100644 Binary files a/Windows/codecs/x86/libopus-0.dll and b/Windows/codecs/x86/libopus-0.dll differ diff --git a/Windows/codecs/x86/libopus.dll.a b/Windows/codecs/x86/libopus.dll.a index f2bb7b20..035b8d89 100644 Binary files a/Windows/codecs/x86/libopus.dll.a and b/Windows/codecs/x86/libopus.dll.a differ diff --git a/Windows/codecs/x86/libopus.lib b/Windows/codecs/x86/libopus.lib index e51d8ae6..3aaa6dbb 100644 Binary files a/Windows/codecs/x86/libopus.lib and b/Windows/codecs/x86/libopus.lib differ