Commit Graph

936 Commits

Author SHA1 Message Date
Erik de Castro Lopo
b1982fbc5f Set version to 1.3.0 and update coyprights throughout. 2013-05-26 19:17:53 +10:00
Ulrich Klauer
d672efaa05 Fix gcc version check for private macros
Use Benjamin Stiglitz' MIN macros from gcc 4.3 (according to the
changelog, __COUNTER__ was introduced in this version). Previously,
the macros weren't used on any existing gcc version; the first one
would have been 5.5.

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-05-26 08:26:45 +10:00
Robert Kausch
411ba53c7b bitwriter.c : Add missing "extern" declaration
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-05-26 07:42:22 +10:00
Robert Kausch
bb79a59a9f Fix mistyped variable name
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-05-26 07:42:19 +10:00
Ulrich Klauer
c9f05ed210 Correctly initialize FLAC_API_SUPPORTS_OGG_FLAC
Commits a7e3705d05 and
a4c321e492, while trying to simplify how
the FLAC_API_SUPPORTS_OGG_FLAC global variable was initialized,
inadvertently caused it to be always set to false, whether Ogg support
was compiled in or not.

This commit reverts the relevant part to how it looked in the 1.2.1
release, which is verbose but correct.

The problem was found by Robert Kausch <robert.kausch@freac.org>.

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-05-26 07:42:13 +10:00
Erik de Castro Lopo
1b1d05bb25 Version 1.3.0pre4. 2013-04-28 19:00:30 +10:00
Erik de Castro Lopo
fc21768d44 Fix compile when compiling with FLAC__INTEGER_ONLY_LIBRARY.
Problem reported by Martijn van Beurden <mvanb1@gmail.com>.
2013-04-21 19:51:56 +10:00
Cristian Rodríguez
92db3c951e Ensure AM_LDFLAGS is used consistently
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-04-21 17:26:33 +10:00
Erik de Castro Lopo
2de567fb11 src/libFLAC/include/private/macros.h : Add default MIN/MAX macros. 2013-04-07 20:21:24 +10:00
Erik de Castro Lopo
03a9e6064d src/libFLAC/include/private/macros.h : Check GNUC version for MIN macro. 2013-04-07 20:15:09 +10:00
Erik de Castro Lopo
b9574fe589 Fix a bunch of compiler warnings (mainly MinGW). 2013-04-07 13:44:45 +10:00
Erik de Castro Lopo
6a9a18ff7a For windows, make UTF-8 mode into a runtime choice.
The smaller patch makes the utf-8 library use ANSI codepage by
default. When frontends call the "get_utf8_argv" function it
changes Unicode conversion codepage from ANSI to UTF-8.

Patch from Janne Hyvärinen <cse@sci.fi>.
2013-04-07 13:11:19 +10:00
Ulrich Klauer
5da86630be Fix pkg-config files to avoid overlinking
Libraries that are used internally by libFLAC(++) but are not part of
their API should be listed in pkg-config "private" clauses. Otherwise
executables that are linked dynamically against libFLAC(++) will have
unneeded direct dependencies (overlinking).

Based on a patch by Brad Smith from
  https://sourceforge.net/p/flac/bugs/397/
