diff --git a/BuildScripts/Opus/build.sh b/BuildScripts/Opus/build.sh index 05fbf6a..283dba8 100755 --- a/BuildScripts/Opus/build.sh +++ b/BuildScripts/Opus/build.sh @@ -31,43 +31,44 @@ do exit 1 fi echo "Compiling source for $ARCH in directory $OPUS_DIR" - + echo "cd $OPUS_DIR" cd $OPUS_DIR DIST_DIR=$DIST_DIR_BASE-$ARCH + echo "mkdir -p $DIST_DIR" mkdir -p $DIST_DIR CFLAGS_ARCH=$ARCH case $ARCH in armv7) EXTRA_FLAGS="--with-pic --enable-fixed-point" - EXTRA_CFLAGS="-mcpu=cortex-a8 -mfpu=neon" + EXTRA_CFLAGS="-mcpu=cortex-a8 -mfpu=neon -miphoneos-version-min=7.1" PLATFORM="${PLATFORMBASE}/iPhoneOS.platform" - IOSSDK=iPhoneOS${IOSSDK_VER} + IOSSDK=iPhoneOS ;; armv7s) EXTRA_FLAGS="--with-pic --enable-fixed-point" - EXTRA_CFLAGS="-mcpu=cortex-a9 -mfpu=neon -miphoneos-version-min=6.0" + EXTRA_CFLAGS="-mcpu=cortex-a9 -mfpu=neon -miphoneos-version-min=7.1" PLATFORM="${PLATFORMBASE}/iPhoneOS.platform" - IOSSDK=iPhoneOS${IOSSDK_VER} + IOSSDK=iPhoneOS ;; aarch64) CFLAGS_ARCH="arm64" EXTRA_FLAGS="--with-pic --enable-fixed-point" EXTRA_CFLAGS="-miphoneos-version-min=7.1" PLATFORM="${PLATFORMBASE}/iPhoneOS.platform" - IOSSDK=iPhoneOS${IOSSDK_VER} + IOSSDK=iPhoneOS ;; x86_64) EXTRA_FLAGS="--with-pic" EXTRA_CFLAGS="-miphoneos-version-min=7.1" PLATFORM="${PLATFORMBASE}/iPhoneSimulator.platform" - IOSSDK=iPhoneSimulator${IOSSDK_VER} + IOSSDK=iPhoneSimulator ;; i386) EXTRA_FLAGS="--with-pic" EXTRA_CFLAGS="-miphoneos-version-min=7.1" PLATFORM="${PLATFORMBASE}/iPhoneSimulator.platform" - IOSSDK=iPhoneSimulator${IOSSDK_VER} + IOSSDK=iPhoneSimulator ;; *) echo "Unsupported architecture ${ARCH}" @@ -76,7 +77,7 @@ do esac echo "Configuring opus for $ARCH..." - + echo "./autogen.sh" ./autogen.sh CFLAGS="-g -O2 -pipe -arch ${CFLAGS_ARCH} \ @@ -86,7 +87,10 @@ do LDFLAGS="-arch ${CFLAGS_ARCH} \ -isysroot ${PLATFORM}/Developer/SDKs/${IOSSDK}.sdk \ -L${PLATFORM}/Developer/SDKs/${IOSSDK}.sdk/usr/lib" - + + echo "CFLAGS=$CFLAGS" + echo "LDFLAGS=$LDFLAGS" + export CFLAGS export LDFLAGS @@ -100,7 +104,15 @@ do export NM="/usr/bin/nm" export RANLIB="/usr/bin/ranlib" export STRIP="/usr/bin/strip" - + echo "./configure \ + --prefix=$DIST_DIR \ + --host=${ARCH}-apple-darwin \ + --with-sysroot=${PLATFORM}/Developer/SDKs/${IOSSDK}.sdk \ + --enable-static=yes \ + --enable-shared=no \ + --disable-doc \ + ${EXTRA_FLAGS}" + ./configure \ --prefix=$DIST_DIR \ --host=${ARCH}-apple-darwin \ @@ -111,10 +123,14 @@ do ${EXTRA_FLAGS} echo "Installing opus for $ARCH..." + echo "make clean" make clean + echo "make -j$NJOB V=1" make -j$NJOB V=1 + echo "make install" make install + echo "cd $SCRIPT_DIR" cd $SCRIPT_DIR if [ -d $DIST_DIR/bin ] diff --git a/BuildScripts/Opus/sync.sh b/BuildScripts/Opus/sync.sh index ea263ff..31f5239 100755 --- a/BuildScripts/Opus/sync.sh +++ b/BuildScripts/Opus/sync.sh @@ -7,7 +7,6 @@ source config.sh SCRIPT_DIR=$( (cd -P $(dirname $0) && pwd) ) DIST_DIR_BASE=${DIST_DIR_BASE:="$SCRIPT_DIR/dist"} -git submodule update --init opus cd opus git checkout master git pull origin master diff --git a/libs/opus/include/opus/opus.h b/libs/opus/include/opus/opus.h index 93a53a2..b0bdf6f 100644 --- a/libs/opus/include/opus/opus.h +++ b/libs/opus/include/opus/opus.h @@ -616,7 +616,10 @@ OPUS_EXPORT void opus_pcm_soft_clip(float *pcm, int frame_size, int channels, fl * merged. Splitting valid Opus packets is always guaranteed to succeed, * whereas merging valid packets only succeeds if all frames have the same * mode, bandwidth, and frame size, and when the total duration of the merged - * packet is no more than 120 ms. + * packet is no more than 120 ms. The 120 ms limit comes from the + * specification and limits decoder memory requirements at a point where + * framing overhead becomes negligible. + * * The repacketizer currently only operates on elementary Opus * streams. It will not manipualte multistream packets successfully, except in * the degenerate case where they consist of data from a single stream. diff --git a/libs/opus/include/opus/opus_defines.h b/libs/opus/include/opus/opus_defines.h index 32b7c97..41e81f0 100644 --- a/libs/opus/include/opus/opus_defines.h +++ b/libs/opus/include/opus/opus_defines.h @@ -713,6 +713,10 @@ extern "C" { OPUS_EXPORT const char *opus_strerror(int error); /** Gets the libopus version string. + * + * Applications may look for the substring "-fixed" in the version string to + * determine whether they have a fixed-point or floating-point build at + * runtime. * * @returns Version string */ diff --git a/libs/opus/lib/libopus.a b/libs/opus/lib/libopus.a index f84dcc5..623b4f9 100644 Binary files a/libs/opus/lib/libopus.a and b/libs/opus/lib/libopus.a differ