mirror of
https://git.FreeBSD.org/ports.git
synced 2024-10-18 19:49:40 +00:00
gecko: drop system ogg/vorbis support
Too infrequently updated to justify maintenance burden.
This commit is contained in:
parent
493ad91428
commit
1bfb541196
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=485460
@ -167,14 +167,7 @@ MOZ_OPTIONS+= --enable-jemalloc=4
|
||||
.endif # Mozilla < 55
|
||||
|
||||
# Standard depends
|
||||
_ALL_DEPENDS= cairo event ffi graphite harfbuzz hunspell icu jpeg nspr nss png pixman soundtouch sqlite vpx
|
||||
|
||||
.if ${PORT_OPTIONS:MINTEGER_SAMPLES}
|
||||
MOZ_EXPORT+= MOZ_INTEGER_SAMPLES=1
|
||||
_ALL_DEPENDS+= tremor
|
||||
.else
|
||||
_ALL_DEPENDS+= vorbis
|
||||
.endif
|
||||
_ALL_DEPENDS= cairo event ffi graphite harfbuzz hunspell icu jpeg nspr nss png pixman sqlite vpx
|
||||
|
||||
.if ! ${PORT_OPTIONS:MBUNDLED_CAIRO}
|
||||
cairo_BUILD_DEPENDS=cairo>=1.12.16_1,2:graphics/cairo
|
||||
@ -218,26 +211,9 @@ pixman_MOZ_OPTIONS= --enable-system-pixman
|
||||
png_LIB_DEPENDS= libpng.so:graphics/png
|
||||
png_MOZ_OPTIONS= --with-system-png=${LOCALBASE}
|
||||
|
||||
.if exists(${FILESDIR}/patch-z-bug517422)
|
||||
soundtouch_LIB_DEPENDS= libSoundTouch.so:audio/soundtouch
|
||||
soundtouch_MOZ_OPTIONS= --with-system-soundtouch
|
||||
.endif
|
||||
|
||||
sqlite_LIB_DEPENDS= libsqlite3.so:databases/sqlite3
|
||||
sqlite_MOZ_OPTIONS= --enable-system-sqlite
|
||||
|
||||
.if exists(${FILESDIR}/patch-z-bug517422)
|
||||
# XXX disabled: update to 1.2.x or review backported fixes
|
||||
theora_LIB_DEPENDS= libtheora.so:multimedia/libtheora
|
||||
theora_MOZ_OPTIONS= --with-system-theora
|
||||
|
||||
tremor_LIB_DEPENDS= libogg.so:audio/libogg libvorbisidec.so:audio/libtremor
|
||||
tremor_MOZ_OPTIONS= --with-system-tremor --with-system-ogg
|
||||
|
||||
vorbis_LIB_DEPENDS= libogg.so:audio/libogg libvorbis.so:audio/libvorbis
|
||||
vorbis_MOZ_OPTIONS= --with-system-vorbis --with-system-ogg
|
||||
.endif
|
||||
|
||||
-vpx_BUILD_DEPENDS= yasm:devel/yasm
|
||||
vpx_LIB_DEPENDS= libvpx.so:multimedia/libvpx
|
||||
vpx_MOZ_OPTIONS= --with-system-libvpx
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= thunderbird
|
||||
DISTVERSION= 60.3.1
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= mail news net-im ipv6
|
||||
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
|
||||
MOZILLA/${PORTNAME}/candidates/${DISTVERSION}-candidates/build2/source
|
||||
@ -27,11 +27,10 @@ BUILD_DEPENDS= nspr>=4.19:devel/nspr \
|
||||
autoconf-2.13:devel/autoconf213 \
|
||||
yasm:devel/yasm \
|
||||
zip:archivers/zip
|
||||
# soundtouch>=1.9.0:audio/soundtouch \
|
||||
|
||||
SSP_UNSAFE= yes
|
||||
USE_GECKO= gecko
|
||||
USE_MOZILLA= -cairo -soundtouch
|
||||
USE_MOZILLA= -cairo
|
||||
|
||||
USES= tar:xz
|
||||
|
||||
|
@ -1,13 +0,0 @@
|
||||
# Let ports handle default sample type
|
||||
|
||||
--- old-configure.in~
|
||||
+++ old-configure.in
|
||||
@@ -5144,7 +5144,7 @@ dnl Use integers over floats for audio o
|
||||
dnl (regarless of the CPU architecture, because audio
|
||||
dnl backends for those platforms don't support floats. We also
|
||||
dnl use integers on ARM with other OS, because it's more efficient.
|
||||
-if test "$OS_TARGET" = "Android" -o "$CPU_ARCH" = "arm"; then
|
||||
+if test -n "$MOZ_INTEGER_SAMPLES"; then
|
||||
MOZ_SAMPLE_TYPE_S16=1
|
||||
AC_DEFINE(MOZ_SAMPLE_TYPE_S16)
|
||||
AC_SUBST(MOZ_SAMPLE_TYPE_S16)
|
@ -1,496 +0,0 @@
|
||||
# Allow more config/external/ libs built against system-wide version.
|
||||
|
||||
diff --git build/moz.configure/old.configure build/moz.configure/old.configure
|
||||
index d0fe7accffe6..c46bdd023225 100644
|
||||
--- build/moz.configure/old.configure
|
||||
+++ build/moz.configure/old.configure
|
||||
@@ -285,7 +285,12 @@ def old_configure_options(*options):
|
||||
'--with-system-libvpx',
|
||||
'--with-system-nspr',
|
||||
'--with-system-nss',
|
||||
+ '--with-system-ogg',
|
||||
'--with-system-png',
|
||||
+ '--with-system-soundtouch',
|
||||
+ '--with-system-theora',
|
||||
+ '--with-system-tremor',
|
||||
+ '--with-system-vorbis',
|
||||
'--with-system-zlib',
|
||||
'--with-thumb',
|
||||
'--with-thumb-interwork',
|
||||
diff --git config/external/moz.build config/external/moz.build
|
||||
index 029ff8504795..2c3a40caa1ba 100644
|
||||
--- config/external/moz.build
|
||||
+++ config/external/moz.build
|
||||
@@ -23,12 +23,21 @@ external_dirs += ['modules/woff2']
|
||||
|
||||
external_dirs += ['modules/xz-embedded']
|
||||
|
||||
-if CONFIG['MOZ_VORBIS']:
|
||||
+if not CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ external_dirs += ['media/libogg']
|
||||
+
|
||||
+if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
external_dirs += ['media/libvorbis']
|
||||
|
||||
-if CONFIG['MOZ_TREMOR']:
|
||||
+if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
external_dirs += ['media/libtremor']
|
||||
|
||||
+if not CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ external_dirs += ['media/libtheora']
|
||||
+
|
||||
+if not CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
|
||||
+ external_dirs += ['media/libsoundtouch']
|
||||
+
|
||||
if CONFIG['MOZ_WEBM_ENCODER']:
|
||||
external_dirs += ['media/libmkv']
|
||||
|
||||
@@ -51,11 +60,8 @@ external_dirs += [
|
||||
'media/kiss_fft',
|
||||
'media/libcubeb',
|
||||
'media/libnestegg',
|
||||
- 'media/libogg',
|
||||
'media/libopus',
|
||||
- 'media/libtheora',
|
||||
'media/libspeex_resampler',
|
||||
- 'media/libsoundtouch',
|
||||
'media/mp4parse-rust',
|
||||
'media/psshparser'
|
||||
]
|
||||
diff --git config/system-headers.mozbuild config/system-headers.mozbuild
|
||||
index 09d3db5ca8c0..c6533b84c470 100644
|
||||
--- config/system-headers.mozbuild
|
||||
+++ config/system-headers.mozbuild
|
||||
@@ -1325,6 +1325,28 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
'harfbuzz/hb.h',
|
||||
]
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ system_headers += [
|
||||
+ 'ogg/ogg.h',
|
||||
+ 'ogg/os_types.h',
|
||||
+ ]
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ system_headers += [
|
||||
+ 'theora/theoradec.h',
|
||||
+ ]
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
+ system_headers += [
|
||||
+ 'vorbis/codec.h',
|
||||
+ 'vorbis/vorbisenc.h',
|
||||
+ ]
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
+ system_headers += [
|
||||
+ 'tremor/ivorbiscodec.h',
|
||||
+ ]
|
||||
+
|
||||
if CONFIG['MOZ_SYSTEM_LIBVPX']:
|
||||
system_headers += [
|
||||
'vpx_mem/vpx_mem.h',
|
||||
diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp
|
||||
index 93ecda4319af..ff674c64ea07 100644
|
||||
--- dom/media/AudioStream.cpp
|
||||
+++ dom/media/AudioStream.cpp
|
||||
@@ -121,7 +121,9 @@ AudioStream::AudioStream(DataSource& aSource)
|
||||
: mMonitor("AudioStream")
|
||||
, mChannels(0)
|
||||
, mOutChannels(0)
|
||||
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
|
||||
, mTimeStretcher(nullptr)
|
||||
+#endif
|
||||
, mDumpFile(nullptr)
|
||||
, mState(INITIALIZED)
|
||||
, mDataSource(aSource)
|
||||
@@ -142,9 +144,11 @@ AudioStream::~AudioStream()
|
||||
if (mDumpFile) {
|
||||
fclose(mDumpFile);
|
||||
}
|
||||
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
|
||||
if (mTimeStretcher) {
|
||||
soundtouch::destroySoundTouchObj(mTimeStretcher);
|
||||
}
|
||||
+#endif
|
||||
#if defined(XP_WIN)
|
||||
if (XRE_IsContentProcess()) {
|
||||
audio::AudioNotificationReceiver::Unregister(this);
|
||||
@@ -168,7 +172,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked()
|
||||
{
|
||||
mMonitor.AssertCurrentThreadOwns();
|
||||
if (!mTimeStretcher) {
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+ mTimeStretcher = new soundtouch::SoundTouch();
|
||||
+#else
|
||||
mTimeStretcher = soundtouch::createSoundTouchObj();
|
||||
+#endif
|
||||
mTimeStretcher->setSampleRate(mAudioClock.GetInputRate());
|
||||
mTimeStretcher->setChannels(mOutChannels);
|
||||
mTimeStretcher->setPitch(1.0);
|
||||
diff --git dom/media/AudioStream.h dom/media/AudioStream.h
|
||||
index 7dc1f60f95cc..67d402a4117f 100644
|
||||
--- dom/media/AudioStream.h
|
||||
+++ dom/media/AudioStream.h
|
||||
@@ -15,7 +15,11 @@
|
||||
#include "mozilla/TimeStamp.h"
|
||||
#include "mozilla/UniquePtr.h"
|
||||
#include "CubebUtils.h"
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+#include "soundtouch/SoundTouch.h"
|
||||
+#else
|
||||
#include "soundtouch/SoundTouchFactory.h"
|
||||
+#endif
|
||||
|
||||
#if defined(XP_WIN)
|
||||
#include "mozilla/audio/AudioNotificationReceiver.h"
|
||||
@@ -297,7 +301,11 @@ private:
|
||||
uint32_t mChannels;
|
||||
uint32_t mOutChannels;
|
||||
AudioClock mAudioClock;
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+ nsAutoPtr<soundtouch::SoundTouch> mTimeStretcher;
|
||||
+#else
|
||||
soundtouch::SoundTouch* mTimeStretcher;
|
||||
+#endif
|
||||
|
||||
// Output file for dumping audio
|
||||
FILE* mDumpFile;
|
||||
diff --git dom/media/moz.build dom/media/moz.build
|
||||
index 86b051c58d33..fb6186dce78b 100644
|
||||
--- dom/media/moz.build
|
||||
+++ dom/media/moz.build
|
||||
@@ -326,6 +326,21 @@ if CONFIG['MOZ_WEBRTC']:
|
||||
|
||||
DEFINES['MOZILLA_INTERNAL_API'] = True
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS']
|
||||
+
|
||||
if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
|
||||
DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True
|
||||
|
||||
diff --git dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
|
||||
index 078f6ea5ef60..c600db067539 100644
|
||||
--- dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
|
||||
+++ dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
|
||||
@@ -15,9 +15,13 @@
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+#include "nsXPCOMPrivate.h" // for XUL_DLL
|
||||
+#else
|
||||
// We use a known symbol located in lgpllibs to determine its location.
|
||||
// soundtouch happens to be always included in lgpllibs
|
||||
#include "soundtouch/SoundTouch.h"
|
||||
+#endif
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
@@ -64,6 +68,12 @@ FFVPXRuntimeLinker::Init()
|
||||
|
||||
sLinkStatus = LinkStatus_FAILED;
|
||||
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+ // We retrieve the path of the XUL library as this is where mozavcodec and
|
||||
+ // mozavutil libs are located.
|
||||
+ char* path =
|
||||
+ PR_GetLibraryFilePathname(XUL_DLL, (PRFuncPtr)&FFVPXRuntimeLinker::Init);
|
||||
+#else
|
||||
// We retrieve the path of the lgpllibs library as this is where mozavcodec
|
||||
// and mozavutil libs are located.
|
||||
PathString lgpllibsname = GetLibraryName(nullptr, "lgpllibs");
|
||||
@@ -73,6 +83,7 @@ FFVPXRuntimeLinker::Init()
|
||||
PathString path =
|
||||
GetLibraryFilePathname(lgpllibsname.get(),
|
||||
(PRFuncPtr)&soundtouch::SoundTouch::getVersionId);
|
||||
+#endif
|
||||
if (path.IsEmpty()) {
|
||||
return false;
|
||||
}
|
||||
diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA
|
||||
index 6213fdc7770c..ada799916a17 100644
|
||||
--- media/libogg/README_MOZILLA
|
||||
+++ media/libogg/README_MOZILLA
|
||||
@@ -6,3 +6,6 @@ package downloaded from xiph.org and copied using the update.sh script.
|
||||
The int-types.patch address a bug that config_types.h generated from
|
||||
Linux platform can't be used on OpenSolaris directly see Mozilla bug
|
||||
449754
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-ogg.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA
|
||||
index dc0dbe8f6886..ea73b55e3e39 100644
|
||||
--- media/libsoundtouch/README_MOZILLA
|
||||
+++ media/libsoundtouch/README_MOZILLA
|
||||
@@ -6,3 +6,5 @@ The whole library is not used, only the relevant files are imported in the tree,
|
||||
using the script `update.sh`. Some changes have been made to the files, using
|
||||
the patch `moz-libsoundtouch.patch`. We also use a custom soundtouch_config.h.
|
||||
|
||||
+The in-tree copy may be omitted during build by --with-system-soundtouch.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libsoundtouch/src/soundtouch_perms.h media/libsoundtouch/src/soundtouch_perms.h
|
||||
index 0af2fe618311..10973564e7a4 100644
|
||||
--- media/libsoundtouch/src/soundtouch_perms.h
|
||||
+++ media/libsoundtouch/src/soundtouch_perms.h
|
||||
@@ -12,7 +12,9 @@
|
||||
|
||||
#pragma GCC visibility push(default)
|
||||
#include "SoundTouch.h"
|
||||
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
|
||||
#include "SoundTouchFactory.h"
|
||||
+#endif
|
||||
#pragma GCC visibility pop
|
||||
|
||||
#endif // MOZILLA_SOUNDTOUCH_PERMS_H
|
||||
diff --git media/libtheora/README_MOZILLA media/libtheora/README_MOZILLA
|
||||
index d48dbfa6f63d..6f30f250220e 100644
|
||||
--- media/libtheora/README_MOZILLA
|
||||
+++ media/libtheora/README_MOZILLA
|
||||
@@ -3,3 +3,6 @@ using the update.sh script. The changes made were those applied by update.sh,
|
||||
the addition/update of Makefile.in files for the Mozilla build system.
|
||||
|
||||
The subversion revision used was r17578.
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-theora.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libtheora/moz.build media/libtheora/moz.build
|
||||
index c7f85eebff95..aae7b814adb5 100644
|
||||
--- media/libtheora/moz.build
|
||||
+++ media/libtheora/moz.build
|
||||
@@ -21,6 +21,9 @@ FINAL_LIBRARY = 'gkmedias'
|
||||
# The encoder is currently not included.
|
||||
DEFINES['THEORA_DISABLE_ENCODE'] = True
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
+
|
||||
# Suppress warnings in third-party code.
|
||||
if CONFIG['CC_TYPE'] in ('clang', 'clang-cl', 'gcc'):
|
||||
CFLAGS += ['-Wno-type-limits']
|
||||
diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA
|
||||
index ee67b53a05c5..81c971773d55 100644
|
||||
--- media/libtremor/README_MOZILLA
|
||||
+++ media/libtremor/README_MOZILLA
|
||||
@@ -5,3 +5,6 @@ Makefile.in files for the Mozilla build system.
|
||||
|
||||
The upstream release used was http://svn.xiph.org/trunk/Tremor/
|
||||
The subversion revision used was r17547.
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-tremor.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libtremor/moz.build media/libtremor/moz.build
|
||||
index 83afc8e37c64..71ef159da3d7 100644
|
||||
--- media/libtremor/moz.build
|
||||
+++ media/libtremor/moz.build
|
||||
@@ -9,3 +9,5 @@ with Files('*'):
|
||||
|
||||
DIRS += ['include/tremor', 'lib']
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
diff --git media/libvorbis/README_MOZILLA media/libvorbis/README_MOZILLA
|
||||
index 1211ac074b33..eb31084aed25 100644
|
||||
--- media/libvorbis/README_MOZILLA
|
||||
+++ media/libvorbis/README_MOZILLA
|
||||
@@ -8,3 +8,6 @@ from https://git.xiph.org/vorbis.git
|
||||
|
||||
Some files are renamed during the copy to prevent clashes with object
|
||||
file names with other Mozilla libraries.
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-vorbis.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libvorbis/moz.build media/libvorbis/moz.build
|
||||
index adf393782cc9..923b76231107 100644
|
||||
--- media/libvorbis/moz.build
|
||||
+++ media/libvorbis/moz.build
|
||||
@@ -56,3 +56,6 @@ FINAL_LIBRARY = 'gkmedias'
|
||||
# Suppress warnings in third-party code.
|
||||
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
|
||||
CFLAGS += ['-Wno-uninitialized']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
diff --git old-configure.in old-configure.in
|
||||
index b614eef85c89..85f9099dba4d 100644
|
||||
--- old-configure.in
|
||||
+++ old-configure.in
|
||||
@@ -2627,6 +2627,111 @@ if test -n "$MOZ_APPLEMEDIA"; then
|
||||
fi
|
||||
fi # COMPILE_ENVIRONMENT
|
||||
|
||||
+dnl ========================================================
|
||||
+dnl Check for libogg
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-ogg,
|
||||
+[ --with-system-ogg Use system libogg (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_OGG=1,
|
||||
+MOZ_SYSTEM_OGG=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_OGG"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.3.3)
|
||||
+
|
||||
+ _SAVE_LIBS=$LIBS
|
||||
+ LIBS="$LIBS $MOZ_OGG_LIBS"
|
||||
+ AC_CHECK_FUNC(ogg_set_mem_functions, [],
|
||||
+ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)])
|
||||
+ LIBS=$_SAVE_LIBS
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_OGG)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for libvorbis
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-vorbis,
|
||||
+[ --with-system-vorbis Use system libvorbis (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_VORBIS=1,
|
||||
+MOZ_SYSTEM_VORBIS=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_VORBIS"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.6)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_VORBIS)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for integer-only libvorbis aka tremor
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-tremor,
|
||||
+[ --with-system-tremor Use system libtremor (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_TREMOR=1,
|
||||
+MOZ_SYSTEM_TREMOR=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_TREMOR"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_TREMOR)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for libtheora
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-theora,
|
||||
+[ --with-system-theora Use system libtheora (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_THEORA=1,
|
||||
+MOZ_SYSTEM_THEORA=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_THEORA"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_THEORA)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for libSoundTouch
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-soundtouch,
|
||||
+[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_SOUNDTOUCH=1,
|
||||
+MOZ_SYSTEM_SOUNDTOUCH=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0)
|
||||
+
|
||||
+ AC_LANG_SAVE
|
||||
+ AC_LANG_CPLUSPLUS
|
||||
+ _SAVE_CXXFLAGS=$CXXFLAGS
|
||||
+ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS"
|
||||
+ AC_CACHE_CHECK(for soundtouch sample type,
|
||||
+ ac_cv_soundtouch_sample_type,
|
||||
+ [AC_TRY_COMPILE([#include <SoundTouch.h>
|
||||
+ #ifndef SOUNDTOUCH_INTEGER_SAMPLES
|
||||
+ #error soundtouch expects float samples
|
||||
+ #endif],
|
||||
+ [],
|
||||
+ [ac_cv_soundtouch_sample_type=short],
|
||||
+ [ac_cv_soundtouch_sample_type=float])])
|
||||
+ CXXFLAGS=$_SAVE_CXXFLAGS
|
||||
+ AC_LANG_RESTORE
|
||||
+
|
||||
+ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \
|
||||
+ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then
|
||||
+ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.])
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
|
||||
+ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH)
|
||||
+fi
|
||||
+AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH)
|
||||
+
|
||||
dnl system libvpx Support
|
||||
dnl ========================================================
|
||||
MOZ_ARG_WITH_BOOL(system-libvpx,
|
||||
diff --git toolkit/library/moz.build toolkit/library/moz.build
|
||||
index 079a575adec3..514d901195de 100644
|
||||
--- toolkit/library/moz.build
|
||||
+++ toolkit/library/moz.build
|
||||
@@ -240,6 +240,21 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
|
||||
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ OS_LIBS += CONFIG['MOZ_OGG_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ OS_LIBS += CONFIG['MOZ_THEORA_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
+ OS_LIBS += CONFIG['MOZ_VORBIS_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
+ OS_LIBS += CONFIG['MOZ_TREMOR_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
|
||||
+ OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS']
|
||||
+
|
||||
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
|
||||
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
|
||||
|
||||
diff --git xpcom/build/XPCOMInit.cpp xpcom/build/XPCOMInit.cpp
|
||||
index c083ab4bc4f3..62b917043a2c 100644
|
||||
--- xpcom/build/XPCOMInit.cpp
|
||||
+++ xpcom/build/XPCOMInit.cpp
|
||||
@@ -132,7 +132,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**);
|
||||
|
||||
#include "mozilla/ipc/GeckoChildProcessHost.h"
|
||||
|
||||
+#ifndef MOZ_OGG_NO_MEM_REPORTING
|
||||
#include "ogg/ogg.h"
|
||||
+#endif
|
||||
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
|
||||
#if defined(HAVE_STDINT_H)
|
||||
// mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in
|
||||
@@ -639,11 +641,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult,
|
||||
// this oddness.
|
||||
mozilla::SetICUMemoryFunctions();
|
||||
|
||||
+#ifndef MOZ_OGG_NO_MEM_REPORTING
|
||||
// Do the same for libogg.
|
||||
ogg_set_mem_functions(OggReporter::CountingMalloc,
|
||||
OggReporter::CountingCalloc,
|
||||
OggReporter::CountingRealloc,
|
||||
OggReporter::CountingFree);
|
||||
+#endif
|
||||
|
||||
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
|
||||
// And for VPX.
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= firefox
|
||||
DISTVERSION= 60.3.0
|
||||
PORTREVISION= 4
|
||||
PORTREVISION= 5
|
||||
PORTEPOCH= 1
|
||||
CATEGORIES= www ipv6
|
||||
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}esr/source \
|
||||
@ -29,13 +29,12 @@ BUILD_DEPENDS= nspr>=4.19:devel/nspr \
|
||||
autoconf-2.13:devel/autoconf213 \
|
||||
yasm:devel/yasm \
|
||||
zip:archivers/zip
|
||||
# soundtouch>=1.9.0:audio/soundtouch \
|
||||
|
||||
USE_GECKO= gecko
|
||||
CPE_PRODUCT= ${PORTNAME}_esr
|
||||
CONFLICTS_INSTALL= firefox
|
||||
MOZ_PKGCONFIG_FILES= # empty
|
||||
USE_MOZILLA= -cairo -soundtouch
|
||||
USE_MOZILLA= -cairo
|
||||
|
||||
USES= tar:xz
|
||||
|
||||
|
@ -1,13 +0,0 @@
|
||||
# Let ports handle default sample type
|
||||
|
||||
--- old-configure.in~
|
||||
+++ old-configure.in
|
||||
@@ -5144,7 +5144,7 @@ dnl Use integers over floats for audio o
|
||||
dnl (regarless of the CPU architecture, because audio
|
||||
dnl backends for those platforms don't support floats. We also
|
||||
dnl use integers on ARM with other OS, because it's more efficient.
|
||||
-if test "$OS_TARGET" = "Android" -o "$CPU_ARCH" = "arm"; then
|
||||
+if test -n "$MOZ_INTEGER_SAMPLES"; then
|
||||
MOZ_SAMPLE_TYPE_S16=1
|
||||
AC_DEFINE(MOZ_SAMPLE_TYPE_S16)
|
||||
AC_SUBST(MOZ_SAMPLE_TYPE_S16)
|
@ -1,496 +0,0 @@
|
||||
# Allow more config/external/ libs built against system-wide version.
|
||||
|
||||
diff --git build/moz.configure/old.configure build/moz.configure/old.configure
|
||||
index d0fe7accffe6..c46bdd023225 100644
|
||||
--- build/moz.configure/old.configure
|
||||
+++ build/moz.configure/old.configure
|
||||
@@ -285,7 +285,12 @@ def old_configure_options(*options):
|
||||
'--with-system-libvpx',
|
||||
'--with-system-nspr',
|
||||
'--with-system-nss',
|
||||
+ '--with-system-ogg',
|
||||
'--with-system-png',
|
||||
+ '--with-system-soundtouch',
|
||||
+ '--with-system-theora',
|
||||
+ '--with-system-tremor',
|
||||
+ '--with-system-vorbis',
|
||||
'--with-system-zlib',
|
||||
'--with-thumb',
|
||||
'--with-thumb-interwork',
|
||||
diff --git config/external/moz.build config/external/moz.build
|
||||
index 029ff8504795..2c3a40caa1ba 100644
|
||||
--- config/external/moz.build
|
||||
+++ config/external/moz.build
|
||||
@@ -23,12 +23,21 @@ external_dirs += ['modules/woff2']
|
||||
|
||||
external_dirs += ['modules/xz-embedded']
|
||||
|
||||
-if CONFIG['MOZ_VORBIS']:
|
||||
+if not CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ external_dirs += ['media/libogg']
|
||||
+
|
||||
+if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
external_dirs += ['media/libvorbis']
|
||||
|
||||
-if CONFIG['MOZ_TREMOR']:
|
||||
+if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
external_dirs += ['media/libtremor']
|
||||
|
||||
+if not CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ external_dirs += ['media/libtheora']
|
||||
+
|
||||
+if not CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
|
||||
+ external_dirs += ['media/libsoundtouch']
|
||||
+
|
||||
if CONFIG['MOZ_WEBM_ENCODER']:
|
||||
external_dirs += ['media/libmkv']
|
||||
|
||||
@@ -51,11 +60,8 @@ external_dirs += [
|
||||
'media/kiss_fft',
|
||||
'media/libcubeb',
|
||||
'media/libnestegg',
|
||||
- 'media/libogg',
|
||||
'media/libopus',
|
||||
- 'media/libtheora',
|
||||
'media/libspeex_resampler',
|
||||
- 'media/libsoundtouch',
|
||||
'media/mp4parse-rust',
|
||||
'media/psshparser'
|
||||
]
|
||||
diff --git config/system-headers.mozbuild config/system-headers.mozbuild
|
||||
index 09d3db5ca8c0..c6533b84c470 100644
|
||||
--- config/system-headers.mozbuild
|
||||
+++ config/system-headers.mozbuild
|
||||
@@ -1325,6 +1325,28 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
'harfbuzz/hb.h',
|
||||
]
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ system_headers += [
|
||||
+ 'ogg/ogg.h',
|
||||
+ 'ogg/os_types.h',
|
||||
+ ]
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ system_headers += [
|
||||
+ 'theora/theoradec.h',
|
||||
+ ]
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
+ system_headers += [
|
||||
+ 'vorbis/codec.h',
|
||||
+ 'vorbis/vorbisenc.h',
|
||||
+ ]
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
+ system_headers += [
|
||||
+ 'tremor/ivorbiscodec.h',
|
||||
+ ]
|
||||
+
|
||||
if CONFIG['MOZ_SYSTEM_LIBVPX']:
|
||||
system_headers += [
|
||||
'vpx_mem/vpx_mem.h',
|
||||
diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp
|
||||
index 93ecda4319af..ff674c64ea07 100644
|
||||
--- dom/media/AudioStream.cpp
|
||||
+++ dom/media/AudioStream.cpp
|
||||
@@ -121,7 +121,9 @@ AudioStream::AudioStream(DataSource& aSource)
|
||||
: mMonitor("AudioStream")
|
||||
, mChannels(0)
|
||||
, mOutChannels(0)
|
||||
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
|
||||
, mTimeStretcher(nullptr)
|
||||
+#endif
|
||||
, mDumpFile(nullptr)
|
||||
, mState(INITIALIZED)
|
||||
, mDataSource(aSource)
|
||||
@@ -142,9 +144,11 @@ AudioStream::~AudioStream()
|
||||
if (mDumpFile) {
|
||||
fclose(mDumpFile);
|
||||
}
|
||||
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
|
||||
if (mTimeStretcher) {
|
||||
soundtouch::destroySoundTouchObj(mTimeStretcher);
|
||||
}
|
||||
+#endif
|
||||
#if defined(XP_WIN)
|
||||
if (XRE_IsContentProcess()) {
|
||||
audio::AudioNotificationReceiver::Unregister(this);
|
||||
@@ -168,7 +172,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked()
|
||||
{
|
||||
mMonitor.AssertCurrentThreadOwns();
|
||||
if (!mTimeStretcher) {
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+ mTimeStretcher = new soundtouch::SoundTouch();
|
||||
+#else
|
||||
mTimeStretcher = soundtouch::createSoundTouchObj();
|
||||
+#endif
|
||||
mTimeStretcher->setSampleRate(mAudioClock.GetInputRate());
|
||||
mTimeStretcher->setChannels(mOutChannels);
|
||||
mTimeStretcher->setPitch(1.0);
|
||||
diff --git dom/media/AudioStream.h dom/media/AudioStream.h
|
||||
index 7dc1f60f95cc..67d402a4117f 100644
|
||||
--- dom/media/AudioStream.h
|
||||
+++ dom/media/AudioStream.h
|
||||
@@ -15,7 +15,11 @@
|
||||
#include "mozilla/TimeStamp.h"
|
||||
#include "mozilla/UniquePtr.h"
|
||||
#include "CubebUtils.h"
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+#include "soundtouch/SoundTouch.h"
|
||||
+#else
|
||||
#include "soundtouch/SoundTouchFactory.h"
|
||||
+#endif
|
||||
|
||||
#if defined(XP_WIN)
|
||||
#include "mozilla/audio/AudioNotificationReceiver.h"
|
||||
@@ -297,7 +301,11 @@ private:
|
||||
uint32_t mChannels;
|
||||
uint32_t mOutChannels;
|
||||
AudioClock mAudioClock;
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+ nsAutoPtr<soundtouch::SoundTouch> mTimeStretcher;
|
||||
+#else
|
||||
soundtouch::SoundTouch* mTimeStretcher;
|
||||
+#endif
|
||||
|
||||
// Output file for dumping audio
|
||||
FILE* mDumpFile;
|
||||
diff --git dom/media/moz.build dom/media/moz.build
|
||||
index 86b051c58d33..fb6186dce78b 100644
|
||||
--- dom/media/moz.build
|
||||
+++ dom/media/moz.build
|
||||
@@ -326,6 +326,21 @@ if CONFIG['MOZ_WEBRTC']:
|
||||
|
||||
DEFINES['MOZILLA_INTERNAL_API'] = True
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS']
|
||||
+
|
||||
if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
|
||||
DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True
|
||||
|
||||
diff --git dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
|
||||
index 078f6ea5ef60..c600db067539 100644
|
||||
--- dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
|
||||
+++ dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
|
||||
@@ -15,9 +15,13 @@
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+#include "nsXPCOMPrivate.h" // for XUL_DLL
|
||||
+#else
|
||||
// We use a known symbol located in lgpllibs to determine its location.
|
||||
// soundtouch happens to be always included in lgpllibs
|
||||
#include "soundtouch/SoundTouch.h"
|
||||
+#endif
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
@@ -64,6 +68,12 @@ FFVPXRuntimeLinker::Init()
|
||||
|
||||
sLinkStatus = LinkStatus_FAILED;
|
||||
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+ // We retrieve the path of the XUL library as this is where mozavcodec and
|
||||
+ // mozavutil libs are located.
|
||||
+ char* path =
|
||||
+ PR_GetLibraryFilePathname(XUL_DLL, (PRFuncPtr)&FFVPXRuntimeLinker::Init);
|
||||
+#else
|
||||
// We retrieve the path of the lgpllibs library as this is where mozavcodec
|
||||
// and mozavutil libs are located.
|
||||
PathString lgpllibsname = GetLibraryName(nullptr, "lgpllibs");
|
||||
@@ -73,6 +83,7 @@ FFVPXRuntimeLinker::Init()
|
||||
PathString path =
|
||||
GetLibraryFilePathname(lgpllibsname.get(),
|
||||
(PRFuncPtr)&soundtouch::SoundTouch::getVersionId);
|
||||
+#endif
|
||||
if (path.IsEmpty()) {
|
||||
return false;
|
||||
}
|
||||
diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA
|
||||
index 6213fdc7770c..ada799916a17 100644
|
||||
--- media/libogg/README_MOZILLA
|
||||
+++ media/libogg/README_MOZILLA
|
||||
@@ -6,3 +6,6 @@ package downloaded from xiph.org and copied using the update.sh script.
|
||||
The int-types.patch address a bug that config_types.h generated from
|
||||
Linux platform can't be used on OpenSolaris directly see Mozilla bug
|
||||
449754
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-ogg.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA
|
||||
index dc0dbe8f6886..ea73b55e3e39 100644
|
||||
--- media/libsoundtouch/README_MOZILLA
|
||||
+++ media/libsoundtouch/README_MOZILLA
|
||||
@@ -6,3 +6,5 @@ The whole library is not used, only the relevant files are imported in the tree,
|
||||
using the script `update.sh`. Some changes have been made to the files, using
|
||||
the patch `moz-libsoundtouch.patch`. We also use a custom soundtouch_config.h.
|
||||
|
||||
+The in-tree copy may be omitted during build by --with-system-soundtouch.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libsoundtouch/src/soundtouch_perms.h media/libsoundtouch/src/soundtouch_perms.h
|
||||
index 0af2fe618311..10973564e7a4 100644
|
||||
--- media/libsoundtouch/src/soundtouch_perms.h
|
||||
+++ media/libsoundtouch/src/soundtouch_perms.h
|
||||
@@ -12,7 +12,9 @@
|
||||
|
||||
#pragma GCC visibility push(default)
|
||||
#include "SoundTouch.h"
|
||||
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
|
||||
#include "SoundTouchFactory.h"
|
||||
+#endif
|
||||
#pragma GCC visibility pop
|
||||
|
||||
#endif // MOZILLA_SOUNDTOUCH_PERMS_H
|
||||
diff --git media/libtheora/README_MOZILLA media/libtheora/README_MOZILLA
|
||||
index d48dbfa6f63d..6f30f250220e 100644
|
||||
--- media/libtheora/README_MOZILLA
|
||||
+++ media/libtheora/README_MOZILLA
|
||||
@@ -3,3 +3,6 @@ using the update.sh script. The changes made were those applied by update.sh,
|
||||
the addition/update of Makefile.in files for the Mozilla build system.
|
||||
|
||||
The subversion revision used was r17578.
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-theora.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libtheora/moz.build media/libtheora/moz.build
|
||||
index c7f85eebff95..aae7b814adb5 100644
|
||||
--- media/libtheora/moz.build
|
||||
+++ media/libtheora/moz.build
|
||||
@@ -21,6 +21,9 @@ FINAL_LIBRARY = 'gkmedias'
|
||||
# The encoder is currently not included.
|
||||
DEFINES['THEORA_DISABLE_ENCODE'] = True
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
+
|
||||
# Suppress warnings in third-party code.
|
||||
if CONFIG['CC_TYPE'] in ('clang', 'clang-cl', 'gcc'):
|
||||
CFLAGS += ['-Wno-type-limits']
|
||||
diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA
|
||||
index ee67b53a05c5..81c971773d55 100644
|
||||
--- media/libtremor/README_MOZILLA
|
||||
+++ media/libtremor/README_MOZILLA
|
||||
@@ -5,3 +5,6 @@ Makefile.in files for the Mozilla build system.
|
||||
|
||||
The upstream release used was http://svn.xiph.org/trunk/Tremor/
|
||||
The subversion revision used was r17547.
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-tremor.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libtremor/moz.build media/libtremor/moz.build
|
||||
index 83afc8e37c64..71ef159da3d7 100644
|
||||
--- media/libtremor/moz.build
|
||||
+++ media/libtremor/moz.build
|
||||
@@ -9,3 +9,5 @@ with Files('*'):
|
||||
|
||||
DIRS += ['include/tremor', 'lib']
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
diff --git media/libvorbis/README_MOZILLA media/libvorbis/README_MOZILLA
|
||||
index 1211ac074b33..eb31084aed25 100644
|
||||
--- media/libvorbis/README_MOZILLA
|
||||
+++ media/libvorbis/README_MOZILLA
|
||||
@@ -8,3 +8,6 @@ from https://git.xiph.org/vorbis.git
|
||||
|
||||
Some files are renamed during the copy to prevent clashes with object
|
||||
file names with other Mozilla libraries.
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-vorbis.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libvorbis/moz.build media/libvorbis/moz.build
|
||||
index adf393782cc9..923b76231107 100644
|
||||
--- media/libvorbis/moz.build
|
||||
+++ media/libvorbis/moz.build
|
||||
@@ -56,3 +56,6 @@ FINAL_LIBRARY = 'gkmedias'
|
||||
# Suppress warnings in third-party code.
|
||||
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
|
||||
CFLAGS += ['-Wno-uninitialized']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
diff --git old-configure.in old-configure.in
|
||||
index b614eef85c89..85f9099dba4d 100644
|
||||
--- old-configure.in
|
||||
+++ old-configure.in
|
||||
@@ -2627,6 +2627,111 @@ if test -n "$MOZ_APPLEMEDIA"; then
|
||||
fi
|
||||
fi # COMPILE_ENVIRONMENT
|
||||
|
||||
+dnl ========================================================
|
||||
+dnl Check for libogg
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-ogg,
|
||||
+[ --with-system-ogg Use system libogg (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_OGG=1,
|
||||
+MOZ_SYSTEM_OGG=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_OGG"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.3.3)
|
||||
+
|
||||
+ _SAVE_LIBS=$LIBS
|
||||
+ LIBS="$LIBS $MOZ_OGG_LIBS"
|
||||
+ AC_CHECK_FUNC(ogg_set_mem_functions, [],
|
||||
+ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)])
|
||||
+ LIBS=$_SAVE_LIBS
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_OGG)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for libvorbis
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-vorbis,
|
||||
+[ --with-system-vorbis Use system libvorbis (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_VORBIS=1,
|
||||
+MOZ_SYSTEM_VORBIS=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_VORBIS"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.6)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_VORBIS)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for integer-only libvorbis aka tremor
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-tremor,
|
||||
+[ --with-system-tremor Use system libtremor (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_TREMOR=1,
|
||||
+MOZ_SYSTEM_TREMOR=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_TREMOR"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_TREMOR)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for libtheora
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-theora,
|
||||
+[ --with-system-theora Use system libtheora (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_THEORA=1,
|
||||
+MOZ_SYSTEM_THEORA=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_THEORA"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_THEORA)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for libSoundTouch
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-soundtouch,
|
||||
+[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_SOUNDTOUCH=1,
|
||||
+MOZ_SYSTEM_SOUNDTOUCH=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0)
|
||||
+
|
||||
+ AC_LANG_SAVE
|
||||
+ AC_LANG_CPLUSPLUS
|
||||
+ _SAVE_CXXFLAGS=$CXXFLAGS
|
||||
+ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS"
|
||||
+ AC_CACHE_CHECK(for soundtouch sample type,
|
||||
+ ac_cv_soundtouch_sample_type,
|
||||
+ [AC_TRY_COMPILE([#include <SoundTouch.h>
|
||||
+ #ifndef SOUNDTOUCH_INTEGER_SAMPLES
|
||||
+ #error soundtouch expects float samples
|
||||
+ #endif],
|
||||
+ [],
|
||||
+ [ac_cv_soundtouch_sample_type=short],
|
||||
+ [ac_cv_soundtouch_sample_type=float])])
|
||||
+ CXXFLAGS=$_SAVE_CXXFLAGS
|
||||
+ AC_LANG_RESTORE
|
||||
+
|
||||
+ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \
|
||||
+ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then
|
||||
+ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.])
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
|
||||
+ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH)
|
||||
+fi
|
||||
+AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH)
|
||||
+
|
||||
dnl system libvpx Support
|
||||
dnl ========================================================
|
||||
MOZ_ARG_WITH_BOOL(system-libvpx,
|
||||
diff --git toolkit/library/moz.build toolkit/library/moz.build
|
||||
index 079a575adec3..514d901195de 100644
|
||||
--- toolkit/library/moz.build
|
||||
+++ toolkit/library/moz.build
|
||||
@@ -240,6 +240,21 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
|
||||
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ OS_LIBS += CONFIG['MOZ_OGG_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ OS_LIBS += CONFIG['MOZ_THEORA_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
+ OS_LIBS += CONFIG['MOZ_VORBIS_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
+ OS_LIBS += CONFIG['MOZ_TREMOR_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
|
||||
+ OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS']
|
||||
+
|
||||
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
|
||||
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
|
||||
|
||||
diff --git xpcom/build/XPCOMInit.cpp xpcom/build/XPCOMInit.cpp
|
||||
index c083ab4bc4f3..62b917043a2c 100644
|
||||
--- xpcom/build/XPCOMInit.cpp
|
||||
+++ xpcom/build/XPCOMInit.cpp
|
||||
@@ -132,7 +132,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**);
|
||||
|
||||
#include "mozilla/ipc/GeckoChildProcessHost.h"
|
||||
|
||||
+#ifndef MOZ_OGG_NO_MEM_REPORTING
|
||||
#include "ogg/ogg.h"
|
||||
+#endif
|
||||
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
|
||||
#if defined(HAVE_STDINT_H)
|
||||
// mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in
|
||||
@@ -639,11 +641,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult,
|
||||
// this oddness.
|
||||
mozilla::SetICUMemoryFunctions();
|
||||
|
||||
+#ifndef MOZ_OGG_NO_MEM_REPORTING
|
||||
// Do the same for libogg.
|
||||
ogg_set_mem_functions(OggReporter::CountingMalloc,
|
||||
OggReporter::CountingCalloc,
|
||||
OggReporter::CountingRealloc,
|
||||
OggReporter::CountingFree);
|
||||
+#endif
|
||||
|
||||
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
|
||||
// And for VPX.
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= firefox
|
||||
DISTVERSION= 63.0.3
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
PORTEPOCH= 1
|
||||
CATEGORIES= www ipv6
|
||||
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
|
||||
@ -28,12 +28,11 @@ BUILD_DEPENDS= nspr>=4.19:devel/nspr \
|
||||
autoconf-2.13:devel/autoconf213 \
|
||||
yasm:devel/yasm \
|
||||
zip:archivers/zip
|
||||
# soundtouch>=1.9.0:audio/soundtouch \
|
||||
|
||||
USE_GECKO= gecko
|
||||
CONFLICTS_INSTALL= firefox-esr
|
||||
MOZ_PKGCONFIG_FILES= # empty
|
||||
USE_MOZILLA= -cairo -hunspell -soundtouch
|
||||
USE_MOZILLA= -cairo -hunspell
|
||||
|
||||
USES= tar:xz
|
||||
|
||||
|
@ -1,12 +1,10 @@
|
||||
# -*- makefile-bsdmake -*-
|
||||
|
||||
OPTIONS_DEFINE+= BUNDLED_CAIRO CANBERRA DBUS DEBUG DTRACE FFMPEG GCONF \
|
||||
INTEGER_SAMPLES LIBPROXY \
|
||||
OPTIMIZED_CFLAGS PROFILE TEST WAYLAND
|
||||
LIBPROXY OPTIMIZED_CFLAGS PROFILE TEST WAYLAND
|
||||
|
||||
OPTIONS_DEFAULT+= DBUS FFMPEG GCONF OPTIMIZED_CFLAGS PROFILE WAYLAND \
|
||||
${OPTIONS_MULTI_AUDIO:NSNDIO} \
|
||||
${MACHINE_CPU:Msoftfp:C/.+/INTEGER_SAMPLES/}
|
||||
${OPTIONS_MULTI_AUDIO:NSNDIO}
|
||||
|
||||
OPTIONS_MULTI+= AUDIO
|
||||
OPTIONS_MULTI_AUDIO= ALSA JACK PULSEAUDIO SNDIO
|
||||
@ -27,7 +25,6 @@ OPTIONS_DEFAULT_i386+= DTRACE
|
||||
|
||||
BUNDLED_CAIRO_DESC?= Use bundled fork of cairo-1.9.5
|
||||
CANBERRA_DESC?= Sound theme alerts
|
||||
INTEGER_SAMPLES_DESC?= Integer audio sample format
|
||||
LIBPROXY_DESC?= Proxy support via libproxy
|
||||
LIGHTNING_DESC?= Calendar extension
|
||||
RUST_DESC?= Build with components written in Rust language
|
||||
|
@ -1,22 +0,0 @@
|
||||
# Let ports handle default sample type
|
||||
|
||||
--- toolkit/moz.configure~
|
||||
+++ toolkit/moz.configure
|
||||
@@ -419,12 +419,11 @@ set_config('MOZ_FMP4', fmp4)
|
||||
set_define('MOZ_FMP4', fmp4)
|
||||
add_old_configure_assignment('MOZ_FMP4', fmp4)
|
||||
|
||||
-@depends(target)
|
||||
-def sample_type_is_s16(target):
|
||||
- # Use integers over floats for audio on Android regardless of the CPU
|
||||
- # architecture, because audio backends for Android don't support floats.
|
||||
- # We also use integers on ARM because it's more efficient.
|
||||
- if target.os == 'Android' or target.cpu == 'arm':
|
||||
+option(env='MOZ_INTEGER_SAMPLES', help='Enable signed 16-bit audio samples')
|
||||
+@depends('MOZ_INTEGER_SAMPLES')
|
||||
+def sample_type_is_s16(value):
|
||||
+ enabled = bool(value)
|
||||
+ if enabled:
|
||||
return True
|
||||
|
||||
@depends(sample_type_is_s16)
|
@ -1,496 +0,0 @@
|
||||
# Allow more config/external/ libs built against system-wide version.
|
||||
|
||||
diff --git build/moz.configure/old.configure build/moz.configure/old.configure
|
||||
index d0fe7accffe6..c46bdd023225 100644
|
||||
--- build/moz.configure/old.configure
|
||||
+++ build/moz.configure/old.configure
|
||||
@@ -285,7 +285,12 @@ def old_configure_options(*options):
|
||||
'--with-system-libvpx',
|
||||
'--with-system-nspr',
|
||||
'--with-system-nss',
|
||||
+ '--with-system-ogg',
|
||||
'--with-system-png',
|
||||
+ '--with-system-soundtouch',
|
||||
+ '--with-system-theora',
|
||||
+ '--with-system-tremor',
|
||||
+ '--with-system-vorbis',
|
||||
'--with-system-zlib',
|
||||
'--with-thumb',
|
||||
'--with-thumb-interwork',
|
||||
diff --git config/external/moz.build config/external/moz.build
|
||||
index 029ff8504795..2c3a40caa1ba 100644
|
||||
--- config/external/moz.build
|
||||
+++ config/external/moz.build
|
||||
@@ -23,12 +23,21 @@ external_dirs += ['modules/woff2']
|
||||
|
||||
external_dirs += ['modules/xz-embedded']
|
||||
|
||||
-if CONFIG['MOZ_VORBIS']:
|
||||
+if not CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ external_dirs += ['media/libogg']
|
||||
+
|
||||
+if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
external_dirs += ['media/libvorbis']
|
||||
|
||||
-if CONFIG['MOZ_TREMOR']:
|
||||
+if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
external_dirs += ['media/libtremor']
|
||||
|
||||
+if not CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ external_dirs += ['media/libtheora']
|
||||
+
|
||||
+if not CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
|
||||
+ external_dirs += ['media/libsoundtouch']
|
||||
+
|
||||
if CONFIG['MOZ_WEBM_ENCODER']:
|
||||
external_dirs += ['media/libmkv']
|
||||
|
||||
@@ -51,11 +60,8 @@ external_dirs += [
|
||||
'media/kiss_fft',
|
||||
'media/libcubeb',
|
||||
'media/libnestegg',
|
||||
- 'media/libogg',
|
||||
'media/libopus',
|
||||
- 'media/libtheora',
|
||||
'media/libspeex_resampler',
|
||||
- 'media/libsoundtouch',
|
||||
'media/mp4parse-rust',
|
||||
'media/psshparser'
|
||||
]
|
||||
diff --git config/system-headers.mozbuild config/system-headers.mozbuild
|
||||
index 09d3db5ca8c0..c6533b84c470 100644
|
||||
--- config/system-headers.mozbuild
|
||||
+++ config/system-headers.mozbuild
|
||||
@@ -1325,6 +1325,28 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
'harfbuzz/hb.h',
|
||||
]
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ system_headers += [
|
||||
+ 'ogg/ogg.h',
|
||||
+ 'ogg/os_types.h',
|
||||
+ ]
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ system_headers += [
|
||||
+ 'theora/theoradec.h',
|
||||
+ ]
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
+ system_headers += [
|
||||
+ 'vorbis/codec.h',
|
||||
+ 'vorbis/vorbisenc.h',
|
||||
+ ]
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
+ system_headers += [
|
||||
+ 'tremor/ivorbiscodec.h',
|
||||
+ ]
|
||||
+
|
||||
if CONFIG['MOZ_SYSTEM_LIBVPX']:
|
||||
system_headers += [
|
||||
'vpx_mem/vpx_mem.h',
|
||||
diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp
|
||||
index 93ecda4319af..ff674c64ea07 100644
|
||||
--- dom/media/AudioStream.cpp
|
||||
+++ dom/media/AudioStream.cpp
|
||||
@@ -121,7 +121,9 @@ AudioStream::AudioStream(DataSource& aSource)
|
||||
: mMonitor("AudioStream")
|
||||
, mChannels(0)
|
||||
, mOutChannels(0)
|
||||
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
|
||||
, mTimeStretcher(nullptr)
|
||||
+#endif
|
||||
, mDumpFile(nullptr)
|
||||
, mState(INITIALIZED)
|
||||
, mDataSource(aSource)
|
||||
@@ -142,9 +144,11 @@ AudioStream::~AudioStream()
|
||||
if (mDumpFile) {
|
||||
fclose(mDumpFile);
|
||||
}
|
||||
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
|
||||
if (mTimeStretcher) {
|
||||
soundtouch::destroySoundTouchObj(mTimeStretcher);
|
||||
}
|
||||
+#endif
|
||||
#if defined(XP_WIN)
|
||||
if (XRE_IsContentProcess()) {
|
||||
audio::AudioNotificationReceiver::Unregister(this);
|
||||
@@ -168,7 +172,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked()
|
||||
{
|
||||
mMonitor.AssertCurrentThreadOwns();
|
||||
if (!mTimeStretcher) {
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+ mTimeStretcher = new soundtouch::SoundTouch();
|
||||
+#else
|
||||
mTimeStretcher = soundtouch::createSoundTouchObj();
|
||||
+#endif
|
||||
mTimeStretcher->setSampleRate(mAudioClock.GetInputRate());
|
||||
mTimeStretcher->setChannels(mOutChannels);
|
||||
mTimeStretcher->setPitch(1.0);
|
||||
diff --git dom/media/AudioStream.h dom/media/AudioStream.h
|
||||
index 7dc1f60f95cc..67d402a4117f 100644
|
||||
--- dom/media/AudioStream.h
|
||||
+++ dom/media/AudioStream.h
|
||||
@@ -16,7 +16,11 @@
|
||||
#include "nsAutoPtr.h"
|
||||
#include "nsCOMPtr.h"
|
||||
#include "nsThreadUtils.h"
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+#include "soundtouch/SoundTouch.h"
|
||||
+#else
|
||||
#include "soundtouch/SoundTouchFactory.h"
|
||||
+#endif
|
||||
|
||||
#if defined(XP_WIN)
|
||||
#include "mozilla/audio/AudioNotificationReceiver.h"
|
||||
@@ -297,7 +301,11 @@ private:
|
||||
uint32_t mChannels;
|
||||
uint32_t mOutChannels;
|
||||
AudioClock mAudioClock;
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+ nsAutoPtr<soundtouch::SoundTouch> mTimeStretcher;
|
||||
+#else
|
||||
soundtouch::SoundTouch* mTimeStretcher;
|
||||
+#endif
|
||||
|
||||
// Output file for dumping audio
|
||||
FILE* mDumpFile;
|
||||
diff --git dom/media/moz.build dom/media/moz.build
|
||||
index 86b051c58d33..fb6186dce78b 100644
|
||||
--- dom/media/moz.build
|
||||
+++ dom/media/moz.build
|
||||
@@ -326,6 +326,21 @@ if CONFIG['MOZ_WEBRTC']:
|
||||
|
||||
DEFINES['MOZILLA_INTERNAL_API'] = True
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS']
|
||||
+
|
||||
if CONFIG['MOZ_ANDROID_HLS_SUPPORT']:
|
||||
DEFINES['MOZ_ANDROID_HLS_SUPPORT'] = True
|
||||
|
||||
diff --git dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
|
||||
index 078f6ea5ef60..c600db067539 100644
|
||||
--- dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
|
||||
+++ dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
|
||||
@@ -15,9 +15,13 @@
|
||||
#include <windows.h>
|
||||
#endif
|
||||
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+#include "nsXPCOMPrivate.h" // for XUL_DLL
|
||||
+#else
|
||||
// We use a known symbol located in lgpllibs to determine its location.
|
||||
// soundtouch happens to be always included in lgpllibs
|
||||
#include "soundtouch/SoundTouch.h"
|
||||
+#endif
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
@@ -64,6 +68,12 @@ FFVPXRuntimeLinker::Init()
|
||||
|
||||
sLinkStatus = LinkStatus_FAILED;
|
||||
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+ // We retrieve the path of the XUL library as this is where mozavcodec and
|
||||
+ // mozavutil libs are located.
|
||||
+ char* path =
|
||||
+ PR_GetLibraryFilePathname(XUL_DLL, (PRFuncPtr)&FFVPXRuntimeLinker::Init);
|
||||
+#else
|
||||
// We retrieve the path of the lgpllibs library as this is where mozavcodec
|
||||
// and mozavutil libs are located.
|
||||
PathString lgpllibsname = GetLibraryName(nullptr, "lgpllibs");
|
||||
@@ -73,6 +83,7 @@ FFVPXRuntimeLinker::Init()
|
||||
PathString path =
|
||||
GetLibraryFilePathname(lgpllibsname.get(),
|
||||
(PRFuncPtr)&soundtouch::SoundTouch::getVersionId);
|
||||
+#endif
|
||||
if (path.IsEmpty()) {
|
||||
return false;
|
||||
}
|
||||
diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA
|
||||
index 6213fdc7770c..ada799916a17 100644
|
||||
--- media/libogg/README_MOZILLA
|
||||
+++ media/libogg/README_MOZILLA
|
||||
@@ -6,3 +6,6 @@ package downloaded from xiph.org and copied using the update.sh script.
|
||||
The int-types.patch address a bug that config_types.h generated from
|
||||
Linux platform can't be used on OpenSolaris directly see Mozilla bug
|
||||
449754
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-ogg.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA
|
||||
index dc0dbe8f6886..ea73b55e3e39 100644
|
||||
--- media/libsoundtouch/README_MOZILLA
|
||||
+++ media/libsoundtouch/README_MOZILLA
|
||||
@@ -6,3 +6,5 @@ The whole library is not used, only the relevant files are imported in the tree,
|
||||
using the script `update.sh`. Some changes have been made to the files, using
|
||||
the patch `moz-libsoundtouch.patch`. We also use a custom soundtouch_config.h.
|
||||
|
||||
+The in-tree copy may be omitted during build by --with-system-soundtouch.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libsoundtouch/src/soundtouch_perms.h media/libsoundtouch/src/soundtouch_perms.h
|
||||
index 0af2fe618311..10973564e7a4 100644
|
||||
--- media/libsoundtouch/src/soundtouch_perms.h
|
||||
+++ media/libsoundtouch/src/soundtouch_perms.h
|
||||
@@ -12,7 +12,9 @@
|
||||
|
||||
#pragma GCC visibility push(default)
|
||||
#include "SoundTouch.h"
|
||||
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
|
||||
#include "SoundTouchFactory.h"
|
||||
+#endif
|
||||
#pragma GCC visibility pop
|
||||
|
||||
#endif // MOZILLA_SOUNDTOUCH_PERMS_H
|
||||
diff --git media/libtheora/README_MOZILLA media/libtheora/README_MOZILLA
|
||||
index d48dbfa6f63d..6f30f250220e 100644
|
||||
--- media/libtheora/README_MOZILLA
|
||||
+++ media/libtheora/README_MOZILLA
|
||||
@@ -3,3 +3,6 @@ using the update.sh script. The changes made were those applied by update.sh,
|
||||
the addition/update of Makefile.in files for the Mozilla build system.
|
||||
|
||||
The subversion revision used was r17578.
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-theora.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libtheora/moz.build media/libtheora/moz.build
|
||||
index c7f85eebff95..aae7b814adb5 100644
|
||||
--- media/libtheora/moz.build
|
||||
+++ media/libtheora/moz.build
|
||||
@@ -21,6 +21,9 @@ FINAL_LIBRARY = 'gkmedias'
|
||||
# The encoder is currently not included.
|
||||
DEFINES['THEORA_DISABLE_ENCODE'] = True
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
+
|
||||
# Suppress warnings in third-party code.
|
||||
if CONFIG['CC_TYPE'] in ('clang', 'clang-cl', 'gcc'):
|
||||
CFLAGS += ['-Wno-type-limits']
|
||||
diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA
|
||||
index ee67b53a05c5..81c971773d55 100644
|
||||
--- media/libtremor/README_MOZILLA
|
||||
+++ media/libtremor/README_MOZILLA
|
||||
@@ -5,3 +5,6 @@ Makefile.in files for the Mozilla build system.
|
||||
|
||||
The upstream release used was http://svn.xiph.org/trunk/Tremor/
|
||||
The subversion revision used was r17547.
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-tremor.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libtremor/moz.build media/libtremor/moz.build
|
||||
index 83afc8e37c64..71ef159da3d7 100644
|
||||
--- media/libtremor/moz.build
|
||||
+++ media/libtremor/moz.build
|
||||
@@ -9,3 +9,5 @@ with Files('*'):
|
||||
|
||||
DIRS += ['include/tremor', 'lib']
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
diff --git media/libvorbis/README_MOZILLA media/libvorbis/README_MOZILLA
|
||||
index 1211ac074b33..eb31084aed25 100644
|
||||
--- media/libvorbis/README_MOZILLA
|
||||
+++ media/libvorbis/README_MOZILLA
|
||||
@@ -8,3 +8,6 @@ from https://git.xiph.org/vorbis.git
|
||||
|
||||
Some files are renamed during the copy to prevent clashes with object
|
||||
file names with other Mozilla libraries.
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-vorbis.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libvorbis/moz.build media/libvorbis/moz.build
|
||||
index adf393782cc9..923b76231107 100644
|
||||
--- media/libvorbis/moz.build
|
||||
+++ media/libvorbis/moz.build
|
||||
@@ -56,3 +56,6 @@ FINAL_LIBRARY = 'gkmedias'
|
||||
# Suppress warnings in third-party code.
|
||||
if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
|
||||
CFLAGS += ['-Wno-uninitialized']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
diff --git old-configure.in old-configure.in
|
||||
index b614eef85c89..85f9099dba4d 100644
|
||||
--- old-configure.in
|
||||
+++ old-configure.in
|
||||
@@ -2627,6 +2627,111 @@ if test -n "$MOZ_APPLEMEDIA"; then
|
||||
fi
|
||||
fi # COMPILE_ENVIRONMENT
|
||||
|
||||
+dnl ========================================================
|
||||
+dnl Check for libogg
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-ogg,
|
||||
+[ --with-system-ogg Use system libogg (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_OGG=1,
|
||||
+MOZ_SYSTEM_OGG=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_OGG"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.3.3)
|
||||
+
|
||||
+ _SAVE_LIBS=$LIBS
|
||||
+ LIBS="$LIBS $MOZ_OGG_LIBS"
|
||||
+ AC_CHECK_FUNC(ogg_set_mem_functions, [],
|
||||
+ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)])
|
||||
+ LIBS=$_SAVE_LIBS
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_OGG)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for libvorbis
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-vorbis,
|
||||
+[ --with-system-vorbis Use system libvorbis (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_VORBIS=1,
|
||||
+MOZ_SYSTEM_VORBIS=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_VORBIS"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.6)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_VORBIS)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for integer-only libvorbis aka tremor
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-tremor,
|
||||
+[ --with-system-tremor Use system libtremor (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_TREMOR=1,
|
||||
+MOZ_SYSTEM_TREMOR=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_TREMOR"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_TREMOR)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for libtheora
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-theora,
|
||||
+[ --with-system-theora Use system libtheora (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_THEORA=1,
|
||||
+MOZ_SYSTEM_THEORA=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_THEORA"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_THEORA)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for libSoundTouch
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-soundtouch,
|
||||
+[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_SOUNDTOUCH=1,
|
||||
+MOZ_SYSTEM_SOUNDTOUCH=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0)
|
||||
+
|
||||
+ AC_LANG_SAVE
|
||||
+ AC_LANG_CPLUSPLUS
|
||||
+ _SAVE_CXXFLAGS=$CXXFLAGS
|
||||
+ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS"
|
||||
+ AC_CACHE_CHECK(for soundtouch sample type,
|
||||
+ ac_cv_soundtouch_sample_type,
|
||||
+ [AC_TRY_COMPILE([#include <SoundTouch.h>
|
||||
+ #ifndef SOUNDTOUCH_INTEGER_SAMPLES
|
||||
+ #error soundtouch expects float samples
|
||||
+ #endif],
|
||||
+ [],
|
||||
+ [ac_cv_soundtouch_sample_type=short],
|
||||
+ [ac_cv_soundtouch_sample_type=float])])
|
||||
+ CXXFLAGS=$_SAVE_CXXFLAGS
|
||||
+ AC_LANG_RESTORE
|
||||
+
|
||||
+ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \
|
||||
+ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then
|
||||
+ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.])
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
|
||||
+ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH)
|
||||
+fi
|
||||
+AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH)
|
||||
+
|
||||
dnl system libvpx Support
|
||||
dnl ========================================================
|
||||
MOZ_ARG_WITH_BOOL(system-libvpx,
|
||||
diff --git toolkit/library/moz.build toolkit/library/moz.build
|
||||
index 079a575adec3..514d901195de 100644
|
||||
--- toolkit/library/moz.build
|
||||
+++ toolkit/library/moz.build
|
||||
@@ -240,6 +240,21 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
|
||||
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ OS_LIBS += CONFIG['MOZ_OGG_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ OS_LIBS += CONFIG['MOZ_THEORA_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
+ OS_LIBS += CONFIG['MOZ_VORBIS_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
+ OS_LIBS += CONFIG['MOZ_TREMOR_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
|
||||
+ OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS']
|
||||
+
|
||||
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
|
||||
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
|
||||
|
||||
diff --git xpcom/build/XPCOMInit.cpp xpcom/build/XPCOMInit.cpp
|
||||
index c083ab4bc4f3..62b917043a2c 100644
|
||||
--- xpcom/build/XPCOMInit.cpp
|
||||
+++ xpcom/build/XPCOMInit.cpp
|
||||
@@ -132,7 +132,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**);
|
||||
|
||||
#include "mozilla/ipc/GeckoChildProcessHost.h"
|
||||
|
||||
+#ifndef MOZ_OGG_NO_MEM_REPORTING
|
||||
#include "ogg/ogg.h"
|
||||
+#endif
|
||||
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
|
||||
#if defined(HAVE_STDINT_H)
|
||||
// mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in
|
||||
@@ -639,11 +641,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult,
|
||||
// this oddness.
|
||||
mozilla::SetICUMemoryFunctions();
|
||||
|
||||
+#ifndef MOZ_OGG_NO_MEM_REPORTING
|
||||
// Do the same for libogg.
|
||||
ogg_set_mem_functions(OggReporter::CountingMalloc,
|
||||
OggReporter::CountingCalloc,
|
||||
OggReporter::CountingRealloc,
|
||||
OggReporter::CountingFree);
|
||||
+#endif
|
||||
|
||||
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
|
||||
// And for VPX.
|
@ -29,7 +29,7 @@ GH_PROJECT= Pale-Moon
|
||||
|
||||
USE_GECKO= gecko
|
||||
MOZ_PKGCONFIG_FILES= # empty
|
||||
USE_MOZILLA= -soundtouch
|
||||
USE_MOZILLA= # empty
|
||||
|
||||
PM_ICON= ${PORTNAME}.png
|
||||
PM_ICON_SRC= ${PREFIX}/lib/${PORTNAME}/browser/icons/mozicon128.png
|
||||
@ -40,7 +40,7 @@ MOZ_OPTIONS= --enable-application=browser \
|
||||
--enable-jemalloc-lib
|
||||
|
||||
OPTIONS_DEFAULT= BUNDLED_CAIRO GTK2
|
||||
OPTIONS_EXCLUDE= DTRACE INTEGER_SAMPLES JACK TEST WAYLAND
|
||||
OPTIONS_EXCLUDE= DTRACE JACK TEST WAYLAND
|
||||
|
||||
.include "${.CURDIR}/../../www/firefox/Makefile.options"
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
PORTNAME= seamonkey
|
||||
DISTVERSION= 2.49.4
|
||||
PORTREVISION= 16
|
||||
PORTREVISION= 17
|
||||
MOZILLA_VER= 52 # above + 3
|
||||
CATEGORIES?= www mail news editors irc ipv6
|
||||
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
|
||||
@ -27,7 +27,6 @@ BUILD_DEPENDS= nspr>=4.13.1:devel/nspr \
|
||||
autoconf-2.13:devel/autoconf213 \
|
||||
yasm:devel/yasm \
|
||||
zip:archivers/zip
|
||||
# soundtouch>=1.9.0:audio/soundtouch \
|
||||
|
||||
LIB_DEPENDS= libv4l2.so:multimedia/libv4l
|
||||
|
||||
@ -38,7 +37,7 @@ MOZ_PIS_SCRIPTS= moz_pis_S50cleanhome
|
||||
|
||||
MOZ_OPTIONS+= --enable-application=suite
|
||||
|
||||
USE_MOZILLA= -soundtouch
|
||||
USE_MOZILLA= # empty
|
||||
MOZ_PKGCONFIG_FILES=
|
||||
|
||||
OPTIONS_DEFINE= LDAP LIGHTNING RUST
|
||||
|
@ -1,13 +0,0 @@
|
||||
# Let ports handle default sample type
|
||||
|
||||
--- mozilla/old-configure.in~
|
||||
+++ mozilla/old-configure.in
|
||||
@@ -5144,7 +5144,7 @@ dnl Use integers over floats for audio o
|
||||
dnl (regarless of the CPU architecture, because audio
|
||||
dnl backends for those platforms don't support floats. We also
|
||||
dnl use integers on ARM with other OS, because it's more efficient.
|
||||
-if test "$OS_TARGET" = "Android" -o "$CPU_ARCH" = "arm"; then
|
||||
+if test -n "$MOZ_INTEGER_SAMPLES"; then
|
||||
MOZ_SAMPLE_TYPE_S16=1
|
||||
AC_DEFINE(MOZ_SAMPLE_TYPE_S16)
|
||||
AC_SUBST(MOZ_SAMPLE_TYPE_S16)
|
@ -1,502 +0,0 @@
|
||||
# Allow more config/external/ libs built against system-wide version.
|
||||
|
||||
diff --git build/moz.configure/old.configure build/moz.configure/old.configure
|
||||
index d0fe7accffe6..c46bdd023225 100644
|
||||
--- mozilla/build/moz.configure/old.configure
|
||||
+++ mozilla/build/moz.configure/old.configure
|
||||
@@ -288,7 +288,12 @@ def old_configure_options(*options):
|
||||
'--with-system-libvpx',
|
||||
'--with-system-nspr',
|
||||
'--with-system-nss',
|
||||
+ '--with-system-ogg',
|
||||
'--with-system-png',
|
||||
+ '--with-system-soundtouch',
|
||||
+ '--with-system-theora',
|
||||
+ '--with-system-tremor',
|
||||
+ '--with-system-vorbis',
|
||||
'--with-system-zlib',
|
||||
'--with-thumb',
|
||||
'--with-thumb-interwork',
|
||||
diff --git config/Makefile.in config/Makefile.in
|
||||
index a6206bb0ff30..f20987c61754 100644
|
||||
--- mozilla/config/Makefile.in
|
||||
+++ mozilla/config/Makefile.in
|
||||
@@ -51,6 +51,11 @@ export:: $(export-preqs)
|
||||
-DMOZ_SYSTEM_LIBEVENT=$(MOZ_SYSTEM_LIBEVENT) \
|
||||
-DMOZ_SYSTEM_LIBVPX=$(MOZ_SYSTEM_LIBVPX) \
|
||||
-DMOZ_SYSTEM_ICU=$(MOZ_SYSTEM_ICU) \
|
||||
+ -DMOZ_SYSTEM_OGG=$(MOZ_SYSTEM_OGG) \
|
||||
+ -DMOZ_SYSTEM_THEORA=$(MOZ_SYSTEM_THEORA) \
|
||||
+ -DMOZ_SYSTEM_VORBIS=$(MOZ_SYSTEM_VORBIS) \
|
||||
+ -DMOZ_SYSTEM_TREMOR=$(MOZ_SYSTEM_TREMOR) \
|
||||
+ -DMOZ_SYSTEM_SOUNDTOUCH=$(MOZ_SYSTEM_SOUNDTOUCH) \
|
||||
$(srcdir)/system-headers $(srcdir)/stl-headers | $(PERL) $(topsrcdir)/nsprpub/config/make-system-wrappers.pl system_wrappers
|
||||
$(INSTALL) system_wrappers $(DIST)
|
||||
|
||||
diff --git config/external/moz.build config/external/moz.build
|
||||
index 029ff8504795..2c3a40caa1ba 100644
|
||||
--- mozilla/config/external/moz.build
|
||||
+++ mozilla/config/external/moz.build
|
||||
@@ -21,12 +21,21 @@ if CONFIG['MOZ_UPDATER']:
|
||||
external_dirs += ['modules/brotli']
|
||||
external_dirs += ['modules/woff2']
|
||||
|
||||
-if CONFIG['MOZ_VORBIS']:
|
||||
+if not CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ external_dirs += ['media/libogg']
|
||||
+
|
||||
+if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
external_dirs += ['media/libvorbis']
|
||||
|
||||
-if CONFIG['MOZ_TREMOR']:
|
||||
+if CONFIG['MOZ_TREMOR'] and not CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
external_dirs += ['media/libtremor']
|
||||
|
||||
+if not CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ external_dirs += ['media/libtheora']
|
||||
+
|
||||
+if not CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
|
||||
+ external_dirs += ['media/libsoundtouch']
|
||||
+
|
||||
if CONFIG['MOZ_WEBM_ENCODER']:
|
||||
external_dirs += ['media/libmkv']
|
||||
|
||||
@@ -52,12 +61,9 @@ external_dirs += [
|
||||
'media/kiss_fft',
|
||||
'media/libcubeb',
|
||||
'media/libnestegg',
|
||||
- 'media/libogg',
|
||||
'media/libopus',
|
||||
- 'media/libtheora',
|
||||
'media/libspeex_resampler',
|
||||
'media/libstagefright',
|
||||
- 'media/libsoundtouch',
|
||||
'media/psshparser'
|
||||
]
|
||||
|
||||
diff --git config/system-headers config/system-headers
|
||||
index 5ee7f71f9634..13178ac3b3ab 100644
|
||||
--- mozilla/config/system-headers
|
||||
+++ mozilla/config/system-headers
|
||||
@@ -1348,3 +1348,17 @@ unicode/utypes.h
|
||||
libutil.h
|
||||
unwind.h
|
||||
fenv.h
|
||||
+#if MOZ_SYSTEM_OGG==1
|
||||
+ogg/ogg.h
|
||||
+ogg/os_types.h
|
||||
+#endif
|
||||
+#if MOZ_SYSTEM_THEORA==1
|
||||
+theora/theoradec.h
|
||||
+#endif
|
||||
+#if MOZ_SYSTEM_VORBIS==1
|
||||
+vorbis/codec.h
|
||||
+vorbis/vorbisenc.h
|
||||
+#endif
|
||||
+#if MOZ_SYSTEM_TREMOR==1
|
||||
+tremor/ivorbiscodec.h
|
||||
+#endif
|
||||
diff --git dom/media/AudioStream.cpp dom/media/AudioStream.cpp
|
||||
index 93ecda4319af..ff674c64ea07 100644
|
||||
--- mozilla/dom/media/AudioStream.cpp
|
||||
+++ mozilla/dom/media/AudioStream.cpp
|
||||
@@ -115,7 +115,9 @@ AudioStream::AudioStream(DataSource& aSource)
|
||||
: mMonitor("AudioStream")
|
||||
, mChannels(0)
|
||||
, mOutChannels(0)
|
||||
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
|
||||
, mTimeStretcher(nullptr)
|
||||
+#endif
|
||||
, mDumpFile(nullptr)
|
||||
, mState(INITIALIZED)
|
||||
, mDataSource(aSource)
|
||||
@@ -130,9 +132,11 @@ AudioStream::~AudioStream()
|
||||
if (mDumpFile) {
|
||||
fclose(mDumpFile);
|
||||
}
|
||||
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
|
||||
if (mTimeStretcher) {
|
||||
soundtouch::destroySoundTouchObj(mTimeStretcher);
|
||||
}
|
||||
+#endif
|
||||
}
|
||||
|
||||
size_t
|
||||
@@ -151,7 +155,11 @@ nsresult AudioStream::EnsureTimeStretcherInitializedUnlocked()
|
||||
{
|
||||
mMonitor.AssertCurrentThreadOwns();
|
||||
if (!mTimeStretcher) {
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+ mTimeStretcher = new soundtouch::SoundTouch();
|
||||
+#else
|
||||
mTimeStretcher = soundtouch::createSoundTouchObj();
|
||||
+#endif
|
||||
mTimeStretcher->setSampleRate(mAudioClock.GetInputRate());
|
||||
mTimeStretcher->setChannels(mOutChannels);
|
||||
mTimeStretcher->setPitch(1.0);
|
||||
diff --git dom/media/AudioStream.h dom/media/AudioStream.h
|
||||
index 7dc1f60f95cc..67d402a4117f 100644
|
||||
--- mozilla/dom/media/AudioStream.h
|
||||
+++ mozilla/dom/media/AudioStream.h
|
||||
@@ -16,7 +16,11 @@
|
||||
#include "mozilla/TimeStamp.h"
|
||||
#include "mozilla/UniquePtr.h"
|
||||
#include "CubebUtils.h"
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+#include "soundtouch/SoundTouch.h"
|
||||
+#else
|
||||
#include "soundtouch/SoundTouchFactory.h"
|
||||
+#endif
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
@@ -287,7 +291,11 @@ private:
|
||||
uint32_t mChannels;
|
||||
uint32_t mOutChannels;
|
||||
AudioClock mAudioClock;
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+ nsAutoPtr<soundtouch::SoundTouch> mTimeStretcher;
|
||||
+#else
|
||||
soundtouch::SoundTouch* mTimeStretcher;
|
||||
+#endif
|
||||
|
||||
// Output file for dumping audio
|
||||
FILE* mDumpFile;
|
||||
diff --git dom/media/moz.build dom/media/moz.build
|
||||
index 86b051c58d33..fb6186dce78b 100644
|
||||
--- mozilla/dom/media/moz.build
|
||||
+++ mozilla/dom/media/moz.build
|
||||
@@ -308,6 +308,21 @@ if CONFIG['MOZ_WEBRTC']:
|
||||
|
||||
DEFINES['MOZILLA_INTERNAL_API'] = True
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_THEORA_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_VORBIS_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_TREMOR_CFLAGS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
|
||||
+ CXXFLAGS += CONFIG['MOZ_SOUNDTOUCH_CFLAGS']
|
||||
+
|
||||
if CONFIG['OS_TARGET'] == 'WINNT':
|
||||
DEFINES['WEBRTC_WIN'] = True
|
||||
else:
|
||||
diff --git dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
|
||||
index 078f6ea5ef60..c600db067539 100644
|
||||
--- mozilla/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
|
||||
+++ mozilla/dom/media/platforms/ffmpeg/ffvpx/FFVPXRuntimeLinker.cpp
|
||||
@@ -11,9 +11,13 @@
|
||||
#include "prmem.h"
|
||||
#include "prlink.h"
|
||||
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+#include "nsXPCOMPrivate.h" // for XUL_DLL
|
||||
+#else
|
||||
// We use a known symbol located in lgpllibs to determine its location.
|
||||
// soundtouch happens to be always included in lgpllibs
|
||||
#include "soundtouch/SoundTouch.h"
|
||||
+#endif
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
@@ -50,6 +54,12 @@ FFVPXRuntimeLinker::Init()
|
||||
|
||||
sLinkStatus = LinkStatus_FAILED;
|
||||
|
||||
+#ifdef MOZ_SYSTEM_SOUNDTOUCH
|
||||
+ // We retrieve the path of the XUL library as this is where mozavcodec and
|
||||
+ // mozavutil libs are located.
|
||||
+ char* path =
|
||||
+ PR_GetLibraryFilePathname(XUL_DLL, (PRFuncPtr)&FFVPXRuntimeLinker::Init);
|
||||
+#else
|
||||
// We retrieve the path of the lgpllibs library as this is where mozavcodec
|
||||
// and mozavutil libs are located.
|
||||
char* lgpllibsname = PR_GetLibraryName(nullptr, "lgpllibs");
|
||||
@@ -60,6 +70,7 @@ FFVPXRuntimeLinker::Init()
|
||||
PR_GetLibraryFilePathname(lgpllibsname,
|
||||
(PRFuncPtr)&soundtouch::SoundTouch::getVersionId);
|
||||
PR_FreeLibraryName(lgpllibsname);
|
||||
+#endif
|
||||
if (!path) {
|
||||
return false;
|
||||
}
|
||||
diff --git media/libogg/README_MOZILLA media/libogg/README_MOZILLA
|
||||
index 6213fdc7770c..ada799916a17 100644
|
||||
--- mozilla/media/libogg/README_MOZILLA
|
||||
+++ mozilla/media/libogg/README_MOZILLA
|
||||
@@ -6,3 +6,6 @@ package downloaded from xiph.org and copied using the update.sh script.
|
||||
The int-types.patch address a bug that config_types.h generated from
|
||||
Linux platform can't be used on OpenSolaris directly see Mozilla bug
|
||||
449754
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-ogg.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libsoundtouch/README_MOZILLA media/libsoundtouch/README_MOZILLA
|
||||
index dc0dbe8f6886..ea73b55e3e39 100644
|
||||
--- mozilla/media/libsoundtouch/README_MOZILLA
|
||||
+++ mozilla/media/libsoundtouch/README_MOZILLA
|
||||
@@ -6,3 +6,5 @@ The whole library is not used, only the relevant files are imported in the tree,
|
||||
using the script `update.sh`. Some changes have been made to the files, using
|
||||
the patch `moz-libsoundtouch.patch`. We also use a custom soundtouch_config.h.
|
||||
|
||||
+The in-tree copy may be omitted during build by --with-system-soundtouch.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libsoundtouch/src/soundtouch_perms.h media/libsoundtouch/src/soundtouch_perms.h
|
||||
index 0af2fe618311..10973564e7a4 100644
|
||||
--- mozilla/media/libsoundtouch/src/soundtouch_perms.h
|
||||
+++ mozilla/media/libsoundtouch/src/soundtouch_perms.h
|
||||
@@ -12,7 +12,9 @@
|
||||
|
||||
#pragma GCC visibility push(default)
|
||||
#include "SoundTouch.h"
|
||||
+#ifndef MOZ_SYSTEM_SOUNDTOUCH
|
||||
#include "SoundTouchFactory.h"
|
||||
+#endif
|
||||
#pragma GCC visibility pop
|
||||
|
||||
#endif // MOZILLA_SOUNDTOUCH_PERMS_H
|
||||
diff --git media/libtheora/README_MOZILLA media/libtheora/README_MOZILLA
|
||||
index d48dbfa6f63d..6f30f250220e 100644
|
||||
--- mozilla/media/libtheora/README_MOZILLA
|
||||
+++ mozilla/media/libtheora/README_MOZILLA
|
||||
@@ -3,3 +3,6 @@ using the update.sh script. The changes made were those applied by update.sh,
|
||||
the addition/update of Makefile.in files for the Mozilla build system.
|
||||
|
||||
The subversion revision used was r17578.
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-theora.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libtheora/moz.build media/libtheora/moz.build
|
||||
index c7f85eebff95..aae7b814adb5 100644
|
||||
--- mozilla/media/libtheora/moz.build
|
||||
+++ mozilla/media/libtheora/moz.build
|
||||
@@ -21,6 +21,9 @@ FINAL_LIBRARY = 'gkmedias'
|
||||
# The encoder is currently not included.
|
||||
DEFINES['THEORA_DISABLE_ENCODE'] = True
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
+
|
||||
# Suppress warnings in third-party code.
|
||||
if CONFIG['GNU_CC'] or CONFIG['CLANG_CL']:
|
||||
CFLAGS += ['-Wno-type-limits']
|
||||
diff --git media/libtremor/README_MOZILLA media/libtremor/README_MOZILLA
|
||||
index ee67b53a05c5..81c971773d55 100644
|
||||
--- mozilla/media/libtremor/README_MOZILLA
|
||||
+++ mozilla/media/libtremor/README_MOZILLA
|
||||
@@ -5,3 +5,6 @@ Makefile.in files for the Mozilla build system.
|
||||
|
||||
The upstream release used was http://svn.xiph.org/trunk/Tremor/
|
||||
The subversion revision used was r17547.
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-tremor.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libtremor/moz.build media/libtremor/moz.build
|
||||
index 83afc8e37c64..71ef159da3d7 100644
|
||||
--- mozilla/media/libtremor/moz.build
|
||||
+++ mozilla/media/libtremor/moz.build
|
||||
@@ -9,3 +9,5 @@ with Files('*'):
|
||||
|
||||
DIRS += ['include/tremor', 'lib']
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
diff --git media/libvorbis/README_MOZILLA media/libvorbis/README_MOZILLA
|
||||
index 1211ac074b33..eb31084aed25 100644
|
||||
--- mozilla/media/libvorbis/README_MOZILLA
|
||||
+++ mozilla/media/libvorbis/README_MOZILLA
|
||||
@@ -8,3 +8,6 @@ https://svn.xiph.org/tags/vorbis/libvorbis-1.3.5@19464
|
||||
|
||||
Some files are renamed during the copy to prevent clashes with object
|
||||
file names with other Mozilla libraries.
|
||||
+
|
||||
+The in-tree copy may be omitted during build by --with-system-vorbis.
|
||||
+Keep version in old-configure.in in sync on updates.
|
||||
diff --git media/libvorbis/moz.build media/libvorbis/moz.build
|
||||
index adf393782cc9..923b76231107 100644
|
||||
--- mozilla/media/libvorbis/moz.build
|
||||
+++ mozilla/media/libvorbis/moz.build
|
||||
@@ -56,3 +56,6 @@ FINAL_LIBRARY = 'gkmedias'
|
||||
# Suppress warnings in third-party code.
|
||||
if CONFIG['GNU_CC']:
|
||||
CFLAGS += ['-Wno-uninitialized']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ CFLAGS += CONFIG['MOZ_OGG_CFLAGS']
|
||||
diff --git old-configure.in old-configure.in
|
||||
index b614eef85c89..85f9099dba4d 100644
|
||||
--- mozilla/old-configure.in
|
||||
+++ mozilla/old-configure.in
|
||||
@@ -2941,6 +2941,111 @@ if test -n "$MOZ_OMX_PLUGIN"; then
|
||||
fi
|
||||
fi
|
||||
|
||||
+dnl ========================================================
|
||||
+dnl Check for libogg
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-ogg,
|
||||
+[ --with-system-ogg Use system libogg (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_OGG=1,
|
||||
+MOZ_SYSTEM_OGG=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_OGG"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.3.0)
|
||||
+
|
||||
+ _SAVE_LIBS=$LIBS
|
||||
+ LIBS="$LIBS $MOZ_OGG_LIBS"
|
||||
+ AC_CHECK_FUNC(ogg_set_mem_functions, [],
|
||||
+ [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)])
|
||||
+ LIBS=$_SAVE_LIBS
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_OGG)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for libvorbis
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-vorbis,
|
||||
+[ --with-system-vorbis Use system libvorbis (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_VORBIS=1,
|
||||
+MOZ_SYSTEM_VORBIS=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_VORBIS"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_VORBIS, vorbis vorbisenc >= 1.3.5)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_VORBIS)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for integer-only libvorbis aka tremor
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-tremor,
|
||||
+[ --with-system-tremor Use system libtremor (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_TREMOR=1,
|
||||
+MOZ_SYSTEM_TREMOR=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_TREMOR"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_TREMOR, vorbisidec >= 1.2.1)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_TREMOR)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for libtheora
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-theora,
|
||||
+[ --with-system-theora Use system libtheora (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_THEORA=1,
|
||||
+MOZ_SYSTEM_THEORA=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_THEORA"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_THEORA, theora >= 1.2)
|
||||
+fi
|
||||
+
|
||||
+AC_SUBST(MOZ_SYSTEM_THEORA)
|
||||
+
|
||||
+dnl ========================================================
|
||||
+dnl Check for libSoundTouch
|
||||
+dnl ========================================================
|
||||
+
|
||||
+MOZ_ARG_WITH_BOOL(system-soundtouch,
|
||||
+[ --with-system-soundtouch Use system libSoundTouch (located with pkgconfig)],
|
||||
+MOZ_SYSTEM_SOUNDTOUCH=1,
|
||||
+MOZ_SYSTEM_SOUNDTOUCH=)
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
|
||||
+ PKG_CHECK_MODULES(MOZ_SOUNDTOUCH, soundtouch >= 1.9.0)
|
||||
+
|
||||
+ AC_LANG_SAVE
|
||||
+ AC_LANG_CPLUSPLUS
|
||||
+ _SAVE_CXXFLAGS=$CXXFLAGS
|
||||
+ CXXFLAGS="$CXXFLAGS $MOZ_SOUNDTOUCH_CFLAGS"
|
||||
+ AC_CACHE_CHECK(for soundtouch sample type,
|
||||
+ ac_cv_soundtouch_sample_type,
|
||||
+ [AC_TRY_COMPILE([#include <SoundTouch.h>
|
||||
+ #ifndef SOUNDTOUCH_INTEGER_SAMPLES
|
||||
+ #error soundtouch expects float samples
|
||||
+ #endif],
|
||||
+ [],
|
||||
+ [ac_cv_soundtouch_sample_type=short],
|
||||
+ [ac_cv_soundtouch_sample_type=float])])
|
||||
+ CXXFLAGS=$_SAVE_CXXFLAGS
|
||||
+ AC_LANG_RESTORE
|
||||
+
|
||||
+ if test \( -n "$MOZ_SAMPLE_TYPE_S16" -a "$ac_cv_soundtouch_sample_type" != short \) \
|
||||
+ -o \( -n "$MOZ_SAMPLE_TYPE_FLOAT32" -a "$ac_cv_soundtouch_sample_type" != float \) ; then
|
||||
+ AC_MSG_ERROR([SoundTouch library is built with incompatible sample type. Either rebuild the library with/without --enable-integer-samples, chase default Mozilla sample type or remove --with-system-soundtouch.])
|
||||
+ fi
|
||||
+fi
|
||||
+
|
||||
+if test -n "$MOZ_SYSTEM_SOUNDTOUCH"; then
|
||||
+ AC_DEFINE(MOZ_SYSTEM_SOUNDTOUCH)
|
||||
+fi
|
||||
+AC_SUBST(MOZ_SYSTEM_SOUNDTOUCH)
|
||||
+
|
||||
dnl system libvpx Support
|
||||
dnl ========================================================
|
||||
MOZ_ARG_WITH_BOOL(system-libvpx,
|
||||
diff --git toolkit/library/moz.build toolkit/library/moz.build
|
||||
index 079a575adec3..514d901195de 100644
|
||||
--- mozilla/toolkit/library/moz.build
|
||||
+++ mozilla/toolkit/library/moz.build
|
||||
@@ -237,6 +237,21 @@ if CONFIG['MOZ_SYSTEM_HARFBUZZ']:
|
||||
if CONFIG['MOZ_SYSTEM_HUNSPELL']:
|
||||
OS_LIBS += CONFIG['MOZ_HUNSPELL_LIBS']
|
||||
|
||||
+if CONFIG['MOZ_SYSTEM_OGG']:
|
||||
+ OS_LIBS += CONFIG['MOZ_OGG_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_THEORA']:
|
||||
+ OS_LIBS += CONFIG['MOZ_THEORA_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_VORBIS']:
|
||||
+ OS_LIBS += CONFIG['MOZ_VORBIS_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_TREMOR']:
|
||||
+ OS_LIBS += CONFIG['MOZ_TREMOR_LIBS']
|
||||
+
|
||||
+if CONFIG['MOZ_SYSTEM_SOUNDTOUCH']:
|
||||
+ OS_LIBS += CONFIG['MOZ_SOUNDTOUCH_LIBS']
|
||||
+
|
||||
if CONFIG['MOZ_SYSTEM_LIBEVENT']:
|
||||
OS_LIBS += CONFIG['MOZ_LIBEVENT_LIBS']
|
||||
|
||||
diff --git xpcom/build/XPCOMInit.cpp xpcom/build/XPCOMInit.cpp
|
||||
index c083ab4bc4f3..62b917043a2c 100644
|
||||
--- mozilla/xpcom/build/XPCOMInit.cpp
|
||||
+++ mozilla/xpcom/build/XPCOMInit.cpp
|
||||
@@ -154,7 +154,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports*, REFNSIID, void**);
|
||||
|
||||
#include "mozilla/ipc/GeckoChildProcessHost.h"
|
||||
|
||||
+#ifndef MOZ_OGG_NO_MEM_REPORTING
|
||||
#include "ogg/ogg.h"
|
||||
+#endif
|
||||
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
|
||||
#if defined(HAVE_STDINT_H)
|
||||
// mozilla-config.h defines HAVE_STDINT_H, and then it's defined *again* in
|
||||
@@ -664,11 +666,13 @@ NS_InitXPCOM2(nsIServiceManager** aResult,
|
||||
// this oddness.
|
||||
mozilla::SetICUMemoryFunctions();
|
||||
|
||||
+#ifndef MOZ_OGG_NO_MEM_REPORTING
|
||||
// Do the same for libogg.
|
||||
ogg_set_mem_functions(OggReporter::CountingMalloc,
|
||||
OggReporter::CountingCalloc,
|
||||
OggReporter::CountingRealloc,
|
||||
OggReporter::CountingFree);
|
||||
+#endif
|
||||
|
||||
#if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
|
||||
// And for VPX.
|
Loading…
Reference in New Issue
Block a user