that I updated to only include ogg if libFLAC is actually built with
ogg support.

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-04-07 11:03:52 +10:00
Erik de Castro Lopo
ae7eda1815 Rename all parameters and locals from 'index' to 'indx'. 2013-04-05 20:21:22 +11:00
Erik de Castro Lopo
da57d2a48d flac*.pc : Add -logg if configured with Ogg support. 2013-04-02 20:45:54 +11:00
Erik de Castro Lopo
d6218bf3ec MSVC version patch from Janne Hyvärinen <cse@sci.fi>. 2013-04-02 06:34:38 +11:00
Erik de Castro Lopo
0cd2e9ed69 Purge FLAC__STRINGS_IN_UTF8 from VC project files. 2013-04-01 20:01:37 +11:00
Erik de Castro Lopo
2199d08692 Enable utf8 I/O stuff when compiling with MinGW. 2013-04-01 19:57:13 +11:00
Erik de Castro Lopo
7dc5e3a8ff Rename _flac_stat to flac_stat_s. 2013-03-29 21:25:59 +11:00
Erik de Castro Lopo
5705b4d7b2 Huge Windows utf8 I/O patch.
Patch from Janne Hyvärinen <cse@sci.fi>.
2013-03-29 21:25:59 +11:00
Erik de Castro Lopo
14c28ae485 Replace a couple of safe_strncpy/cat with snprintf. 2013-03-21 17:28:47 +11:00
Erik de Castro Lopo
2d6354ff2a Replace broken str* functions with safe versions. 2013-03-19 20:23:44 +11:00
Erik de Castro Lopo
c152d1adf9 More Microsoft Visual Studio project file updates.
Patch from Janne Hyvärinen <cse@sci.fi>.
2013-03-18 06:22:57 +11:00
Erik de Castro Lopo
f25b2602dc Fix a couple of Windows 2Gig file size issues.
Patch submitted by Janne Hyvärinen <cse@sci.fi>.
2013-03-14 18:22:37 +11:00
Erik de Castro Lopo
9edb817dd2 MS VS inline/extern fix from Ben Alison plus comments.
Add explicit extern to functions that are locally declared inline
but which also have non-inline public prototypes.

