summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Version 1.3.21.3.2Erik de Castro Lopo2017-01-019-12/+12
|
* test/test_metaflac.sh: Comment onlyErik de Castro Lopo2017-01-011-0/+1
|
* libFLAC: Remove commented out assertErik de Castro Lopo2016-12-241-2/+0
| | | | | Pointed out by c.helmrich@ecodis.de. It was added during debugging in commit c06a44969, but was never meant to stay.
* Makefile.lite: Fix running of testsErik de Castro Lopo2016-12-214-12/+8
| | | | | * Generate `test/common.sh` from `test/common.sh.in`. * Move `is_win` setting to `test_common.sh`.
* libFLAC/cpu.c: Add CPP guardErik de Castro Lopo2016-12-211-0/+2
|
* More Makefile.lite fixesErik de Castro Lopo2016-12-213-6/+11
| | | | Patch-from: Robert Kausch <robert.kausch@freac.org>
* Add missing files to Makefile.amErik de Castro Lopo2016-12-112-1/+3
|
* Makefile.lite fixesErik de Castro Lopo2016-12-112-3/+3
| | | | Patch-from: Robert Kausch <robert.kausch@freac.org>
* Fix PACKAGE_VERSION in MSVC filesErik de Castro Lopo2016-12-115-15/+17
| | | | Patch-from: "lvqcl.mail" <lvqcl.mail@gmail.com>
* doc/html/changelog.html: Add creditsErik de Castro Lopo2016-12-071-3/+2
|
* doc/html/changelog.html: Add OS/SSE assumptionsErik de Castro Lopo2016-12-061-0/+1
|
* doc/html/changelog.html: More updates for 1.3.2 releaseErik de Castro Lopo2016-12-061-7/+15
|
* libFLAC/metadata_object.c: Fix typo in numberErik de Castro Lopo2016-12-061-1/+1
| | | | | As pointed out by Evan Ramos there was typo, `32786` instead of `32768`.
* libFLAC/cpu.c: Improve logicErik de Castro Lopo2016-12-061-1/+1
| | | | | | | Only call `FLAC__cpu_have_cpuid_asm_ia32` if `FLAC__HAS_NASM` is defined. Patch-from: "lvqcl.mail" <lvqcl.mail@gmail.com>
* Update version in MSVS project filesErik de Castro Lopo2016-12-054-12/+12
|
* Another bulk update of copyright datesErik de Castro Lopo2016-12-0544-61/+61
|
* doc/html/changelog.html: Update for 1.3.2 releaseErik de Castro Lopo2016-12-051-1/+6
|
* Bulk update copyright datesErik de Castro Lopo2016-12-05247-249/+249
|
* configure.ac: Fix description of --disable-sseErik de Castro Lopo2016-12-051-1/+1
|
* configure.ac: Remove unused config flagsErik de Castro Lopo2016-12-051-5/+0
| | | | | | FLAC__NO_SSE_OS and FLAC__SSE_OS. Patch-from: "lvqcl.mail" <lvqcl.mail@gmail.com>
* vcxproj: Remove unused config flagsErik de Castro Lopo2016-12-052-4/+4
| | | | | | Specifically, FLAC__NO_SSE_OS and FLAC__SSE_OS. Patch-from: "lvqcl.mail" <lvqcl.mail@gmail.com>
* libFLAC/cpu.c: Whitespace fixesErik de Castro Lopo2016-12-041-4/+4
| | | | Patch-from : lvqcl.mail <lvqcl.mail@gmail.com>
* libFLAC/cpu.c: Remove OS SSE detectionErik de Castro Lopo2016-12-041-166/+0
| | | | | | Assume that all OSes that are usable today support SSE. Patch-from: lvqcl.mail <lvqcl.mail@gmail.com>
* src/share/grabbag/seektable.c: Fix typo inside assertErik de Castro Lopo2016-12-021-1/+1
| | | | Patch-from: "lvqcl.mail" <lvqcl.mail@gmail.com>
* Correct additional 'MEATADATA' typos.Ralph Giles2016-10-281-4/+4
| | | | | | Thanks to Matthew Gregan for the report. Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
* Flac-in-mp4 draft v0.0.3.Ralph Giles2016-10-051-69/+75
| | | | | | Draft updates in response to feedback from Yusuke Nakamura. Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
* Flac-in-mp4 draft v0.0.2.Ralph Giles2016-10-051-165/+164
| | | | | | Draft updates in response to feedback from David Evans. Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
* Flac-in-mp4 draft v0.0.1.Ralph Giles2016-10-051-31/+30
| | | | | | | Draft updates in response to feedback from Timothy B. Terriberry and Jean-Yves Avenard. Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
* Flac-in-mp4 draft v0.0.0.Ralph Giles2016-10-051-0/+662
| | | | | | | | | | | We've been working on a draft spec for encapsulation of FLAC in the ISO Base Media File Format (mp4). This is the initial draft created by Monty Montgomery based on Yusuke Nakamura's Opus-in-mp4 draft. More details at https://bugzilla.mozilla.org/show_bug.cgi?id=1286097 Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
* cpu.c: Really fix compiler warningsErik de Castro Lopo2016-09-121-1/+1
|
* cpu.c: Fix compiler warning on PowerPCErik de Castro Lopo2016-09-111-1/+3
|
* Fix compiler warning from gcc-6.1.1Erik de Castro Lopo2016-09-082-1/+4
|
* stream_decoder: reset has_seek_table before read_metadata_seektable_()Max Kellermann2016-07-141-0/+3
| | | | | | | | | | | | | | | If a seek table has already been read successfully, then the has_seek_table flag is true. Now imagine the file comes with another seek table, which doesn't make sense, but libFLAC accepts it happily. If reading this second seek table fails (for example allocation failure), read_metadata_seektable_() returns false, but the has_seek_table flag is still true. If the calling application happens to ignore this failure, and at some point tries to seek, the process will crash due to NULL pointer dereference. This would sure be an application bug that needs to be fixed, but libFLAC's internal state is inconsistent, so let's fix this up. Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
* stream_decoder: fix memory leak after seek table read errorMax Kellermann2016-07-141-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When read_metadata_seektable_() fails, the has_seek_table flag is never set to true, and thus free() is never called. Example valgrind output: 11,185,464 bytes in 1 blocks are definitely lost in loss record 62 of 62 at 0x4C2BC0F: malloc (vg_replace_malloc.c:299) by 0x4C2DE6F: realloc (vg_replace_malloc.c:785) by 0x40A7880: safe_realloc_ (alloc.h:159) by 0x40A7911: safe_realloc_mul_2op_ (alloc.h:205) by 0x40AB6B5: read_metadata_seektable_ (stream_decoder.c:1654) by 0x40AAB2D: read_metadata_ (stream_decoder.c:1422) by 0x40A9C79: FLAC__stream_decoder_process_until_end_of_metadata (stream_decoder.c:1055) It is easy to craft a FLAC file which leaks megabytes of memory on every attempt to open the file. This patch fixes the problem by removing checks which are unnecessary (and harmful). Checking the has_seek_table flag is not enough, as described above. The NULL check is not harmful, but is not helpful either, because free(NULL) is documented to be legal. After running this code block, we're in a well-known safe state, no matter how inconsistent pointer and flag may have been before, for whatever reasons. Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
* libFLAC: Fix cpuid detecton on old Cyrix CPUsErik de Castro Lopo2016-07-131-0/+1
| | | | | | | | Some old CPUs (eg Cyrix) set EDX but not ECX when executing CPUID. One of the solutions is to clear ECX before calling cpuid. From https://bugzilla.mozilla.org/show_bug.cgi?id=1096651#c9 bug Patch-from: lvqcl <lvqcl.mail@gmail.com>
* libFLAC: Set decoding status if write callback failedErik de Castro Lopo2016-07-132-2/+4
| | | | | | | | Previously, it the write callback failed the error status would be set to `FLAC__STREAM_DECODER_READ_FRAME`. Now it gets set to `FLAC__STREAM_DECODER_WRITE_STATUS_ABORT`. Patch-from: lvqcl <lvqcl.mail@gmail.com>
* libFLAC/metadata_object.c: Clean upErik de Castro Lopo2016-07-101-296/+294
| | | | | * Remove Yoda conditionals. * Drop some un-needed asserts.
* metadata_object.c: Remove un-needed assertsErik de Castro Lopo2016-07-101-4/+0
| | | | | | | | | These asserts were being triggered by AFL (American Fuzzy Lop) and serve seemingly no useful purpose. The are only enabled in debug builds where they abort the program which is otherwise in a safe state. Removing these asserts will potentially allow AFL to turn up other problems elsewhere.
* stream_decoder: fix integer underflow due to malformed wasted_bitsMax Kellermann2016-07-101-0/+2
| | | | | | | | | | | | | | | | | It is pretty easy for a malformed FLAC file to underflow the "bps" variable. In the debug build, this results in an assertion failure in FLAC__bitreader_read_raw_uint32(): FLAC__ASSERT(bits <= 32); In non-debug builds, this simply makes FLAC__bitreader_read_raw_uint32() fail because bitreader_read_from_client_() doesn't find enough buffer space for 2**32-1 bits. But since the failing FLAC_ASSERT() is reasonable, this should be caught in the FLAC__bitreader_read_raw_uint32() caller. Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com> Closes: https://github.com/xiph/flac/pull/13
* stream_decoder: check state==ABORTED after process_single() for seekMax Kellermann2016-07-101-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | FLAC__stream_decoder_process_single() ignores frame_sync_() errors, which means the caller cannot rely solely on the boolean return value, it is also required to check the new "state". After FLAC__stream_decoder_process_until_end_of_metadata(), state==SEARCH_FOR_FRAME_SYNC and last_frame.header.number_type==FRAME_NUMBER. When an application seeks at this time, but an I/O error occurs, then FLAC__stream_decoder_process_single() returns true, but no frame has been read yet, i.e. last_frame.header.number_type is still FRAME_NUMBER. This triggers the assertion in seek_to_absolute_sample_(): FLAC__ASSERT(decoder->private_->last_frame.header.number_type == FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER); So what needs to be done is check for state==ABORTED after the FLAC__stream_decoder_process_single() call. This bug can be triggered remotely with the Music Player Daemon (https://www.musicpd.org/), and crashes the process. Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com> Closes: https://github.com/xiph/flac/pull/12
* flac++.pc.in: Make flac a private requiresErik de Castro Lopo2016-07-091-1/+1
| | | | | | | | | | | | Patch pulled from Debian package. Description: Chain::Status::as_cstring uses FLAC__Metadata_ChainStatusString which is in libFLAC. Since the function is inline, every program calling this function must also link with -lflac, but this is missing in flac++.pc. Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=713645
* libFLAC/cpu.c: Fix dfprintf macro for MSVSErik de Castro Lopo2016-07-011-1/+1
|
* libFLAC/cpu.c: Add parens to avoid compiler warningsErik de Castro Lopo2016-06-281-2/+4
|
* libFLAC/cpu.c: Inline *_disable_avx()Julian Calaby2016-06-281-33/+14
| | | | Also only print out OS AVX status if AVX is actually enabled.
* libFLAC/cpu.c: Move cpu_id_ex into cpu_info_x86()Julian Calaby2016-06-281-16/+5
| | | | | This simplifies the C code without complexifying the preprocessor code.
* libFLAC/cpu.c: Eliminate a branch in cpu_info_x86Julian Calaby2016-06-281-11/+9
| | | | | Inverting all the if statements allows us to move the common code of setting all the registers to zero outside the #if statement.
* libFLAC/cpu.c: Remove a layer of cpp conditionalsJulian Calaby2016-06-281-3/+1
|
* libFLAC/cpu.c: Drop some unnecessary returnsJulian Calaby2016-06-281-4/+0
|
* libFLAC/cpu.c: Get rid of OS_IS_ANDROID functionJulian Calaby2016-06-281-20/+8
|
* libFLAC/cpu.c: Move stdio.h include under DEBUGJulian Calaby2016-06-281-2/+2
|