The androidabi-4.8 toolchain we'd liek to use for B2G ICS builds cannot
compile this section of the opus source. Force-disable optimizations
for the offending code in order to avoid the ICE.
Opus doesn't seem to provide a define for being built as a static
library, but it allows us to override what it would define OPUS_EXPORT
to be. So we can just define OPUS_EXPORT to the empty string and then
those symbols will be hidden in libxul just like anything else.
opus doesn't seem to provide a define for being built as a static
library, but it allows us to override what it would define OPUS_EXPORT
to be. So we can just define OPUS_EXPORT to the empty string and then
those symbols will be hidden in libxul just like anything else.
From 80b8408c1466a245b5fdbb13df71d863a0dab292 Mon Sep 17 00:00:00 2001
This is no longer necessary now that we've updated to more recent
reference code and causes problems on some compilers.
Update our opus implementation to a prerelease of 1.1. This
brings many performance and encoder improvements and we believe
it is stable enough to switch. This import does not enable any
of the new assembly optimizations.
The imported code is https://git.xiph.org/opus.git master
commit f2446c25c6519bae190152f7a579310b83dc43fd.
Enable MOZ_OPUS_FIXED inside the opus makefile if
MOZ_SAMPLE_TYPE_FLOAT32 is not defined. This is the
general proxy for floating point audio support in
other areas of the code.
We could have defined MOZ_OPUS_FIXED directly in
the configure script (and still could) but I liked
this better.
Update files to match the opus-1.0.0 source release.
This corresponds to the spec implementation included
in RFC 6716.
Changes from the previous in-tree version (draft-12):
- Add extern "C" protection on opus_multistream.h.
- Align to sizeof(void*) instead of 4 bytes.
- Copyright header updates for IETF publication.
- Minor documentation and whitespace fixes.
We read *_sources.mk from the opus source tree to get a list
of needed files. As of the 1.0.0 release, those files have
comment lines, which the previous sed one-liner failed to
strip out.
The earlier version attempted this with 's/^#.8//', but
the whole file has been read into memory so we can
remove the line continuation escapes. However, the
newlines are still present, so we can replace this
with 's/#[^\n]*\(\n\)/\1\g' Which replaces everything
from a comment character to a newline with a newline.
We have to capture and subsitute the final newline instead
of using a literal \n because portable sed doesn't expand
that character on the right-hand side. GNU sed will,
however.