This is the less-surprising behavior and will hopefully
result in fewer corner case bugs (e.g. losing gain
after seeking). This commit also updates the documentation.
The last commit changed some of the multistream tests to use a
dual-mono setup instead of a single-stereo setup. Some of the
accompanying explicit valgrind checks were still setup to
look for stereo streams.
And explicitly specify what we want included in EXTRA_DIST of doc/Makefile.am,
otherwise make dist picks up whatever random junk you might have laying around
in that dir at the time you run it.
Tweak the top level delegation targets, because this means distclean will be
run in the doc dir by default now without our help.
In places where an ignored return or a null-arg is a sure indication
of a bug add the GCC warning attributes. The null arg annotation
is not enable for Opus itself because it will cause the compiler
to optimize out some null checks. I don't trust our callers
quite that much.
It's less surprising for people using the -uninstalled
pkg-config file if we advertise the static library rather
than the shared build. That way the executables work without
having to hack the same location into LD_LIBRARY_PATH, and
the resulting binaries are easier to distribute.
For this to actually work with opus-tools, the -fPIE had
to be turned off, as it was in 1d128b4d5c6f. Support
for static PIE builds would be restored if we compiled
libopus.a with -fPIC.
Also remove the private header locations. These are no
longer required to declare any of the public api.
Unlike the other headers, opus_multistream.h didn't declare
itself to be C code, causing confusing errors when the caller
tries to use the functions from C++.
On MacOS, stdlib.h ends up including sys/signal.h, generating
warnings about the local variables called 'signal' shadowing
the global symbol signal(3).
This was originally done in 86476906 but it missed some use
of 'signal' in prototypes in headers where it didn't cause
warnings. Later the prototypes were moved around and the
warnings came back.
This also cleans up some cases in where stdlib.h was used
but shouldn't be required.