It seems MS VS does not quite meet the C99 spec (section 6.7.4).
2013-03-12 17:12:07 +11:00
Erik de Castro Lopo
96a5ba7120 Fix -Wshadow warnings. 2013-03-11 06:06:34 +11:00
Erik de Castro Lopo
0a2b901e99 src/libFLAC/include/private/macros.h : Fix flac_min.
The existing flac_min macro was generating -Wshadow compiler warnings
when nested.
2013-03-11 06:06:34 +11:00
Erik de Castro Lopo
dd1fa80883 Fix -Wstrict-prototypes -Wmissing-prototypes warnings.
The files src/flac/encode.c and src/libFLAC/stream_encoder.c use
functions in libFLAC that are marked as 'unpublished debug routines'.
This patch moves these functions to new file include/share/private.h
and marks them as 'unpublished debug routines'.
2013-03-11 06:06:33 +11:00
Erik de Castro Lopo
168c258aa3 Purge old un-maintained MSVC 6 project files. 2013-03-10 11:17:20 +11:00
Erik de Castro Lopo
1ad32efb89 Version 1.3.0pre2. 2013-03-09 22:06:12 +11:00
Erik de Castro Lopo
139ffb090d Fix version number in Visual Studio project files.
Patch from Ben Allison <benski@winamp.com> and tweaked to change
version from 1.3.0 (which hasn't been released yet) to 1.3.0pre1.
2013-03-08 21:06:48 +11:00
Erik de Castro Lopo
a4c321e492 Large patch from Ben Allison fixing the MSVC build.
Patch tweaked a little to fix Linux build and clean up minor problems.
2013-03-06 22:17:51 +11:00
Erik de Castro Lopo
91790ef965 Fix compiler warnings from new compiler flags. 2013-03-06 07:42:08 +11:00
Erik de Castro Lopo
fb13acc457 Revert parts of 96d081c1 that touched source code or autotools files. 2013-01-03 06:25:21 +11:00
Erik de Castro Lopo
f67928dec4 Fix VC project files to use /objs/ directory instead of /obj/ directory. 2013-01-02 22:49:55 +11:00
Hendricks266
96d081c1c9 Fix building with MSYS and MinGW(-w64); Improve Makefile.lite build system
This is a patch to allow building of the project using MSYS, MinGW, and MinGW-w64 with the following invocation:

make -f Makefile.lite libFLAC libFLAC++ flac metaflac test_libs_common test_libFLAC test_libFLAC++ test_grabbag test_seeking test_streams utils examples

This patch addresses eight points:
1. `uname -p` in MSYS returns "unknown" so we must use `gcc -dumpmachine` to gain information about the target, 32-bit or 64-bit.
2. MinGW-w64 does not ship with a working iconv.h, so we must disable it under this specific compiler.
3. The code requires <inttypes.h> in a handful of C files, but config.mk did not contain -DHAVE_INTTYPES_H, which under the full build process (I assume) is added by autoconf.
4. The compiler complained when lround() in lpc.c was static, so it is no longer static.
5. Additional scattered linking directives (and reordering) (particularly FLAC, grabbag, and replaygain_analysis) were necessary to build some of the components.
6. The Makefile.lite build system benefited from some cleanup, particularly by rigorously defining all entries, factoring redundancy, and establishing dependencies. (Some typos were fixed too.)
7. Shared objects on Windows use .dll, not .so. (Added *.dll, *.dylib, and *.exe to .gitignore.)
8. To allow more freedom using Makefile.lite without configure, I added the variables USE_OGG and USE_ICONV which can toggle these two components in the build process.
ex: make -f Makefile.lite examples USE_OGG=0 USE_ICONV=0

These improvements make use of some use-time Makefile variable expansion.

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2013-01-02 21:35:47 +11:00
Max Horn
66c0a581d2 autogen.sh: replace this by a simple call to autoreconf
The autoreconf tool is provided by autoconf to do what custom
autogen.sh scripts in many projects used to do. Only it is more
robust and widely tested. It has been available for several years,
too. No reason to rely on custom code for this.

Signed-off-by: Max Horn <max@quendi.de>
2012-12-13 08:12:14 +11:00
Timothy B. Terriberry
0920bc1ffb Fix a copy & paste error in a comment. 2012-12-09 13:13:12 +11:00
Miroslav Lichvar
a43f56c0b2 Update library version-info. 2012-12-04 17:45:51 +11:00
Miroslav Lichvar
49b9673c89 Hide symbols with nasm.
Hide all cglobal symbols with nasm >= 2.
2012-12-04 17:45:32 +11:00
Miroslav Lichvar
19c78e58d7 Hide symbols with gcc.
With gcc >= 4 and ELF, set default visibility to hidden and make visible
only the symbols with FLAC_API or FLACPP_API.

A convenience libFLAC-static.la is created for test_libFLAC as it
depends on the hidden symbols.
2012-12-04 17:45:06 +11:00
Miroslav Lichvar
7edf67769f Remove old GNU-stack sections from nasm files.
They are not needed since the section is defined in nasm.h.
2012-12-04 17:43:49 +11:00
Erik de Castro Lopo
70be52b1dd src/libFLAC/stream_encoder.c : Fix typo.
FLAC__treamEncoderReadStatusString -> FLAC__StreamEncoderReadStatusString

Thanks to nu774 on github.
2012-11-30 15:33:59 +11:00
Erik de Castro Lopo
fc360735ce Fix a regression that severely impacted compression levels.
Regression was introducted in commit 8bbbf56403
(Feb 1 19:58:09 2012) when fixing compiler warnings. In src/libFLAC/lpc.c the
line:

        ref[i] = (r/=err);

was erroniously removed because the left hand side, ref[i] was never used.
Obviously, the correct thing to do was to replace that line with:

        r /= err;

This code has not been officially released. The only people who would have
been affected are people who compiled FLAC from git between February and
now.

The only adverse affect of this error was that compression ratio would have
been severely compromised. No audio is lost, and if anyone has a file that
compressed with a bad version of FLAC can decompress it to WAV and then
re-compress with a fixed version.
2012-10-12 22:02:49 +11:00
Miroslav Lichvar
8d9e5c6e8e Optimize FLAC__bitreader_read_rice_signed_block.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2012-08-28 21:17:18 +10:00
Miroslav Lichvar
7b37472a2f Add new clz function which works with input 0.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2012-08-28 21:17:15 +10:00
Miroslav Lichvar
d69e807e10 Make FLAC__clz_soft_uint32 static.
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2012-08-28 21:17:12 +10:00
Samuli Suominen
12022d90dd Fix assembler code to make it PIC so the dynamic linker does
not have to do text relocations on-the-fly. Patch from Gentoo
via Jaren Stangret <sirjaren@gmail.com>

Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2012-07-26 17:21:41 +10:00
Erik de Castro Lopo
a7e3705d05 Move code inside #ifdef _MSC_VER to compat.h. 2012-06-22 16:03:04 +10:00
Erik de Castro Lopo
5b62b770bc Move all definitions of FLAC__U64L to one place. 2012-06-22 14:52:53 +10:00