diff -Nru flac-1.4.2+ds/aclocal.m4 flac-1.4.3+ds1/aclocal.m4 --- flac-1.4.2+ds/aclocal.m4 2022-10-21 17:54:31.056056000 +0000 +++ flac-1.4.3+ds1/aclocal.m4 2023-06-22 08:50:43.197742319 +0000 @@ -1234,7 +1234,6 @@ m4_include([m4/ax_check_compile_flag.m4]) m4_include([m4/ax_check_enable_debug.m4]) m4_include([m4/bswap.m4]) -m4_include([m4/c_attribute.m4]) m4_include([m4/clang.m4]) m4_include([m4/codeset.m4]) m4_include([m4/gcc_version.m4]) diff -Nru flac-1.4.2+ds/AUTHORS flac-1.4.3+ds1/AUTHORS --- flac-1.4.2+ds/AUTHORS 2022-10-21 17:13:30.439764300 +0000 +++ flac-1.4.3+ds1/AUTHORS 2023-06-15 09:52:54.138861224 +0000 @@ -1,6 +1,6 @@ /* FLAC - Free Lossless Audio Codec * Copyright (C) 2001-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This file is part the FLAC project. FLAC is comprised of several * components distributed under different licenses. The codec libraries @@ -27,6 +27,7 @@ Original author: Josh Coalson Maintainer 2012-2020: Erik de Castro Lopo +Maintainer from 2022: Martijn van Beurden Website : https://www.xiph.org/flac/ @@ -57,8 +58,3 @@ "Matt Zimmerman" * Libtool/autoconf/automake make system, flac man page - -"Martijn van Beurden" -* Compression improvements -* Fuzzer improvements and fixes for fuzz findings -* Implementation of 32 bps encoder and decoder diff -Nru flac-1.4.2+ds/CHANGELOG.md flac-1.4.3+ds1/CHANGELOG.md --- flac-1.4.2+ds/CHANGELOG.md 2022-10-21 17:32:48.890770700 +0000 +++ flac-1.4.3+ds1/CHANGELOG.md 2023-06-22 08:50:23.477675478 +0000 @@ -2,6 +2,48 @@ This changelog is not exhaustive, review [the git commit log](https://github.com/xiph/flac/commits) for an exhaustive list of changes. +## FLAC 1.4.3 (23-Jun-2023) + +As there have been additions to the libFLAC interfaces, the libFLAC version number is incremented to 13. The libFLAC++ version number stays at 10. + +* General + * All PowerPC-specific code has been removed, as it turned out those improvements didn't actually improve anything + * Large improvements in encoder speed for all presets. The largest change is for the fastest presets and for 24-bit and 32-bit inputs. + * Small improvement in decoder speed for BMI2-capable CPUs + * Various documentation fixes and cleanups (Mark Grassi, Jake Schmidt) + * Various fixes (Ozkan Sezer, Zhipeng Xue, orbea, Sam James, Harish Mahendrakar) + * Fix building on Universal Windows Platform (Dmitry Kostjučenko) +* flac + * A lot of small fixes for bugs found by fuzzing + * Various improvements to the --keep-foreign-metadata and --keep-foreign-metadata-if-present options on decoding + * The output format (WAV/AIFF/RF64 etc.) is now automatically selected based on what kind of foreign metadata is stored + * Decoded file is checked afterwards, to see whether stored foreign format data agrees with FLAC audio properties + * AIFF-C sowt data can now be restored + * Add --force-legacy-wave-format option, to decode to WAV with WAVEFORMATPCM where WAVE_FORMAT_EXTENSIBLE would be more appropriate + * Add --force-aiff-c-none-format and --force-aiff-c-sowt-format to decode to AIFF-C + * The storage of WAVEFORMATEXTENSIBLE_CHANNEL_MASK is no longer restricted to known channel orderings + * Throw an error when WAV or AIFF files are over 4GiB in length and the --ignore-chunk-sizes option is not set + * Warn on testing files when ID3v2 tags are found + * Warn when data trails the audio data of a WAV/AIFF/RF64/W64 file + * Fix output file not being deleted after error on Windows + * Removal of the --sector--align option +* metaflac + * A lot of small fixes for bugs found by fuzzing + * Added options --append and --data-format, which makes it possible to copy metadata blocks from one FLAC file to another + * Added option --remove-all-tags-except + * Added option --show-all-tags (harridu, Martijn van Beurden) +* libFLAC + * No longer write seektables to Ogg, even when specifically asked for. Seektables in Ogg are not defined + * Add functions FLAC__metadata_object_set_raw and FLAC__metadata_object_get_raw to convert between blob and FLAC__StreamMetadata +* Build system + * Autoconf (configure) + * The option --enable-64-bit-words is now on by default + * CMake + * The option ENABLE_64_BIT_WORDS is now on by default +* Testing/validation + * Fuzzers were added for the flac and metaflac command line tools + * Fuzzer coverage was improved + ## FLAC 1.4.2 (22-Oct-2022) Once again, this release only has a few changes. A problem with FLAC playback in GStreamer (and possibly other libFLAC users) was the reason for the short time since the last release diff -Nru flac-1.4.2+ds/cmake/CheckAttribute.c.in flac-1.4.3+ds1/cmake/CheckAttribute.c.in --- flac-1.4.2+ds/cmake/CheckAttribute.c.in 2022-10-21 17:13:30.599225700 +0000 +++ flac-1.4.3+ds1/cmake/CheckAttribute.c.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -int main (void) -{ - void foo(void) __attribute__ ((@CHECK_ATTRIBUTE@)); - ; - return 0; -} \ No newline at end of file diff -Nru flac-1.4.2+ds/cmake/CheckAttribute.cmake flac-1.4.3+ds1/cmake/CheckAttribute.cmake --- flac-1.4.2+ds/cmake/CheckAttribute.cmake 2022-10-21 17:13:30.608224900 +0000 +++ flac-1.4.3+ds1/cmake/CheckAttribute.cmake 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -macro(_CHECK_ATTRIBUTE ATTRIBUTE VARIABLE) - if(NOT DEFINED HAVE_${VARIABLE}) - message(STATUS "Check for __attribute__ ((${ATTRIBUTE})) ") - set(CHECK_ATTRIBUTE ${ATTRIBUTE}) - configure_file(${PROJECT_SOURCE_DIR}/cmake/CheckAttribute.c.in ${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckAttribute.c @ONLY) - try_compile(HAVE_${VARIABLE} "${PROJECT_BINARY_DIR}" - "${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckAttribute.c") - if(HAVE_${VARIABLE}) - message(STATUS "Check for __attribute__ ((${ATTRIBUTE})) - yes") - set(${VARIABLE} 1 CACHE INTERNAL "Result of CHECK_ATTRIBUTE ${ATTRIBUTE}" FORCE) - else () - message(STATUS "Check for __attribute__ ((${ATTRIBUTE})) - no") - endif() - endif () -endmacro(_CHECK_ATTRIBUTE) - -macro(CHECK_ATTRIBUTE_POWER8 VARIABLE) - _CHECK_ATTRIBUTE("target(\"cpu=power8\")" ${VARIABLE}) -endmacro(CHECK_ATTRIBUTE_POWER8) - -macro(CHECK_ATTRIBUTE_POWER9 VARIABLE) - _CHECK_ATTRIBUTE("target(\"cpu=power9\")" ${VARIABLE}) -endmacro(CHECK_ATTRIBUTE_POWER9) diff -Nru flac-1.4.2+ds/cmake/CheckCPUArch.cmake flac-1.4.3+ds1/cmake/CheckCPUArch.cmake --- flac-1.4.2+ds/cmake/CheckCPUArch.cmake 2022-10-21 17:13:30.627150900 +0000 +++ flac-1.4.3+ds1/cmake/CheckCPUArch.cmake 2023-04-17 09:56:11.538272671 +0000 @@ -22,10 +22,6 @@ _CHECK_CPU_ARCH(x86 "defined(__i386__) || defined(__i486__) || defined(__i586__) || defined(__i686__) ||defined( __i386) || defined(_M_IX86)" ${VARIABLE}) endmacro(CHECK_CPU_ARCH_X86) -macro(CHECK_CPU_ARCH_PPC64 VARIABLE) - _CHECK_CPU_ARCH(ppc64 "defined(__powerpc64__) || defined(__ppc64__) || defined(__PPC64__) ||defined(_ARCH_PPC64)" ${VARIABLE}) -endmacro(CHECK_CPU_ARCH_PPC64) - macro(CHECK_CPU_ARCH_ARM64 VARIABLE) _CHECK_CPU_ARCH(arm64 "defined(__aarch64__) || defined(__arm64__)" ${VARIABLE}) endmacro(CHECK_CPU_ARCH_ARM64) diff -Nru flac-1.4.2+ds/cmake/CheckVSX.c.in flac-1.4.3+ds1/cmake/CheckVSX.c.in --- flac-1.4.2+ds/cmake/CheckVSX.c.in 2022-10-21 17:13:30.637301900 +0000 +++ flac-1.4.3+ds1/cmake/CheckVSX.c.in 1970-01-01 00:00:00.000000000 +0000 @@ -1,6 +0,0 @@ -#include -int main (void) -{ - vector float d = {0.0f,0.0f,0.0f,0.0f}; - vec_doubleh(d); -} \ No newline at end of file diff -Nru flac-1.4.2+ds/cmake/CheckVSX.cmake flac-1.4.3+ds1/cmake/CheckVSX.cmake --- flac-1.4.2+ds/cmake/CheckVSX.cmake 2022-10-21 17:13:30.646396600 +0000 +++ flac-1.4.3+ds1/cmake/CheckVSX.cmake 1970-01-01 00:00:00.000000000 +0000 @@ -1,14 +0,0 @@ -macro(CHECK_VSX VARIABLE) - if(NOT DEFINED HAVE_${VARIABLE}) - message(STATUS "Check whether VSX can be used") - configure_file(${PROJECT_SOURCE_DIR}/cmake/CheckVSX.c.in ${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckVSX.c @ONLY) - try_compile(HAVE_${VARIABLE} "${PROJECT_BINARY_DIR}" - "${PROJECT_BINARY_DIR}/CMakeFiles/CMakeTmp/CheckVSX.c") - if(HAVE_${VARIABLE}) - message(STATUS "Check whether VSX can be used - yes") - set(${VARIABLE} 1 CACHE INTERNAL "Result of CHECK_VSX" FORCE) - else () - message(STATUS "Check whether VSX can be used - no") - endif() - endif () -endmacro(CHECK_VSX) diff -Nru flac-1.4.2+ds/CMakeLists.txt flac-1.4.3+ds1/CMakeLists.txt --- flac-1.4.2+ds/CMakeLists.txt 2022-10-21 17:32:48.911602000 +0000 +++ flac-1.4.3+ds1/CMakeLists.txt 2023-06-22 08:50:23.485675506 +0000 @@ -8,7 +8,7 @@ set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo") endif() -project(FLAC VERSION 1.4.2) # HOMEPAGE_URL "https://www.xiph.org/flac/") +project(FLAC VERSION 1.4.3) # HOMEPAGE_URL "https://www.xiph.org/flac/") list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") @@ -111,8 +111,13 @@ check_include_file("byteswap.h" HAVE_BYTESWAP_H) check_include_file("inttypes.h" HAVE_INTTYPES_H) check_include_file("stdint.h" HAVE_STDINT_H) +check_include_file("stdbool.h" HAVE_STDBOOL_H) check_include_file("arm_neon.h" FLAC__HAS_NEONINTRIN) +if(NOT HAVE_STDINT_H OR NOT HAVE_STDBOOL_H) + message(SEND_ERROR "Header stdint.h and/or stdbool.h not found") +endif() + if(MSVC) check_include_file("intrin.h" FLAC__HAS_X86INTRIN) else() diff -Nru flac-1.4.2+ds/config.cmake.h.in flac-1.4.3+ds1/config.cmake.h.in --- flac-1.4.2+ds/config.cmake.h.in 2022-10-21 17:13:30.681029300 +0000 +++ flac-1.4.3+ds1/config.cmake.h.in 2023-04-17 09:56:11.538272671 +0000 @@ -9,12 +9,6 @@ /* Target processor ARM64 */ #cmakedefine FLAC__CPU_ARM64 -/* Target processor PPC */ -#cmakedefine FLAC__CPU_PPC - -/* Target processor PPC64 */ -#cmakedefine FLAC__CPU_PPC64 - /* Set FLAC__BYTES_PER_WORD to 8 (4 is the default) */ #cmakedefine01 ENABLE_64_BIT_WORDS @@ -28,12 +22,6 @@ #cmakedefine01 OGG_FOUND #define FLAC__HAS_OGG OGG_FOUND -/* define if compiler has __attribute__((target("cpu=power8"))) support */ -#cmakedefine FLAC__HAS_TARGET_POWER8 - -/* define if compiler has __attribute__((target("cpu=power9"))) support */ -#cmakedefine FLAC__HAS_TARGET_POWER9 - /* Set to 1 if is available. */ #cmakedefine01 FLAC__HAS_X86INTRIN @@ -49,18 +37,12 @@ /* define if building for Linux */ #cmakedefine FLAC__SYS_LINUX -/* define to enable use of Altivec instructions */ -#cmakedefine FLAC__USE_ALTIVEC - /* define to enable use of AVX instructions */ #cmakedefine WITH_AVX #ifdef WITH_AVX #define FLAC__USE_AVX #endif -/* define to enable use of VSX instructions */ -#cmakedefine FLAC__USE_VSX - /* Define to the commit date of the current git HEAD */ #cmakedefine GIT_COMMIT_DATE "@GIT_COMMIT_DATE@" diff -Nru flac-1.4.2+ds/config.guess flac-1.4.3+ds1/config.guess --- flac-1.4.2+ds/config.guess 2022-04-18 21:57:51.000000000 +0000 +++ flac-1.4.3+ds1/config.guess 2022-01-31 14:43:17.000000000 +0000 @@ -1,14 +1,14 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2021 Free Software Foundation, Inc. +# Copyright 1992-2022 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2021-06-03' +timestamp='2022-01-09' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -60,7 +60,7 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2021 Free Software Foundation, Inc. +Copyright 1992-2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -437,7 +437,7 @@ # This test works for both compilers. if test "$CC_FOR_BUILD" != no_compiler_found; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH=x86_64 @@ -929,6 +929,9 @@ i*:PW*:*) GUESS=$UNAME_MACHINE-pc-pw32 ;; + *:SerenityOS:*:*) + GUESS=$UNAME_MACHINE-pc-serenity + ;; *:Interix*:*) case $UNAME_MACHINE in x86) @@ -1522,6 +1525,9 @@ i*86:rdos:*:*) GUESS=$UNAME_MACHINE-pc-rdos ;; + i*86:Fiwix:*:*) + GUESS=$UNAME_MACHINE-pc-fiwix + ;; *:AROS:*:*) GUESS=$UNAME_MACHINE-unknown-aros ;; diff -Nru flac-1.4.2+ds/config.h.in flac-1.4.3+ds1/config.h.in --- flac-1.4.2+ds/config.h.in 2022-10-21 17:54:36.031169500 +0000 +++ flac-1.4.3+ds1/config.h.in 2023-06-22 08:50:43.917744760 +0000 @@ -9,7 +9,7 @@ /* Target processor is little endian. */ #undef CPU_IS_LITTLE_ENDIAN -/* Set FLAC__BYTES_PER_WORD to 8 (4 is the default) */ +/* Set FLAC__BYTES_PER_WORD to 8 (this is the default) */ #undef ENABLE_64_BIT_WORDS /* libtool defines DLL_EXPORT for windows dll builds, @@ -31,15 +31,6 @@ /* define if building for ia32/i386 */ #undef FLAC__CPU_IA32 -/* define if building for PowerPC */ -#undef FLAC__CPU_PPC - -/* define if building for PowerPC64 */ -#undef FLAC__CPU_PPC64 - -/* define if building for SPARC */ -#undef FLAC__CPU_SPARC - /* define if building for x86_64 */ #undef FLAC__CPU_X86_64 @@ -55,12 +46,6 @@ /* define if you have pandoc */ #undef FLAC__HAS_PANDOC -/* define if compiler has __attribute__((target("cpu=power8"))) support */ -#undef FLAC__HAS_TARGET_POWER8 - -/* define if compiler has __attribute__((target("cpu=power9"))) support */ -#undef FLAC__HAS_TARGET_POWER9 - /* Set to 1 if is available. */ #undef FLAC__HAS_X86INTRIN @@ -73,15 +58,9 @@ /* define if building for Linux */ #undef FLAC__SYS_LINUX -/* define to enable use of Altivec instructions */ -#undef FLAC__USE_ALTIVEC - /* define to enable use of AVX instructions */ #undef FLAC__USE_AVX -/* define to enable use of VSX instructions */ -#undef FLAC__USE_VSX - /* "Define to the commit date of the current git HEAD" */ #undef GIT_COMMIT_DATE @@ -136,6 +115,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_MINIX_CONFIG_H +/* Define to 1 if you have the header file. */ +#undef HAVE_STDBOOL_H + /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H diff -Nru flac-1.4.2+ds/config.sub flac-1.4.3+ds1/config.sub --- flac-1.4.2+ds/config.sub 2022-04-18 21:57:51.000000000 +0000 +++ flac-1.4.3+ds1/config.sub 2022-01-31 14:43:17.000000000 +0000 @@ -1,14 +1,14 @@ #! /bin/sh # Configuration validation subroutine script. -# Copyright 1992-2021 Free Software Foundation, Inc. +# Copyright 1992-2022 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2021-08-14' +timestamp='2022-01-03' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or +# the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but @@ -76,7 +76,7 @@ version="\ GNU config.sub ($timestamp) -Copyright 1992-2021 Free Software Foundation, Inc. +Copyright 1992-2022 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -1020,6 +1020,11 @@ ;; # Here we normalize CPU types with a missing or matching vendor + armh-unknown | armh-alt) + cpu=armv7l + vendor=alt + basic_os=${basic_os:-linux-gnueabihf} + ;; dpx20-unknown | dpx20-bull) cpu=rs6000 vendor=bull @@ -1121,7 +1126,7 @@ xscale-* | xscalee[bl]-*) cpu=`echo "$cpu" | sed 's/^xscale/arm/'` ;; - arm64-*) + arm64-* | aarch64le-*) cpu=aarch64 ;; @@ -1304,7 +1309,7 @@ if test x$basic_os != x then -# First recognize some ad-hoc caes, or perhaps split kernel-os, or else just +# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just # set os. case $basic_os in gnu/linux*) @@ -1748,7 +1753,8 @@ | skyos* | haiku* | rdos* | toppers* | drops* | es* \ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \ - | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr*) + | nsk* | powerunix* | genode* | zvmoe* | qnx* | emx* | zephyr* \ + | fiwix* ) ;; # This one is extra strict with allowed versions sco3.2v2 | sco3.2v[4-9]* | sco5v6*) diff -Nru flac-1.4.2+ds/configure flac-1.4.3+ds1/configure --- flac-1.4.2+ds/configure 2022-10-21 17:54:33.866888400 +0000 +++ flac-1.4.3+ds1/configure 2023-06-22 08:50:43.581743622 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for flac 1.4.2. +# Generated by GNU Autoconf 2.71 for flac 1.4.3. # # Report bugs to . # @@ -621,8 +621,8 @@ # Identity of this package. PACKAGE_NAME='flac' PACKAGE_TARNAME='flac' -PACKAGE_VERSION='1.4.2' -PACKAGE_STRING='flac 1.4.2' +PACKAGE_VERSION='1.4.3' +PACKAGE_STRING='flac 1.4.3' PACKAGE_BUGREPORT='flac-dev@xiph.org' PACKAGE_URL='https://www.xiph.org/flac/' @@ -704,27 +704,20 @@ FLAC__TEST_LEVEL FLaC__USE_AVX_FALSE FLaC__USE_AVX_TRUE -FLaC__USE_VSX_FALSE -FLaC__USE_VSX_TRUE -FLaC__USE_ALTIVEC_FALSE -FLaC__USE_ALTIVEC_TRUE DEBUG_FALSE DEBUG_TRUE FLaC__SYS_LINUX_FALSE FLaC__SYS_LINUX_TRUE FLaC__SYS_DARWIN_FALSE FLaC__SYS_DARWIN_TRUE +HAVE_WINDRES_FALSE +HAVE_WINDRES_TRUE OS_IS_WINDOWS_FALSE OS_IS_WINDOWS_TRUE +RC OBJ_FORMAT -FLaC__CPU_SPARC_FALSE -FLaC__CPU_SPARC_TRUE FLAC__CPU_ARM64_FALSE FLAC__CPU_ARM64_TRUE -FLaC__CPU_PPC64_FALSE -FLaC__CPU_PPC64_TRUE -FLaC__CPU_PPC_FALSE -FLaC__CPU_PPC_TRUE FLaC__CPU_IA32_FALSE FLaC__CPU_IA32_TRUE FLAC__CPU_X86_64_FALSE @@ -876,8 +869,6 @@ enable_libtool_lock enable_largefile enable_asm_optimizations -enable_altivec -enable_vsx enable_avx enable_thorough_tests enable_exhaustive_tests @@ -1464,7 +1455,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures flac 1.4.2 to adapt to many kinds of systems. +\`configure' configures flac 1.4.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1535,7 +1526,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of flac 1.4.2:";; + short | recursive ) echo "Configuration of flac 1.4.3:";; esac cat <<\_ACEOF @@ -1559,8 +1550,6 @@ --disable-largefile omit support for large files --disable-asm-optimizations Do not use any CPU specific optimization routines - --disable-altivec Disable use of Altivec instructions - --disable-vsx Disable VSX optimizations --disable-avx Disable AVX, AVX2 optimizations. There is runtime detection of CPU features, so disabling is only necessary when a compiler does not know about them @@ -1573,7 +1562,7 @@ Disable GNU GCC stack smash protection --disable-fortify-source Disable _FORTIFY_SOURCE buffer overflow protection - --enable-64-bit-words Set FLAC__BYTES_PER_WORD to 8 (4 is the default) + --disable-64-bit-words Set FLAC__BYTES_PER_WORD to 4 (8 is the default) --enable-valgrind-testing Run all tests inside Valgrind --disable-doxygen-docs Disable API documentation building via Doxygen @@ -1695,7 +1684,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -flac configure 1.4.2 +flac configure 1.4.3 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2307,7 +2296,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by flac $as_me 1.4.2, which was +It was created by flac $as_me 1.4.3, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3798,7 +3787,7 @@ # Define the identity of the package. PACKAGE='flac' - VERSION='1.4.2' + VERSION='1.4.3' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -6601,7 +6590,7 @@ lt_cv_sys_max_cmd_len=-1; ;; - cygwin* | msys* | mingw* | cegcc*) + cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, @@ -6768,7 +6757,7 @@ *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; - *-*-cygwin* | *-*-msys* ) + *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix @@ -6776,12 +6765,12 @@ ;; esac ;; - *-*-cygwin* | *-*-msys* ) + *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; - *-*-cygwin* | *-*-msys* ) + *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix @@ -6849,7 +6838,7 @@ esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in - cygwin* | msys* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | pw32* | cegcc*) if test yes != "$GCC"; then reload_cmds=false fi @@ -7015,7 +7004,7 @@ lt_cv_file_magic_test_file=/shlib/libc.so ;; -cygwin* | msys*) +cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' @@ -7030,7 +7019,7 @@ lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64|coff-arm|coff-arm64|coff-i386|coff-x86-64)' + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; @@ -7103,7 +7092,7 @@ lt_cv_deplibs_check_method=pass_all ;; -netbsd*) +netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else @@ -7342,7 +7331,7 @@ lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in -cygwin* | msys* | mingw* | pw32* | cegcc*) +cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh; # decide which one to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in @@ -7483,7 +7472,7 @@ fi : ${AR=ar} -: ${AR_FLAGS=cru} +: ${AR_FLAGS=cr} @@ -7867,7 +7856,7 @@ aix*) symcode='[BCDT]' ;; -cygwin* | msys* | mingw* | pw32* | cegcc*) +cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) @@ -8007,11 +7996,8 @@ test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then + $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&5 + if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&5 && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" @@ -9306,8 +9292,8 @@ _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cru libconftest.a conftest.o" >&5 - $AR cru libconftest.a conftest.o 2>&5 + echo "$AR cr libconftest.a conftest.o" >&5 + $AR cr libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF @@ -9339,11 +9325,11 @@ # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) + 10.0,*86*-darwin8*|10.0,*-darwin[912]*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 10.[012][,.]*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) + 10.*|11.*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; @@ -9415,7 +9401,7 @@ enable_win32_dll=yes case $host in -*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. set dummy ${ac_tool_prefix}as; ac_word=$2 @@ -10354,7 +10340,7 @@ # PIC is the default for these OSes. ;; - mingw* | cygwin* | msys* | pw32* | os2* | cegcc*) + mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style @@ -10457,7 +10443,7 @@ esac ;; - mingw* | cygwin* | msys* | pw32* | os2* | cegcc*) + mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' @@ -10498,6 +10484,12 @@ lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; + # flang / f18. f95 an alias for gfortran or flang on Debian + flang* | f18* | f95*) + lt_prog_compiler_wl='-Wl,' + lt_prog_compiler_pic='-fPIC' + lt_prog_compiler_static='-static' + ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) @@ -10964,7 +10956,7 @@ extract_expsyms_cmds= case $host_os in - cygwin* | msys* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. @@ -10979,6 +10971,9 @@ openbsd* | bitrig*) with_gnu_ld=no ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs=no + ;; esac ld_shlibs=yes @@ -11079,7 +11074,7 @@ fi ;; - cygwin* | msys* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' @@ -11089,7 +11084,6 @@ enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - file_list_spec='@' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' @@ -11234,7 +11228,7 @@ fi ;; - netbsd*) + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= @@ -11624,7 +11618,7 @@ export_dynamic_flag_spec=-rdynamic ;; - cygwin* | msys* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is @@ -11911,6 +11905,7 @@ if test yes = "$lt_cv_irix_exported_symbol"; then archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi + link_all_deplibs=no else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' @@ -11932,7 +11927,7 @@ esac ;; - netbsd*) + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else @@ -12663,7 +12658,7 @@ # libtool to hard-code these into programs ;; -cygwin* | msys* | mingw* | pw32* | cegcc*) +cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no @@ -12689,9 +12684,9 @@ shlibpath_overrides_runpath=yes case $host_os in - cygwin* | msys*) + cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/msys-/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; @@ -12729,7 +12724,7 @@ # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; - cygwin* | msys*) + cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... @@ -13051,6 +13046,18 @@ dynamic_linker='GNU/Linux ld.so' ;; +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + netbsd*) version_type=sunos need_lib_prefix=no @@ -13434,7 +13441,7 @@ lt_cv_dlopen_libs= ;; - cygwin* | msys*) + cygwin*) lt_cv_dlopen=dlopen lt_cv_dlopen_libs= ;; @@ -15113,7 +15120,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else GXX=no @@ -15411,7 +15418,7 @@ esac ;; - cygwin* | msys* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl*) # Native MSVC @@ -15464,7 +15471,6 @@ allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes - file_list_spec_CXX='@' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' @@ -15610,7 +15616,7 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -15675,7 +15681,7 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -16014,7 +16020,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # FIXME: insert proper C++ library support @@ -16098,7 +16104,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. @@ -16109,7 +16115,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' fi hardcode_libdir_flag_spec_CXX='$wl-R $wl$libdir' @@ -16251,7 +16257,7 @@ for p in `eval "$output_verbose_link_cmd"`; do case $prev$p in - -L* | -R* | -l* | */libclang_rt.*.a) + -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test x-L = "$p" || @@ -16422,7 +16428,7 @@ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; - mingw* | cygwin* | msys* | os2* | pw32* | cegcc*) + mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style @@ -16497,7 +16503,7 @@ ;; esac ;; - mingw* | cygwin* | msys* | os2* | pw32* | cegcc*) + mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic_CXX='-DDLL_EXPORT' @@ -16622,7 +16628,7 @@ ;; esac ;; - netbsd*) + netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise @@ -16991,7 +16997,7 @@ pw32*) export_symbols_cmds_CXX=$ltdll_cmds ;; - cygwin* | msys* | mingw* | cegcc*) + cygwin* | mingw* | cegcc*) case $cc_basename in cl*) exclude_expsyms_CXX='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' @@ -17002,6 +17008,9 @@ ;; esac ;; + linux* | k*bsd*-gnu | gnu*) + link_all_deplibs_CXX=no + ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; @@ -17313,7 +17322,7 @@ # libtool to hard-code these into programs ;; -cygwin* | msys* | mingw* | pw32* | cegcc*) +cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no @@ -17339,9 +17348,9 @@ shlibpath_overrides_runpath=yes case $host_os in - cygwin* | msys*) + cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/msys-/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' + soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext' ;; mingw* | cegcc*) @@ -17378,7 +17387,7 @@ # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; - cygwin* | msys*) + cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... @@ -17699,6 +17708,18 @@ dynamic_linker='GNU/Linux ld.so' ;; +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + netbsd*) version_type=sunos need_lib_prefix=no @@ -18637,6 +18658,12 @@ printf "%s\n" "#define HAVE_STDINT_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "stdbool.h" "ac_cv_header_stdbool_h" "$ac_includes_default" +if test "x$ac_cv_header_stdbool_h" = xyes +then : + printf "%s\n" "#define HAVE_STDBOOL_H 1" >>confdefs.h + +fi ac_fn_c_check_header_compile "$LINENO" "inttypes.h" "ac_cv_header_inttypes_h" "$ac_includes_default" if test "x$ac_cv_header_inttypes_h" = xyes then : @@ -18693,6 +18720,11 @@ fi +if test "x$ac_cv_header_stdint_h" != xyes -o "x$ac_cv_header_stdbool_h" != xyes; then +as_fn_error $? "\"Header stdint.h and/or stdbool.h not found\"" "$LINENO" 5 +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for bswap32 intrinsic" >&5 printf %s "checking for bswap32 intrinsic... " >&6; } if test ${ac_cv_c_bswap32+y} @@ -19125,34 +19157,12 @@ ;; - powerpc64|powerpc64le) - cpu_ppc64=true - cpu_ppc=true - printf "%s\n" "#define FLAC__CPU_PPC 1" >>confdefs.h - - - printf "%s\n" "#define FLAC__CPU_PPC64 1" >>confdefs.h - - - ;; - powerpc|powerpcle) - cpu_ppc=true - printf "%s\n" "#define FLAC__CPU_PPC 1" >>confdefs.h - - - ;; arm64|aarch64) cpu_arm64=true printf "%s\n" "#define FLAC__CPU_ARM64 1" >>confdefs.h ;; - sparc) - cpu_sparc=true - printf "%s\n" "#define FLAC__CPU_SPARC 1" >>confdefs.h - - - ;; esac if test "x$cpu_x86_64" = xtrue; then FLAC__CPU_X86_64_TRUE= @@ -19170,22 +19180,6 @@ FLaC__CPU_IA32_FALSE= fi - if test "x$cpu_ppc" = xtrue; then - FLaC__CPU_PPC_TRUE= - FLaC__CPU_PPC_FALSE='#' -else - FLaC__CPU_PPC_TRUE='#' - FLaC__CPU_PPC_FALSE= -fi - - if test "x$cpu_ppc64" = xtrue; then - FLaC__CPU_PPC64_TRUE= - FLaC__CPU_PPC64_FALSE='#' -else - FLaC__CPU_PPC64_TRUE='#' - FLaC__CPU_PPC64_FALSE= -fi - if test "x$cpu_arm64" = xtrue; then FLAC__CPU_ARM64_TRUE= FLAC__CPU_ARM64_FALSE='#' @@ -19194,14 +19188,6 @@ FLAC__CPU_ARM64_FALSE= fi - if test "x$cpu_sparc" = xtrue; then - FLaC__CPU_SPARC_TRUE= - FLaC__CPU_SPARC_FALSE='#' -else - FLaC__CPU_SPARC_TRUE='#' - FLaC__CPU_SPARC_FALSE= -fi - if test "x$ac_cv_header_x86intrin_h" = xyes -a "x$asm_opt" = xyes; then @@ -19254,136 +19240,122 @@ fi -if test x"$cpu_ppc64" = xtrue -a "x$asm_opt" = xyes ; then +case "$host" in + i386-*-openbsd3.[0-3]) OBJ_FORMAT=aoutb ;; + *-*-cygwin|*mingw*) OBJ_FORMAT=win32 ;; + *-*-darwin*) OBJ_FORMAT=macho ;; + *emx*) OBJ_FORMAT=aout ;; + *djgpp) OBJ_FORMAT=coff ;; + *) OBJ_FORMAT=elf ;; +esac + -as_CACHEVAR=`printf "%s\n" "ax_cv_c_attribute_target("cpu=power8")" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__ ((target(\"cpu=power8\")))" >&5 -printf %s "checking for __attribute__ ((target(\"cpu=power8\")))... " >&6; } -if eval test \${$as_CACHEVAR+y} +os_is_windows=no +case "$host" in + *mingw*) + os_is_windows=yes + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args. +set dummy ${ac_tool_prefix}windres; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_RC+y} then : printf %s "(cached) " >&6 else $as_nop + if test -n "$RC"; then + ac_cv_prog_RC="$RC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_RC="${ac_tool_prefix}windres" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - void foo(void) __attribute__ ((target("cpu=power8"))); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_CACHEVAR=yes" -else $as_nop - eval "$as_CACHEVAR=no" fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -eval ac_res=\$$as_CACHEVAR - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_CACHEVAR"\" = x"yes" -then : - have_cpu_power8=yes -else $as_nop - have_cpu_power8=no +RC=$ac_cv_prog_RC +if test -n "$RC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $RC" >&5 +printf "%s\n" "$RC" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi -if test x"$have_cpu_power8" = xyes ; then - printf "%s\n" "#define FLAC__HAS_TARGET_POWER8 1" >>confdefs.h - fi - -as_CACHEVAR=`printf "%s\n" "ax_cv_c_attribute_target("cpu=power9")" | $as_tr_sh` -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__ ((target(\"cpu=power9\")))" >&5 -printf %s "checking for __attribute__ ((target(\"cpu=power9\")))... " >&6; } -if eval test \${$as_CACHEVAR+y} +if test -z "$ac_cv_prog_RC"; then + ac_ct_RC=$RC + # Extract the first word of "windres", so it can be a program name with args. +set dummy windres; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_ac_ct_RC+y} then : printf %s "(cached) " >&6 else $as_nop + if test -n "$ac_ct_RC"; then + ac_cv_prog_ac_ct_RC="$ac_ct_RC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RC="windres" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - void foo(void) __attribute__ ((target("cpu=power9"))); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - eval "$as_CACHEVAR=yes" -else $as_nop - eval "$as_CACHEVAR=no" fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext fi -eval ac_res=\$$as_CACHEVAR - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -printf "%s\n" "$ac_res" >&6; } -if eval test \"x\$"$as_CACHEVAR"\" = x"yes" -then : - have_cpu_power9=yes -else $as_nop - have_cpu_power9=no -fi - -if test x"$have_cpu_power9" = xyes ; then - printf "%s\n" "#define FLAC__HAS_TARGET_POWER9 1" >>confdefs.h - - -fi - -if test x"$have_cpu_power8" = xyes || test x"$have_cpu_power9" = xyes ; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether altivec.h has vec_doubleh()" >&5 -printf %s "checking whether altivec.h has vec_doubleh()... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main (void) -{ -vector float d = {0.0f,0.0f,0.0f,0.0f}; vec_doubleh(d); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -printf "%s\n" "yes" >&6; } - has_vec_doubleh=true -else $as_nop +ac_ct_RC=$ac_cv_prog_ac_ct_RC +if test -n "$ac_ct_RC"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RC" >&5 +printf "%s\n" "$ac_ct_RC" >&6; } +else { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 printf "%s\n" "no" >&6; } fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -case "$host" in - i386-*-openbsd3.[0-3]) OBJ_FORMAT=aoutb ;; - *-*-cygwin|*mingw*) OBJ_FORMAT=win32 ;; - *-*-darwin*) OBJ_FORMAT=macho ;; - *emx*) OBJ_FORMAT=aout ;; - *djgpp) OBJ_FORMAT=coff ;; - *) OBJ_FORMAT=elf ;; + if test "x$ac_ct_RC" = x; then + RC=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; esac + RC=$ac_ct_RC + fi +else + RC="$ac_cv_prog_RC" +fi - -os_is_windows=no -case "$host" in - *mingw*) - os_is_windows=yes ;; esac @@ -19395,6 +19367,14 @@ OS_IS_WINDOWS_FALSE= fi + if test "x$RC" != "x:"; then + HAVE_WINDRES_TRUE= + HAVE_WINDRES_FALSE='#' +else + HAVE_WINDRES_TRUE='#' + HAVE_WINDRES_FALSE= +fi + case "$host" in *-linux-*) @@ -19442,59 +19422,6 @@ fi -# Check whether --enable-altivec was given. -if test ${enable_altivec+y} -then : - enableval=$enable_altivec; case "${enableval}" in - yes) use_altivec=true ;; - no) use_altivec=false ;; - *) as_fn_error $? "bad value ${enableval} for --enable-altivec" "$LINENO" 5 ;; -esac -else $as_nop - use_altivec=true -fi - - if test "x$use_altivec" = xtrue; then - FLaC__USE_ALTIVEC_TRUE= - FLaC__USE_ALTIVEC_FALSE='#' -else - FLaC__USE_ALTIVEC_TRUE='#' - FLaC__USE_ALTIVEC_FALSE= -fi - -if test "x$use_altivec" = xtrue ; then -printf "%s\n" "#define FLAC__USE_ALTIVEC 1" >>confdefs.h - - -fi - -# Check whether --enable-vsx was given. -if test ${enable_vsx+y} -then : - enableval=$enable_vsx; case "${enableval}" in - yes) use_vsx=true ;; - no) use_vsx=false ;; - *) as_fn_error $? "bad value ${enableval} for --enable-vsx" "$LINENO" 5 ;; -esac -else $as_nop - use_vsx=true -fi - - if test "x$use_vsx" = xtrue; then - FLaC__USE_VSX_TRUE= - FLaC__USE_VSX_FALSE='#' -else - FLaC__USE_VSX_TRUE='#' - FLaC__USE_VSX_FALSE= -fi - -if test "x$use_vsx$has_vec_doubleh" = xtruetrue ; then -printf "%s\n" "#define FLAC__USE_VSX 1" >>confdefs.h - - -asm_optimisation=yes -fi - # Check whether --enable-avx was given. if test ${enable_avx+y} then : @@ -19727,14 +19654,14 @@ enableval=$enable_64_bit_words; fi -if test "x$enable_64_bit_words" = xyes ; then +if test "x$enable_64_bit_words" = xno ; then -printf "%s\n" "#define ENABLE_64_BIT_WORDS 1" >>confdefs.h +printf "%s\n" "#define ENABLE_64_BIT_WORDS 0" >>confdefs.h else - printf "%s\n" "#define ENABLE_64_BIT_WORDS 0" >>confdefs.h + printf "%s\n" "#define ENABLE_64_BIT_WORDS 1" >>confdefs.h - fi +fi # Check whether --enable-valgrind-testing was given. @@ -21452,14 +21379,6 @@ -if test "x${ax_enable_debug}" = "xno" -then : - - CFLAGS="-O3 -funroll-loops $CFLAGS" - CXXFLAGS="-O3 $CXXFLAGS" - -fi - if test "x$ac_cv_c_compiler_gnu" = "xyes" ; then @@ -21482,6 +21401,14 @@ if test x$ac_cv_c_compiler_gnu = xyes -o x$xiph_cv_c_compiler_clang = xyes ; then + if test "x${ax_enable_debug}" = "xno" +then : + + CFLAGS="-O3 -funroll-loops $CFLAGS" + CXXFLAGS="-O3 $CXXFLAGS" + +fi + CFLAGS="$CFLAGS -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -Waggregate-return -Wcast-align -Wnested-externs -Wshadow -Wundef -Wmissing-declarations -Winline " # -Wcast-qual -Wbad-function-cast -Wwrite-strings -Wconversion CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wcast-align -Wshadow -Wwrite-strings -Wctor-dtor-privacy -Wnon-virtual-dtor -Wreorder -Wsign-promo -Wundef " # -Wcast-qual -Wbad-function-cast -Wwrite-strings -Woverloaded-virtual -Wmissing-declarations @@ -22010,7 +21937,7 @@ -ac_config_files="$ac_config_files Makefile src/Makefile src/libFLAC/Makefile src/libFLAC/flac.pc src/libFLAC/include/Makefile src/libFLAC/include/private/Makefile src/libFLAC/include/protected/Makefile src/libFLAC++/Makefile src/libFLAC++/flac++.pc src/flac/Makefile src/metaflac/Makefile src/share/Makefile src/test_grabbag/Makefile src/test_grabbag/cuesheet/Makefile src/test_grabbag/picture/Makefile src/test_libs_common/Makefile src/test_libFLAC/Makefile src/test_libFLAC++/Makefile src/test_seeking/Makefile src/test_streams/Makefile src/utils/Makefile src/utils/flacdiff/Makefile src/utils/flactimer/Makefile examples/Makefile examples/c/Makefile examples/c/decode/Makefile examples/c/decode/file/Makefile examples/c/encode/Makefile examples/c/encode/file/Makefile examples/cpp/Makefile examples/cpp/decode/Makefile examples/cpp/decode/file/Makefile examples/cpp/encode/Makefile examples/cpp/encode/file/Makefile include/Makefile include/FLAC/Makefile include/FLAC++/Makefile include/share/Makefile include/share/grabbag/Makefile include/test_libs_common/Makefile doc/Doxyfile doc/Makefile doc/images/Makefile m4/Makefile man/Makefile test/common.sh test/Makefile test/cuesheets/Makefile test/flac-to-flac-metadata-test-files/Makefile test/metaflac-test-files/Makefile test/pictures/Makefile microbench/Makefile oss-fuzz/Makefile" +ac_config_files="$ac_config_files Makefile src/Makefile src/libFLAC/Makefile src/libFLAC/flac.pc src/libFLAC/include/Makefile src/libFLAC/include/private/Makefile src/libFLAC/include/protected/Makefile src/libFLAC++/Makefile src/libFLAC++/flac++.pc src/flac/Makefile src/metaflac/Makefile src/share/Makefile src/test_grabbag/Makefile src/test_grabbag/cuesheet/Makefile src/test_grabbag/picture/Makefile src/test_libs_common/Makefile src/test_libFLAC/Makefile src/test_libFLAC++/Makefile src/test_seeking/Makefile src/test_streams/Makefile src/utils/Makefile src/utils/flacdiff/Makefile src/utils/flactimer/Makefile examples/Makefile examples/c/Makefile examples/c/decode/Makefile examples/c/decode/file/Makefile examples/c/encode/Makefile examples/c/encode/file/Makefile examples/cpp/Makefile examples/cpp/decode/Makefile examples/cpp/decode/file/Makefile examples/cpp/encode/Makefile examples/cpp/encode/file/Makefile include/Makefile include/FLAC/Makefile include/FLAC++/Makefile include/share/Makefile include/share/grabbag/Makefile include/test_libs_common/Makefile doc/Doxyfile doc/Makefile doc/images/Makefile m4/Makefile man/Makefile test/common.sh test/Makefile test/cuesheets/Makefile test/foreign-metadata-test-files/Makefile test/flac-to-flac-metadata-test-files/Makefile test/metaflac-test-files/Makefile test/pictures/Makefile microbench/Makefile oss-fuzz/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure @@ -22166,26 +22093,18 @@ as_fn_error $? "conditional \"FLaC__CPU_IA32\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${FLaC__CPU_PPC_TRUE}" && test -z "${FLaC__CPU_PPC_FALSE}"; then - as_fn_error $? "conditional \"FLaC__CPU_PPC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${FLaC__CPU_PPC64_TRUE}" && test -z "${FLaC__CPU_PPC64_FALSE}"; then - as_fn_error $? "conditional \"FLaC__CPU_PPC64\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi if test -z "${FLAC__CPU_ARM64_TRUE}" && test -z "${FLAC__CPU_ARM64_FALSE}"; then as_fn_error $? "conditional \"FLAC__CPU_ARM64\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${FLaC__CPU_SPARC_TRUE}" && test -z "${FLaC__CPU_SPARC_FALSE}"; then - as_fn_error $? "conditional \"FLaC__CPU_SPARC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi if test -z "${OS_IS_WINDOWS_TRUE}" && test -z "${OS_IS_WINDOWS_FALSE}"; then as_fn_error $? "conditional \"OS_IS_WINDOWS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${HAVE_WINDRES_TRUE}" && test -z "${HAVE_WINDRES_FALSE}"; then + as_fn_error $? "conditional \"HAVE_WINDRES\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${FLaC__SYS_DARWIN_TRUE}" && test -z "${FLaC__SYS_DARWIN_FALSE}"; then as_fn_error $? "conditional \"FLaC__SYS_DARWIN\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -22198,14 +22117,6 @@ as_fn_error $? "conditional \"DEBUG\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${FLaC__USE_ALTIVEC_TRUE}" && test -z "${FLaC__USE_ALTIVEC_FALSE}"; then - as_fn_error $? "conditional \"FLaC__USE_ALTIVEC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${FLaC__USE_VSX_TRUE}" && test -z "${FLaC__USE_VSX_FALSE}"; then - as_fn_error $? "conditional \"FLaC__USE_VSX\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi if test -z "${FLaC__USE_AVX_TRUE}" && test -z "${FLaC__USE_AVX_FALSE}"; then as_fn_error $? "conditional \"FLaC__USE_AVX\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -22648,7 +22559,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by flac $as_me 1.4.2, which was +This file was extended by flac $as_me 1.4.3, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -22717,7 +22628,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -flac config.status 1.4.2 +flac config.status 1.4.3 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" @@ -23280,6 +23191,7 @@ "test/common.sh") CONFIG_FILES="$CONFIG_FILES test/common.sh" ;; "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;; "test/cuesheets/Makefile") CONFIG_FILES="$CONFIG_FILES test/cuesheets/Makefile" ;; + "test/foreign-metadata-test-files/Makefile") CONFIG_FILES="$CONFIG_FILES test/foreign-metadata-test-files/Makefile" ;; "test/flac-to-flac-metadata-test-files/Makefile") CONFIG_FILES="$CONFIG_FILES test/flac-to-flac-metadata-test-files/Makefile" ;; "test/metaflac-test-files/Makefile") CONFIG_FILES="$CONFIG_FILES test/metaflac-test-files/Makefile" ;; "test/pictures/Makefile") CONFIG_FILES="$CONFIG_FILES test/pictures/Makefile" ;; @@ -23991,7 +23903,6 @@ cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. diff -Nru flac-1.4.2+ds/configure.ac flac-1.4.3+ds1/configure.ac --- flac-1.4.2+ds/configure.ac 2022-10-21 17:32:48.924421100 +0000 +++ flac-1.4.3+ds1/configure.ac 2023-06-22 08:50:23.493675533 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -20,7 +20,7 @@ # instead of FLAC__ since autoconf triggers off 'AC_' in strings AC_PREREQ(2.60) -AC_INIT([flac],[1.4.2],[flac-dev@xiph.org],[flac],[https://www.xiph.org/flac/]) +AC_INIT([flac],[1.4.3],[flac-dev@xiph.org],[flac],[https://www.xiph.org/flac/]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_SRCDIR([src/flac/main.c]) AC_CONFIG_MACRO_DIR([m4]) @@ -53,7 +53,12 @@ AC_C_INLINE AC_C_TYPEOF -AC_CHECK_HEADERS([stdint.h inttypes.h byteswap.h sys/auxv.h sys/param.h sys/ioctl.h termios.h x86intrin.h cpuid.h arm_neon.h]) +AC_CHECK_HEADERS([stdint.h stdbool.h inttypes.h byteswap.h sys/auxv.h sys/param.h sys/ioctl.h termios.h x86intrin.h cpuid.h arm_neon.h]) + +if test "x$ac_cv_header_stdint_h" != xyes -o "x$ac_cv_header_stdbool_h" != xyes; then +AC_MSG_ERROR("Header stdint.h and/or stdbool.h not found") +fi + XIPH_C_BSWAP32 XIPH_C_BSWAP16 @@ -121,36 +126,15 @@ AC_DEFINE(FLAC__CPU_IA32) AH_TEMPLATE(FLAC__CPU_IA32, [define if building for ia32/i386]) ;; - powerpc64|powerpc64le) - cpu_ppc64=true - cpu_ppc=true - AC_DEFINE(FLAC__CPU_PPC) - AH_TEMPLATE(FLAC__CPU_PPC, [define if building for PowerPC]) - AC_DEFINE(FLAC__CPU_PPC64) - AH_TEMPLATE(FLAC__CPU_PPC64, [define if building for PowerPC64]) - ;; - powerpc|powerpcle) - cpu_ppc=true - AC_DEFINE(FLAC__CPU_PPC) - AH_TEMPLATE(FLAC__CPU_PPC, [define if building for PowerPC]) - ;; arm64|aarch64) cpu_arm64=true AC_DEFINE(FLAC__CPU_ARM64) AH_TEMPLATE(FLAC__CPU_ARM64, [define if building for ARM]) ;; - sparc) - cpu_sparc=true - AC_DEFINE(FLAC__CPU_SPARC) - AH_TEMPLATE(FLAC__CPU_SPARC, [define if building for SPARC]) - ;; esac AM_CONDITIONAL(FLAC__CPU_X86_64, test "x$cpu_x86_64" = xtrue) AM_CONDITIONAL(FLaC__CPU_IA32, test "x$cpu_ia32" = xtrue) -AM_CONDITIONAL(FLaC__CPU_PPC, test "x$cpu_ppc" = xtrue) -AM_CONDITIONAL(FLaC__CPU_PPC64, test "x$cpu_ppc64" = xtrue) AM_CONDITIONAL(FLAC__CPU_ARM64, test "x$cpu_arm64" = xtrue) -AM_CONDITIONAL(FLaC__CPU_SPARC, test "x$cpu_sparc" = xtrue) if test "x$ac_cv_header_x86intrin_h" = xyes -a "x$asm_opt" = xyes; then AC_DEFINE([FLAC__HAS_X86INTRIN], 1, [Set to 1 if is available.]) @@ -178,36 +162,6 @@ AC_DEFINE([FLAC__HAS_NEONINTRIN], 0) fi -if test x"$cpu_ppc64" = xtrue -a "x$asm_opt" = xyes ; then - -AC_C_ATTRIBUTE([target("cpu=power8")], - [have_cpu_power8=yes], - [have_cpu_power8=no]) -if test x"$have_cpu_power8" = xyes ; then - AC_DEFINE(FLAC__HAS_TARGET_POWER8) - AH_TEMPLATE(FLAC__HAS_TARGET_POWER8, [define if compiler has __attribute__((target("cpu=power8"))) support]) -fi - -AC_C_ATTRIBUTE([target("cpu=power9")], - [have_cpu_power9=yes], - [have_cpu_power9=no]) -if test x"$have_cpu_power9" = xyes ; then - AC_DEFINE(FLAC__HAS_TARGET_POWER9) - AH_TEMPLATE(FLAC__HAS_TARGET_POWER9, [define if compiler has __attribute__((target("cpu=power9"))) support]) -fi - -if test x"$have_cpu_power8" = xyes || test x"$have_cpu_power9" = xyes ; then - AC_MSG_CHECKING([whether altivec.h has vec_doubleh()]) - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[#include ]], - [[vector float d = {0.0f,0.0f,0.0f,0.0f}; vec_doubleh(d);]])], - [AC_MSG_RESULT([yes]) - has_vec_doubleh=true], - [AC_MSG_RESULT([no])]) -fi - -fi - case "$host" in i386-*-openbsd3.[[0-3]]) OBJ_FORMAT=aoutb ;; *-*-cygwin|*mingw*) OBJ_FORMAT=win32 ;; @@ -222,10 +176,12 @@ case "$host" in *mingw*) os_is_windows=yes + AC_CHECK_TOOL(RC,[windres],[:]) ;; esac AM_CONDITIONAL(OS_IS_WINDOWS, test "x$os_is_windows" = xyes) +AM_CONDITIONAL(HAVE_WINDRES, test "x$RC" != "x:") case "$host" in *-linux-*) @@ -249,33 +205,6 @@ AM_CONDITIONAL([DEBUG], [test "x${ax_enable_debug}" = "xyes" || test "x${ax_enable_debug}" = "xinfo"]) -AC_ARG_ENABLE(altivec, -AS_HELP_STRING([--disable-altivec],[Disable use of Altivec instructions]), -[case "${enableval}" in - yes) use_altivec=true ;; - no) use_altivec=false ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-altivec) ;; -esac],[use_altivec=true]) -AM_CONDITIONAL(FLaC__USE_ALTIVEC, test "x$use_altivec" = xtrue) -if test "x$use_altivec" = xtrue ; then -AC_DEFINE(FLAC__USE_ALTIVEC) -AH_TEMPLATE(FLAC__USE_ALTIVEC, [define to enable use of Altivec instructions]) -fi - -AC_ARG_ENABLE(vsx, -AS_HELP_STRING([--disable-vsx],[Disable VSX optimizations]), -[case "${enableval}" in - yes) use_vsx=true ;; - no) use_vsx=false ;; - *) AC_MSG_ERROR(bad value ${enableval} for --enable-vsx) ;; -esac],[use_vsx=true]) -AM_CONDITIONAL(FLaC__USE_VSX, test "x$use_vsx" = xtrue) -if test "x$use_vsx$has_vec_doubleh" = xtruetrue ; then -AC_DEFINE(FLAC__USE_VSX) -AH_TEMPLATE(FLAC__USE_VSX, [define to enable use of VSX instructions]) -asm_optimisation=yes -fi - AC_ARG_ENABLE(avx, AS_HELP_STRING([--disable-avx],[Disable AVX, AVX2 optimizations. There is runtime detection of CPU features, so disabling is only necessary when a compiler does not know about them]), [case "${enableval}" in @@ -338,12 +267,12 @@ AC_ARG_ENABLE(64-bit-words, - AS_HELP_STRING([--enable-64-bit-words],[Set FLAC__BYTES_PER_WORD to 8 (4 is the default)])) -if test "x$enable_64_bit_words" = xyes ; then - AC_DEFINE_UNQUOTED([ENABLE_64_BIT_WORDS],1,[Set FLAC__BYTES_PER_WORD to 8 (4 is the default)]) + AS_HELP_STRING([--disable-64-bit-words],[Set FLAC__BYTES_PER_WORD to 4 (8 is the default)])) +if test "x$enable_64_bit_words" = xno ; then + AC_DEFINE_UNQUOTED([ENABLE_64_BIT_WORDS],0,[Set FLAC__BYTES_PER_WORD to 8 (this is the default)]) else - AC_DEFINE_UNQUOTED([ENABLE_64_BIT_WORDS],0) - fi + AC_DEFINE_UNQUOTED([ENABLE_64_BIT_WORDS],1) +fi AC_SUBST(ENABLE_64_BIT_WORDS) AC_ARG_ENABLE(valgrind-testing, @@ -465,15 +394,15 @@ AH_TEMPLATE(HAVE_CLOCK_GETTIME, [define if you have clock_gettime])) AC_SUBST(LIB_CLOCK_GETTIME) -dnl Prepend defaults to CFLAGS -AS_IF([test "x${ax_enable_debug}" = "xno"], [ - CFLAGS="-O3 -funroll-loops $CFLAGS" - CXXFLAGS="-O3 $CXXFLAGS" -]) - XIPH_GCC_VERSION dnl Sets a non-zero GCC_XXX_VERSION for gcc, not clang. checks below rely on that.. if test x$ac_cv_c_compiler_gnu = xyes -o x$xiph_cv_c_compiler_clang = xyes ; then + dnl Prepend defaults to CFLAGS for GCC and Clang + AS_IF([test "x${ax_enable_debug}" = "xno"], [ + CFLAGS="-O3 -funroll-loops $CFLAGS" + CXXFLAGS="-O3 $CXXFLAGS" + ]) + CFLAGS="$CFLAGS -Wall -Wextra -Wstrict-prototypes -Wmissing-prototypes -Waggregate-return -Wcast-align -Wnested-externs -Wshadow -Wundef -Wmissing-declarations -Winline " # -Wcast-qual -Wbad-function-cast -Wwrite-strings -Wconversion CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wcast-align -Wshadow -Wwrite-strings -Wctor-dtor-privacy -Wnon-virtual-dtor -Wreorder -Wsign-promo -Wundef " # -Wcast-qual -Wbad-function-cast -Wwrite-strings -Woverloaded-virtual -Wmissing-declarations @@ -634,6 +563,7 @@ test/common.sh \ test/Makefile \ test/cuesheets/Makefile \ + test/foreign-metadata-test-files/Makefile \ test/flac-to-flac-metadata-test-files/Makefile \ test/metaflac-test-files/Makefile \ test/pictures/Makefile \ diff -Nru flac-1.4.2+ds/COPYING.Xiph flac-1.4.3+ds1/COPYING.Xiph --- flac-1.4.2+ds/COPYING.Xiph 2022-10-21 17:13:30.520820700 +0000 +++ flac-1.4.3+ds1/COPYING.Xiph 2023-06-15 09:52:54.138861224 +0000 @@ -1,5 +1,5 @@ Copyright (C) 2000-2009 Josh Coalson -Copyright (C) 2011-2022 Xiph.Org Foundation +Copyright (C) 2011-2023 Xiph.Org Foundation Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/debian/changelog flac-1.4.3+ds1/debian/changelog --- flac-1.4.2+ds/debian/changelog 2022-11-13 00:37:14.000000000 +0000 +++ flac-1.4.3+ds1/debian/changelog 2023-07-19 10:49:42.000000000 +0000 @@ -1,10 +1,31 @@ -flac (1.4.2+ds-2~16.04.sav0) xenial; urgency=medium +flac (1.4.3+ds1-0ubuntu1~16.04.sav0) xenial; urgency=medium * Backport to Xenial - * Revert "debian/copyright: Remove prebuilt manpages as well" + * Revert "debian/copyright: Remove prebuilt manpages as well" (as manpages + are then not available for Ubuntu >= 20.04 i386) and repack as 1.4.3+ds1 + * debian/rules: Change execute_* -> override_* with dh_* invocation * debian/control: Set debhelper-compat (= 10) BD (LP highest for Xenial) - -- Rob Savoury Sat, 12 Nov 2022 16:37:14 -0800 + -- Rob Savoury Wed, 19 Jul 2023 20:49:42 +1000 + +flac (1.4.3+ds-2) unstable; urgency=medium + + [ Adrian Bunk ] + * Don't use pandoc on ports architectures that don't have it. + + -- Fabian Greffrath Mon, 03 Jul 2023 08:43:49 +0200 + +flac (1.4.3+ds-1) unstable; urgency=medium + + [ Martijn van Beurden ] + * Remove some flac building rules (Closes: #1022201). + + [ Fabian Greffrath ] + * New upstream version 1.4.3+ds + * Remove patch applied upstream. + * Update libflac12.symbols file for API additions. + + -- Fabian Greffrath Tue, 27 Jun 2023 12:05:01 +0200 flac (1.4.2+ds-2) unstable; urgency=medium diff -Nru flac-1.4.2+ds/debian/control flac-1.4.3+ds1/debian/control --- flac-1.4.2+ds/debian/control 2022-10-27 18:40:09.000000000 +0000 +++ flac-1.4.3+ds1/debian/control 2023-07-19 10:48:51.000000000 +0000 @@ -10,7 +10,7 @@ Build-Depends: debhelper-compat (= 10), libogg-dev, - pandoc, + pandoc [!arc !kfreebsd-amd64 !kfreebsd-i386 !m68k !powerpc !sh4 !x32], Standards-Version: 4.6.1 Vcs-Git: https://salsa.debian.org/multimedia-team/flac.git Vcs-Browser: https://salsa.debian.org/multimedia-team/flac diff -Nru flac-1.4.2+ds/debian/libflac12.symbols flac-1.4.3+ds1/debian/libflac12.symbols --- flac-1.4.2+ds/debian/libflac12.symbols 2022-10-26 05:37:11.000000000 +0000 +++ flac-1.4.3+ds1/debian/libflac12.symbols 2023-06-27 10:04:07.000000000 +0000 @@ -152,6 +152,7 @@ FLAC__metadata_object_cuesheet_track_new@Base 1.3.0 FLAC__metadata_object_cuesheet_track_resize_indices@Base 1.3.0 FLAC__metadata_object_delete@Base 1.3.0 + FLAC__metadata_object_get_raw@Base 1.4.3 FLAC__metadata_object_is_equal@Base 1.3.0 FLAC__metadata_object_new@Base 1.3.0 FLAC__metadata_object_picture_is_legal@Base 1.3.0 @@ -169,6 +170,7 @@ FLAC__metadata_object_seektable_template_append_spaced_points@Base 1.3.0 FLAC__metadata_object_seektable_template_append_spaced_points_by_samples@Base 1.3.0 FLAC__metadata_object_seektable_template_sort@Base 1.3.0 + FLAC__metadata_object_set_raw@Base 1.4.3 FLAC__metadata_object_vorbiscomment_append_comment@Base 1.3.0 FLAC__metadata_object_vorbiscomment_delete_comment@Base 1.3.0 FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair@Base 1.3.0 diff -Nru flac-1.4.2+ds/debian/patches/0004-Add-force-legacy-wave-format-option-to-flac-command-.patch flac-1.4.3+ds1/debian/patches/0004-Add-force-legacy-wave-format-option-to-flac-command-.patch --- flac-1.4.2+ds/debian/patches/0004-Add-force-legacy-wave-format-option-to-flac-command-.patch 2022-11-11 07:37:29.000000000 +0000 +++ flac-1.4.3+ds1/debian/patches/0004-Add-force-legacy-wave-format-option-to-flac-command-.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,138 +0,0 @@ -From 9ca1e062c24e6f5ce22aca4088dfc6c92d57b7c4 Mon Sep 17 00:00:00 2001 -From: Martijn van Beurden -Date: Fri, 4 Nov 2022 06:54:01 +0100 -Subject: [PATCH 04/22] Add --force-legacy-wave-format option to flac command - line program - ---- - src/flac/decode.c | 8 ++++++-- - src/flac/decode.h | 1 + - src/flac/main.c | 13 +++++++++++++ - 3 files changed, 20 insertions(+), 2 deletions(-) - ---- a/src/flac/decode.c -+++ b/src/flac/decode.c -@@ -44,6 +44,7 @@ typedef struct { - FLAC__bool continue_through_decode_errors; - FLAC__bool channel_map_none; - FLAC__bool relaxed_foreign_metadata_handling; -+ FLAC__bool force_legacy_wave_format; - - struct { - replaygain_synthesis_spec_t spec; -@@ -103,7 +104,7 @@ static FLAC__bool is_big_endian_host_; - /* - * local routines - */ --static FLAC__bool DecoderSession_construct(DecoderSession *d, FLAC__bool is_ogg, FLAC__bool use_first_serial_number, long serial_number, FileFormat format, FLAC__bool treat_warnings_as_errors, FLAC__bool continue_through_decode_errors, FLAC__bool channel_map_none, FLAC__bool relaxed_foreign_metadata_handling, replaygain_synthesis_spec_t replaygain_synthesis_spec, FLAC__bool analysis_mode, analysis_options aopts, utils__SkipUntilSpecification *skip_specification, utils__SkipUntilSpecification *until_specification, utils__CueSpecification *cue_specification, foreign_metadata_t *foreign_metadata, const char *infilename, const char *outfilename); -+static FLAC__bool DecoderSession_construct(DecoderSession *d, FLAC__bool is_ogg, FLAC__bool use_first_serial_number, long serial_number, FileFormat format, FLAC__bool treat_warnings_as_errors, FLAC__bool continue_through_decode_errors, FLAC__bool channel_map_none, FLAC__bool relaxed_foreign_metadata_handling, FLAC__bool force_legacy_wave_format, replaygain_synthesis_spec_t replaygain_synthesis_spec, FLAC__bool analysis_mode, analysis_options aopts, utils__SkipUntilSpecification *skip_specification, utils__SkipUntilSpecification *until_specification, utils__CueSpecification *cue_specification, foreign_metadata_t *foreign_metadata, const char *infilename, const char *outfilename); - static void DecoderSession_destroy(DecoderSession *d, FLAC__bool error_occurred); - static FLAC__bool DecoderSession_init_decoder(DecoderSession *d, const char *infilename); - static FLAC__bool DecoderSession_process(DecoderSession *d); -@@ -166,6 +167,7 @@ int flac__decode_file(const char *infile - options.continue_through_decode_errors, - options.channel_map_none, - options.relaxed_foreign_metadata_handling, -+ options.force_legacy_wave_format, - options.replaygain_synthesis_spec, - analysis_mode, - aopts, -@@ -189,7 +191,7 @@ int flac__decode_file(const char *infile - return DecoderSession_finish_ok(&decoder_session); - } - --FLAC__bool DecoderSession_construct(DecoderSession *d, FLAC__bool is_ogg, FLAC__bool use_first_serial_number, long serial_number, FileFormat format, FLAC__bool treat_warnings_as_errors, FLAC__bool continue_through_decode_errors, FLAC__bool channel_map_none, FLAC__bool relaxed_foreign_metadata_handling, replaygain_synthesis_spec_t replaygain_synthesis_spec, FLAC__bool analysis_mode, analysis_options aopts, utils__SkipUntilSpecification *skip_specification, utils__SkipUntilSpecification *until_specification, utils__CueSpecification *cue_specification, foreign_metadata_t *foreign_metadata, const char *infilename, const char *outfilename) -+FLAC__bool DecoderSession_construct(DecoderSession *d, FLAC__bool is_ogg, FLAC__bool use_first_serial_number, long serial_number, FileFormat format, FLAC__bool treat_warnings_as_errors, FLAC__bool continue_through_decode_errors, FLAC__bool channel_map_none, FLAC__bool relaxed_foreign_metadata_handling, FLAC__bool force_legacy_wave_format, replaygain_synthesis_spec_t replaygain_synthesis_spec, FLAC__bool analysis_mode, analysis_options aopts, utils__SkipUntilSpecification *skip_specification, utils__SkipUntilSpecification *until_specification, utils__CueSpecification *cue_specification, foreign_metadata_t *foreign_metadata, const char *infilename, const char *outfilename) - { - #if FLAC__HAS_OGG - d->is_ogg = is_ogg; -@@ -206,6 +208,7 @@ FLAC__bool DecoderSession_construct(Deco - d->continue_through_decode_errors = continue_through_decode_errors; - d->channel_map_none = channel_map_none; - d->relaxed_foreign_metadata_handling = relaxed_foreign_metadata_handling; -+ d->force_legacy_wave_format = force_legacy_wave_format; - d->replaygain.spec = replaygain_synthesis_spec; - d->replaygain.apply = false; - d->replaygain.scale = 0.0; -@@ -625,6 +628,7 @@ FLAC__bool write_iff_headers(FILE *f, De - "AIFF"; - const FLAC__bool is_waveformatextensible = - (format == FORMAT_WAVE || format == FORMAT_WAVE64 || format == FORMAT_RF64) && -+ !decoder_session->force_legacy_wave_format && - ( - (decoder_session->channel_mask != 0 && decoder_session->channel_mask != 0x0004 && decoder_session->channel_mask != 0x0003) || - (decoder_session->bps != 8 && decoder_session->bps != 16) || ---- a/src/flac/decode.h -+++ b/src/flac/decode.h -@@ -53,6 +53,7 @@ typedef struct { - utils__CueSpecification cue_specification; - FLAC__bool channel_map_none; /* --channel-map=none specified, eventually will expand to take actual channel map */ - FLAC__bool relaxed_foreign_metadata_handling; -+ FLAC__bool force_legacy_wave_format; - - FileFormat format; - union { ---- a/src/flac/main.c -+++ b/src/flac/main.c -@@ -143,6 +143,7 @@ static struct share__option long_options - { "force-aiff-format" , share__no_argument, 0, 0 }, - { "force-rf64-format" , share__no_argument, 0, 0 }, - { "force-wave64-format" , share__no_argument, 0, 0 }, -+ { "force-legacy-wave-format" , share__no_argument, 0, 0 }, - { "lax" , share__no_argument, 0, 0 }, - { "replay-gain" , share__no_argument, 0, 0 }, - { "ignore-chunk-sizes" , share__no_argument, 0, 0 }, -@@ -242,6 +243,7 @@ static struct { - FLAC__bool force_aiff_format; - FLAC__bool force_rf64_format; - FLAC__bool force_wave64_format; -+ FLAC__bool force_legacy_wave_format; - FLAC__bool delete_input; - FLAC__bool preserve_modtime; - FLAC__bool keep_foreign_metadata; -@@ -571,6 +573,7 @@ FLAC__bool init_options(void) - option_values.force_aiff_format = false; - option_values.force_rf64_format = false; - option_values.force_wave64_format = false; -+ option_values.force_legacy_wave_format = false; - option_values.delete_input = false; - option_values.preserve_modtime = true; - option_values.keep_foreign_metadata = false; -@@ -775,6 +778,9 @@ int parse_option(int short_option, const - else if(0 == strcmp(long_option, "force-wave64-format")) { - option_values.force_wave64_format = true; - } -+ else if(0 == strcmp(long_option, "force-legacy-wave-format")) { -+ option_values.force_legacy_wave_format = true; -+ } - else if(0 == strcmp(long_option, "lax")) { - option_values.lax = true; - } -@@ -1317,6 +1323,7 @@ void show_help(void) - printf(" --force-aiff-format Force decoding to AIFF format\n"); - printf(" --force-rf64-format Force decoding to RF64 format\n"); - printf(" --force-wave64-format Force decoding to Wave64 format\n"); -+ printf(" --force-legacy-wave-format Force decoding to legacy wave format\n"); - printf("raw format options:\n"); - printf(" --endian={big|little} Set byte order for samples\n"); - printf(" --channels=# Number of channels\n"); -@@ -1666,6 +1673,11 @@ void show_explain(void) - printf(" set by -o) ends with .w64; this option\n"); - printf(" has no effect when encoding since input Wave64 is\n"); - printf(" auto-detected.\n"); -+ printf(" --force-legacy-wave-format Force the decoder to output to\n"); -+ printf(" WAVE_FORMAT_PCM when WAVE_FORMAT_EXTENSIBLE\n"); -+ printf(" would be appropriate. This is the case for\n"); -+ printf(" audio with 24 or 32 bits per sample or more\n"); -+ printf(" than 2 channels.\n"); - printf("raw format options:\n"); - printf(" --endian={big|little} Set byte order for samples\n"); - printf(" --channels=# Number of channels\n"); -@@ -2159,6 +2171,7 @@ int decode_file(const char *infilename) - decode_options.continue_through_decode_errors = option_values.continue_through_decode_errors; - decode_options.relaxed_foreign_metadata_handling = option_values.keep_foreign_metadata_if_present; - decode_options.replaygain_synthesis_spec = option_values.replaygain_synthesis_spec; -+ decode_options.force_legacy_wave_format = option_values.force_legacy_wave_format; - #if FLAC__HAS_OGG - decode_options.is_ogg = treat_as_ogg; - decode_options.use_first_serial_number = !option_values.has_serial_number; diff -Nru flac-1.4.2+ds/debian/patches/series flac-1.4.3+ds1/debian/patches/series --- flac-1.4.2+ds/debian/patches/series 2022-11-11 07:37:45.000000000 +0000 +++ flac-1.4.3+ds1/debian/patches/series 2023-06-27 09:58:34.000000000 +0000 @@ -1,2 +1 @@ 0001-remove-build-path-from-generated-FLAC.tag-file.patch -0004-Add-force-legacy-wave-format-option-to-flac-command-.patch diff -Nru flac-1.4.2+ds/debian/rules flac-1.4.3+ds1/debian/rules --- flac-1.4.2+ds/debian/rules 2022-10-26 05:37:11.000000000 +0000 +++ flac-1.4.3+ds1/debian/rules 2023-07-19 10:45:18.000000000 +0000 @@ -2,16 +2,6 @@ export DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) -# Enable SSE only on amd64 -ifeq ($(DEB_HOST_ARCH_CPU),amd64) - OPTFLAGS = --disable-altivec --enable-sse -# Enable Altivec only on ppc64 -else ifeq ($(DEB_HOST_ARCH_CPU),ppc64) - OPTFLAGS = --enable-altivec --disable-sse -else - OPTFLAGS = --disable-asm-optimizations --disable-sse --disable-altivec -endif - export DEB_BUILD_MAINT_OPTIONS = hardening=+all %: @@ -31,6 +21,10 @@ override_dh_auto_install-indep: dh_auto_install -i -- -C doc +override_dh_auto_install-arch: + dh_auto_install -a + mkdir -p debian/tmp/usr/share/man + override_dh_auto_test-arch: # drop (fake)root privileges, # but still skip running test suite diff -Nru flac-1.4.2+ds/doc/Doxyfile.in flac-1.4.3+ds1/doc/Doxyfile.in --- flac-1.4.2+ds/doc/Doxyfile.in 2022-10-21 17:32:48.936455400 +0000 +++ flac-1.4.3+ds1/doc/Doxyfile.in 2023-06-22 08:50:23.505675574 +0000 @@ -32,7 +32,7 @@ # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.4.2 +PROJECT_NUMBER = 1.4.3 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer diff -Nru flac-1.4.2+ds/doc/doxygen.footer.html flac-1.4.3+ds1/doc/doxygen.footer.html --- flac-1.4.2+ds/doc/doxygen.footer.html 2022-10-21 17:32:48.638550000 +0000 +++ flac-1.4.3+ds1/doc/doxygen.footer.html 2023-06-15 09:52:54.138861224 +0000 @@ -2,10 +2,10 @@
Copyright (c) 2000-2009 Josh Coalson -Copyright (c) 2011-2022 Xiph.Org Foundation +Copyright (c) 2011-2023 Xiph.Org Foundation - + diff -Nru flac-1.4.2+ds/doc/FLAC.tag flac-1.4.3+ds1/doc/FLAC.tag --- flac-1.4.2+ds/doc/FLAC.tag 2022-10-21 17:57:43.831318200 +0000 +++ flac-1.4.3+ds1/doc/FLAC.tag 1970-01-01 00:00:00.000000000 +0000 @@ -1,13205 +0,0 @@ - - - - decoder.h - /home/m_van/flac-ktmf01/include/FLAC++/ - decoder_8h.html - export.h - FLAC/stream_decoder.h - FLAC::Decoder::Stream - FLAC::Decoder::Stream::State - FLAC::Decoder::File - - - encoder.h - /home/m_van/flac-ktmf01/include/FLAC++/ - encoder_8h.html - export.h - FLAC/stream_encoder.h - decoder.h - metadata.h - FLAC::Encoder::Stream - FLAC::Encoder::Stream::State - FLAC::Encoder::File - - - callback.h - /home/m_van/flac-ktmf01/include/FLAC/ - callback_8h.html - FLAC__IOCallbacks - - void * - FLAC__IOHandle - group__flac__callbacks.html - ga4c329c3168dee6e352384c5e9306260d - - - - size_t(* - FLAC__IOCallback_Read - group__flac__callbacks.html - ga49d95218a6c09b215cd92cc96de71bf9 - )(void *ptr, size_t size, size_t nmemb, FLAC__IOHandle handle) - - - size_t(* - FLAC__IOCallback_Write - group__flac__callbacks.html - gad991792235879aecae289b56a112e1b8 - )(const void *ptr, size_t size, size_t nmemb, FLAC__IOHandle handle) - - - int(* - FLAC__IOCallback_Seek - group__flac__callbacks.html - gab3942bbbd6ae09bcefe7cb3a0060c49c - )(FLAC__IOHandle handle, FLAC__int64 offset, int whence) - - - FLAC__int64(* - FLAC__IOCallback_Tell - group__flac__callbacks.html - ga45314930cabc2e9c04867eae6bca309f - )(FLAC__IOHandle handle) - - - int(* - FLAC__IOCallback_Eof - group__flac__callbacks.html - ga00ae3b3d373e691908e9539ebf720675 - )(FLAC__IOHandle handle) - - - int(* - FLAC__IOCallback_Close - group__flac__callbacks.html - ga0032267fac38220689778833e08f7387 - )(FLAC__IOHandle handle) - - - - export.h - /home/m_van/flac-ktmf01/include/FLAC++/ - FLAC_09_09_2export_8h.html - - #define - FLACPP_API - group__flacpp__export.html - gaec3a801bf18630403eda6dc2f8c4927a - - - - #define - FLACPP_API_VERSION_CURRENT - group__flacpp__export.html - gafc3064beba20c1795d8aaa801b79d3b6 - - - - #define - FLACPP_API_VERSION_REVISION - group__flacpp__export.html - gaebce36e5325dbdcdc1a9e61a44606efe - - - - #define - FLACPP_API_VERSION_AGE - group__flacpp__export.html - ga17d0e89a961696b32c2b11e08663543f - - - - - export.h - /home/m_van/flac-ktmf01/include/FLAC/ - FLAC_2export_8h.html - - #define - FLAC_API - group__flac__export.html - ga56ca07df8a23310707732b1c0007d6f5 - - - - #define - FLAC_API_VERSION_CURRENT - group__flac__export.html - ga31180fe15eea416cd8957cfca1a4c4f8 - - - - #define - FLAC_API_VERSION_REVISION - group__flac__export.html - ga811641dd9f8c542d9260240e7fbe8e93 - - - - #define - FLAC_API_VERSION_AGE - group__flac__export.html - ga1add3e09c8dfd57e8c921f299f0bbec1 - - - - int - FLAC_API_SUPPORTS_OGG_FLAC - group__flac__export.html - ga84ffcb0af1038c60eb3e21fd002093cf - - - - - format.h - /home/m_van/flac-ktmf01/include/FLAC/ - format_8h.html - export.h - FLAC__EntropyCodingMethod_PartitionedRiceContents - FLAC__EntropyCodingMethod_PartitionedRice - FLAC__EntropyCodingMethod - FLAC__Subframe_Constant - FLAC__Subframe_Verbatim - FLAC__Subframe_Fixed - FLAC__Subframe_LPC - FLAC__Subframe - FLAC__FrameHeader - FLAC__FrameFooter - FLAC__Frame - FLAC__StreamMetadata_StreamInfo - FLAC__StreamMetadata_Padding - FLAC__StreamMetadata_Application - FLAC__StreamMetadata_SeekPoint - FLAC__StreamMetadata_SeekTable - FLAC__StreamMetadata_VorbisComment_Entry - FLAC__StreamMetadata_VorbisComment - FLAC__StreamMetadata_CueSheet_Index - FLAC__StreamMetadata_CueSheet_Track - FLAC__StreamMetadata_CueSheet - FLAC__StreamMetadata_Picture - FLAC__StreamMetadata_Unknown - FLAC__StreamMetadata - - #define - FLAC__MAX_METADATA_TYPE_CODE - group__flac__format.html - ga626a412545818c2271fa2202c02ff1d6 - - - - #define - FLAC__MIN_BLOCK_SIZE - group__flac__format.html - gaa5a85c2ea434221ce684be3469517003 - - - - #define - FLAC__MAX_BLOCK_SIZE - group__flac__format.html - gaef78bc1b04f721e7b4563381f5514e8d - - - - #define - FLAC__SUBSET_MAX_BLOCK_SIZE_48000HZ - group__flac__format.html - ga8f6ba2c28fbfcf52326d115c95b0a751 - - - - #define - FLAC__MAX_CHANNELS - group__flac__format.html - ga488aa5678a58d08f984f5d39185b763d - - - - #define - FLAC__MIN_BITS_PER_SAMPLE - group__flac__format.html - ga30b0f21abbb2cdfd461fe04b425b5438 - - - - #define - FLAC__MAX_BITS_PER_SAMPLE - group__flac__format.html - gad0156d56751e80241fa349d1e25064a6 - - - - #define - FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE - group__flac__format.html - ga0fc418d96053d385fd2f56dce8007fbc - - - - #define - FLAC__MAX_SAMPLE_RATE - group__flac__format.html - ga99abeef0c05c6bc76eacfa865abbfa70 - - - - #define - FLAC__MAX_LPC_ORDER - group__flac__format.html - ga16108d413f524329f338cff6e05f3aff - - - - #define - FLAC__SUBSET_MAX_LPC_ORDER_48000HZ - group__flac__format.html - ga9791efa78147196820c86a6041d7774d - - - - #define - FLAC__MIN_QLP_COEFF_PRECISION - group__flac__format.html - gaf52033b2950b9396dd92b167b3bbe4db - - - - #define - FLAC__MAX_QLP_COEFF_PRECISION - group__flac__format.html - ga6aa38a4bc5b9d96a78253ccb8b08bd1f - - - - #define - FLAC__MAX_FIXED_ORDER - group__flac__format.html - gabd0d5d6fe71b337244712b244ae7cb0f - - - - #define - FLAC__MAX_RICE_PARTITION_ORDER - group__flac__format.html - ga78a2e97e230b2aa7f99edc94a466f5bb - - - - #define - FLAC__SUBSET_MAX_RICE_PARTITION_ORDER - group__flac__format.html - gab19dec1b56de482ccfeb5f9843f60a14 - - - - #define - FLAC__STREAM_SYNC_LENGTH - group__flac__format.html - gae7ddaf298d3ceb83aae6301908675c1d - - - - #define - FLAC__STREAM_METADATA_STREAMINFO_LENGTH - group__flac__format.html - ga06dfae7260da40e4c5f8fc4d531b326c - - - - #define - FLAC__STREAM_METADATA_SEEKPOINT_LENGTH - group__flac__format.html - gabdf85aa2c9a483378dfe850b85ab93ef - - - - #define - FLAC__STREAM_METADATA_HEADER_LENGTH - group__flac__format.html - ga706a29b8a14902c457783bfd4fd7bab2 - - - - struct FLAC__StreamMetadata - FLAC__StreamMetadata - group__flac__format.html - ga37ced8d328607ea72b2e51c8ef9e2e58 - - - - - FLAC__EntropyCodingMethodType - group__flac__format.html - ga951733d2ea01943514290012cd622d3a - - - - FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE - group__flac__format.html - gga951733d2ea01943514290012cd622d3aa5253f8b8edc61220739f229a299775dd - - - - FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2 - group__flac__format.html - gga951733d2ea01943514290012cd622d3aa202960a608ee91f9f11c2575b9ecc5aa - - - - - FLAC__SubframeType - group__flac__format.html - ga1f431eaf213e74d7747589932d263348 - - - - FLAC__SUBFRAME_TYPE_CONSTANT - group__flac__format.html - gga1f431eaf213e74d7747589932d263348a9bf56d836aeffb11d614e29ea1cdf2a9 - - - - FLAC__SUBFRAME_TYPE_VERBATIM - group__flac__format.html - gga1f431eaf213e74d7747589932d263348a8520596ef07d6c8577f07025f137657b - - - - FLAC__SUBFRAME_TYPE_FIXED - group__flac__format.html - gga1f431eaf213e74d7747589932d263348a6b3cce73039a513f9afefdc8e4f664a5 - - - - FLAC__SUBFRAME_TYPE_LPC - group__flac__format.html - gga1f431eaf213e74d7747589932d263348a31437462c3e4c3a5a214a91eff8cc3af - - - - - FLAC__VerbatimSubframeDataType - group__flac__format.html - gabf8b5851429eae13f26267bafe7c5d32 - - - - FLAC__VERBATIM_SUBFRAME_DATA_TYPE_INT32 - group__flac__format.html - ggabf8b5851429eae13f26267bafe7c5d32a9c1ed26317d9c2fe252bc92a4d1c6e4a - - - - FLAC__VERBATIM_SUBFRAME_DATA_TYPE_INT64 - group__flac__format.html - ggabf8b5851429eae13f26267bafe7c5d32aaf4bfde2c07ab557250a2bdc63e7ad6a - - - - - FLAC__ChannelAssignment - group__flac__format.html - ga79855f8525672e37f299bbe02952ef9c - - - - FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT - group__flac__format.html - gga79855f8525672e37f299bbe02952ef9ca3c554e4c8512c2de31dfd3305f8b31b3 - - - - FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE - group__flac__format.html - gga79855f8525672e37f299bbe02952ef9ca28d41295b20593561dc9934cc977d5cb - - - - FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE - group__flac__format.html - gga79855f8525672e37f299bbe02952ef9cad155b61582140b2b90362005f1a93e2e - - - - FLAC__CHANNEL_ASSIGNMENT_MID_SIDE - group__flac__format.html - gga79855f8525672e37f299bbe02952ef9ca85c1512c0473b5ede364a9943759a80c - - - - - FLAC__FrameNumberType - group__flac__format.html - ga8fe9ebc78386cd2a3d23b7b8e3818e1c - - - - FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER - group__flac__format.html - gga8fe9ebc78386cd2a3d23b7b8e3818e1ca0b9cbf3853f0ae105cf9b5360164f794 - - - - FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER - group__flac__format.html - gga8fe9ebc78386cd2a3d23b7b8e3818e1ca9220ce93dcc151e5edd5db7e7155b35a - - - - - FLAC__MetadataType - group__flac__format.html - gac71714ba8ddbbd66d26bb78a427fac01 - - - - FLAC__METADATA_TYPE_STREAMINFO - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01acffa517e969ba6a868dcf10e5da75c28 - - - - FLAC__METADATA_TYPE_PADDING - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01a6dcb741fc0aef389580f110e88beb896 - - - - FLAC__METADATA_TYPE_APPLICATION - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01a2b287a22a1ac9440b309127884c8d41b - - - - FLAC__METADATA_TYPE_SEEKTABLE - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01a5f6323e489be1318f0e3747960ebdd91 - - - - FLAC__METADATA_TYPE_VORBIS_COMMENT - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01ad013576bc5196b907547739518605520 - - - - FLAC__METADATA_TYPE_CUESHEET - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01a0b3f07ae60609126562cd0233ce00a65 - - - - FLAC__METADATA_TYPE_PICTURE - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01acf28ae2788366617c1aeab81d5961c6e - - - - FLAC__METADATA_TYPE_UNDEFINED - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01acf6ac61fcc866608f5583c275dc34d47 - - - - FLAC__MAX_METADATA_TYPE - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01a1a2f283a3dd9e7b46181d7a114ec5805 - - - - - FLAC__StreamMetadata_Picture_Type - group__flac__format.html - gaf6d3e836cee023e0b8d897f1fdc9825d - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825dadd6d6af32499b1973e48c9e8f13357ce - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da5eca52e5cfcb718f33f5fce9b1021a49 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825daaf44b9d5fb75dde6941463e5029aa351 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da3e20b405fd4e835ff3a4465b8bcb7c36 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da9ae132f2ee7d3baf35f94a9dc9640f62 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825dad3cb471b7925ae5034d9fd9ecfafb87a - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825dac994edc4166107ab5790e49f0b57ffd9 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da1282e252e20553c39907074052960f42 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da4cead70f8720f180fc220e6df8d55cce - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825dae01a47af0b0c4d89500b755ebca866ce - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_BAND - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da8515523b4c9ab65ffef7db98bc09ceb1 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da5ea1554bc96deb45731bc5897600d1c2 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da86159eda8969514f5992b3e341103f22 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825dac96e810cdd81465709b4a3a03289e89c - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da8cee3bb376ed1044b3a7e20b9c971ff1 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da4d4dc6904984370501865988d948de3f - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da7adc2b194968b51768721de7bda39df9 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_FISH - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825dabbf0d7c519ae8ba8cec7d1f165f67b0f - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da89ba412c9d89c937c28afdab508d047a - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da751716a4528a78a8d53f435c816c4917 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da31d75150a4079482fe122e703eff9141 - - - - FLAC__bool - FLAC__format_sample_rate_is_valid - group__flac__format.html - ga48100669b8e8613f1e226c3925f701a8 - (uint32_t sample_rate) - - - FLAC__bool - FLAC__format_blocksize_is_subset - group__flac__format.html - ga4e71651ff9b90b50480f86050d78c16b - (uint32_t blocksize, uint32_t sample_rate) - - - FLAC__bool - FLAC__format_sample_rate_is_subset - group__flac__format.html - gae048df385980088b4c29c52aa7207306 - (uint32_t sample_rate) - - - FLAC__bool - FLAC__format_vorbiscomment_entry_name_is_legal - group__flac__format.html - gae5fb55cd5977ebf178c5b38da831c057 - (const char *name) - - - FLAC__bool - FLAC__format_vorbiscomment_entry_value_is_legal - group__flac__format.html - ga1a5061a12c836cc2ff3967088afda1c4 - (const FLAC__byte *value, uint32_t length) - - - FLAC__bool - FLAC__format_vorbiscomment_entry_is_legal - group__flac__format.html - ga1439057dbc3f0719309620caaf82c1b1 - (const FLAC__byte *entry, uint32_t length) - - - FLAC__bool - FLAC__format_seektable_is_legal - group__flac__format.html - ga02ed0843553fb8f718fe8e7c54d12244 - (const FLAC__StreamMetadata_SeekTable *seek_table) - - - uint32_t - FLAC__format_seektable_sort - group__flac__format.html - ga2285adb37d91c41b1f9a5c3b1b35e886 - (FLAC__StreamMetadata_SeekTable *seek_table) - - - FLAC__bool - FLAC__format_cuesheet_is_legal - group__flac__format.html - gaa9ed0fa4ed04dbfdaa163d0f5308c080 - (const FLAC__StreamMetadata_CueSheet *cue_sheet, FLAC__bool check_cd_da_subset, const char **violation) - - - FLAC__bool - FLAC__format_picture_is_legal - group__flac__format.html - ga82ca3ffc97c106c61882134f1a7fb1be - (const FLAC__StreamMetadata_Picture *picture, const char **violation) - - - const char * - FLAC__VERSION_STRING - group__flac__format.html - ga52e2616f9a0b94881cd7711c18d62a35 - - - - const char * - FLAC__VENDOR_STRING - group__flac__format.html - gad5cccab0de3adda58914edf3c31fd64f - - - - const FLAC__byte - FLAC__STREAM_SYNC_STRING - group__flac__format.html - ga3f275a3a6056e0d53df3b72b03adde4b - [4] - - - const uint32_t - FLAC__STREAM_SYNC - group__flac__format.html - gaf836406a1f4c1b37ef6e4023f65c127f - - - - const uint32_t - FLAC__STREAM_SYNC_LEN - group__flac__format.html - gaa95eb3cb07b7d503de94521a155af6bc - - - - const char *const - FLAC__EntropyCodingMethodTypeString - group__flac__format.html - ga41603ac35eed8c77c2f2e0b12067d88a - [] - - - const uint32_t - FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN - group__flac__format.html - ga12fe0569d6d11d6e6ba8d3342196ccc6 - - - - const uint32_t - FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN - group__flac__format.html - ga0c00e7f349eabc3d25dab7223cc5af15 - - - - const uint32_t - FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN - group__flac__format.html - ga6d5cfd610e45402ac02d5786bda8a755 - - - - const uint32_t - FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN - group__flac__format.html - ga7aed9c761b806bfd787c077da0ab9a07 - - - - const uint32_t - FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER - group__flac__format.html - ga80fb6cc2fb05edcea2a7e3ae004096a9 - - - - const uint32_t - FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER - group__flac__format.html - ga12e2bed2777e9beb187498ca116bcb0a - - - - const uint32_t - FLAC__ENTROPY_CODING_METHOD_TYPE_LEN - group__flac__format.html - ga18e9f8910a79bebe138a76a1a923076f - - - - const char *const - FLAC__SubframeTypeString - group__flac__format.html - ga78d78f45f123cfbb50cebd61b96097df - [] - - - const uint32_t - FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN - group__flac__format.html - ga303c4e38674249f42ec8735354622463 - - - - const uint32_t - FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN - group__flac__format.html - ga918e00beab5d7826e37b6397520df4c8 - - - - const uint32_t - FLAC__SUBFRAME_ZERO_PAD_LEN - group__flac__format.html - ga8f4ad64ca91dd750a38b5c2d30838fdc - - - - const uint32_t - FLAC__SUBFRAME_TYPE_LEN - group__flac__format.html - ga65c51d6c43f33179072d7225768e14a2 - - - - const uint32_t - FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN - group__flac__format.html - gaf2e0e7e4f28e357646ad7e5dfcc90f2c - - - - const uint32_t - FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK - group__flac__format.html - gacb235be931ef14cee71ad37bc1924667 - - - - const uint32_t - FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK - group__flac__format.html - ga93b8d9b7b76ff5cefa8ce8965a9dca9c - - - - const uint32_t - FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK - group__flac__format.html - gac7884342f77d4f16f1921a0cc7a2d3ef - - - - const uint32_t - FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK - group__flac__format.html - ga5c1baa1525de2749f74c174fad422266 - - - - const char *const - FLAC__ChannelAssignmentString - group__flac__format.html - gab1a1d3929a4e5a5aff2c15010742aa21 - [] - - - const char *const - FLAC__FrameNumberTypeString - group__flac__format.html - ga931a0e63c0f2b31fab801e1dd693fa4e - [] - - - const uint32_t - FLAC__FRAME_HEADER_SYNC - group__flac__format.html - ga7af18147ae3a5bb75136843f6e271a4d - - - - const uint32_t - FLAC__FRAME_HEADER_SYNC_LEN - group__flac__format.html - gab3821624c367fac8d994d0ab43229c13 - - - - const uint32_t - FLAC__FRAME_HEADER_RESERVED_LEN - group__flac__format.html - gaed36cf061a5112a72d33b5fdb2941cf4 - - - - const uint32_t - FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN - group__flac__format.html - ga73711753949d786e168222b2cf9502dd - - - - const uint32_t - FLAC__FRAME_HEADER_BLOCK_SIZE_LEN - group__flac__format.html - gaf9b185ee73ab9166498aa087f506c895 - - - - const uint32_t - FLAC__FRAME_HEADER_SAMPLE_RATE_LEN - group__flac__format.html - ga8c686e8933c321c9d386db6a6f0d5f70 - - - - const uint32_t - FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN - group__flac__format.html - ga8d2909446c32443619b9967188a07fb7 - - - - const uint32_t - FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN - group__flac__format.html - ga47f63b74fff6e3396d6203d1022062be - - - - const uint32_t - FLAC__FRAME_HEADER_ZERO_PAD_LEN - group__flac__format.html - ga3d73f3519e9ec387c1cf5d54bdfb022f - - - - const uint32_t - FLAC__FRAME_HEADER_CRC_LEN - group__flac__format.html - gac0478a55947c6fb97f53f6a9222a0952 - - - - const uint32_t - FLAC__FRAME_FOOTER_CRC_LEN - group__flac__format.html - ga3e74578ca10d5a2a80766040443665f3 - - - - const char *const - FLAC__MetadataTypeString - group__flac__format.html - gaa9ad23f06a579d1110d61d54c8c999f0 - [] - - - const uint32_t - FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN - group__flac__format.html - ga08f9ac0cd9e3fe8db67a16c011b1c9f0 - - - - const uint32_t - FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN - group__flac__format.html - ga60a3c8fc22960cec9adb6e22b866d61c - - - - const uint32_t - FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN - group__flac__format.html - gaab054a54f7725f6fc250321f245e1f9d - - - - const uint32_t - FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN - group__flac__format.html - gafb35eac8504f1903654cb28f924c5c22 - - - - const uint32_t - FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN - group__flac__format.html - gaac031487db3e1961cb5d48f0ce5107b8 - - - - const uint32_t - FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN - group__flac__format.html - gab7c3111fe0e73ac3b323ba881d02a8b1 - - - - const uint32_t - FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN - group__flac__format.html - gaae73b50a208bc0b9479b56b5be546f69 - - - - const uint32_t - FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN - group__flac__format.html - ga0d6496e976945999313c9029dba46b2b - - - - const uint32_t - FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN - group__flac__format.html - ga651ba492225f315a70286eccd3c3184b - - - - const uint32_t - FLAC__STREAM_METADATA_APPLICATION_ID_LEN - group__flac__format.html - ga8040c7fa72cfc55c74e43d620e64a805 - - - - const uint32_t - FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN - group__flac__format.html - ga9e95bd97ef2fa28b1d5bbd3917160f9d - - - - const uint32_t - FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN - group__flac__format.html - gaaa177c78a35cdd323845928326274f63 - - - - const uint32_t - FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN - group__flac__format.html - ga62341e0615038b3eade3c7691f410cca - - - - const FLAC__uint64 - FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER - group__flac__format.html - gad5d58774aea926635e6841c411d60566 - - - - const uint32_t - FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN - group__flac__format.html - ga7ff8c3f4693944031b9ac8ff99093df6 - - - - const uint32_t - FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN - group__flac__format.html - ga2019f140758b10d086e438e43a257036 - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN - group__flac__format.html - gab448a7b0ee7c06c6fa23155d29c37ccb - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN - group__flac__format.html - ga9d3b4268a36fa8a5d5f8cf2ee704ceb2 - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN - group__flac__format.html - ga978b9c0ec4220d22a6bd4aab75fb9949 - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN - group__flac__format.html - gad09fd65eb06250d671d05eb8e999cc89 - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN - group__flac__format.html - gac4fb0980ac6a409916e4122ba25ae8fd - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN - group__flac__format.html - ga76dc2c2ae2385f2ab0752f16f7f9d4c1 - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN - group__flac__format.html - gaf7f2927d240eeab1214a88bceb5deae6 - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN - group__flac__format.html - ga715d4e09605238e3b40afdbdaf4717b7 - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN - group__flac__format.html - ga06b1d7142a95fa837eff737ee8f825be - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN - group__flac__format.html - ga4b4231131e11b216e34e49d12f210363 - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN - group__flac__format.html - gaae2030a18d8421dc476ff18c95f773d7 - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN - group__flac__format.html - ga397890e4c43ca950d2236250d69a92f7 - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN - group__flac__format.html - ga285c570708526c7ebcb742c982e5d5fd - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN - group__flac__format.html - gacb9458a79b7d214e8758cc5ad4e2b18a - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN - group__flac__format.html - gaa30d6a1d38397b4851add1bb2a6d145c - - - - const char *const - FLAC__StreamMetadata_Picture_TypeString - group__flac__format.html - ga2d27672452696cb97fd39db1cf43486b - [] - - - const uint32_t - FLAC__STREAM_METADATA_PICTURE_TYPE_LEN - group__flac__format.html - ga9a91512adcf0f8293c0a8793ce8b246c - - - - const uint32_t - FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN - group__flac__format.html - ga5186600f0920191cb61e55b2c7628287 - - - - const uint32_t - FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN - group__flac__format.html - ga6d71497d949952f8d8b16f482ebcf555 - - - - const uint32_t - FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN - group__flac__format.html - ga2819d0e2a032fd5947a1259e40b5f52a - - - - const uint32_t - FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN - group__flac__format.html - gaf537b699909721adca031b6e3826ce22 - - - - const uint32_t - FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN - group__flac__format.html - ga553826edf5d175f81f162e3049c386ea - - - - const uint32_t - FLAC__STREAM_METADATA_PICTURE_COLORS_LEN - group__flac__format.html - ga3f810c75aad1f5a0c9d1d85c56998b5b - - - - const uint32_t - FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN - group__flac__format.html - gafd1dd421206189d123f644ff3717cb12 - - - - const uint32_t - FLAC__STREAM_METADATA_IS_LAST_LEN - group__flac__format.html - gaa51331191b62fb15793b0a35ea8821e1 - - - - const uint32_t - FLAC__STREAM_METADATA_TYPE_LEN - group__flac__format.html - gaec6fd2f0de2c3f88b7bb0449d178043c - - - - const uint32_t - FLAC__STREAM_METADATA_LENGTH_LEN - group__flac__format.html - ga90cbf669f1c3400813ee4ecdd3462ca3 - - - - - metadata.h - /home/m_van/flac-ktmf01/include/FLAC++/ - FLAC_09_09_2metadata_8h.html - export.h - FLAC/metadata.h - FLAC::Metadata::Prototype - FLAC::Metadata::StreamInfo - FLAC::Metadata::Padding - FLAC::Metadata::Application - FLAC::Metadata::SeekTable - FLAC::Metadata::VorbisComment - FLAC::Metadata::VorbisComment::Entry - FLAC::Metadata::CueSheet - FLAC::Metadata::CueSheet::Track - FLAC::Metadata::Picture - FLAC::Metadata::Unknown - FLAC::Metadata::SimpleIterator - FLAC::Metadata::SimpleIterator::Status - FLAC::Metadata::Chain - FLAC::Metadata::Chain::Status - FLAC::Metadata::Iterator - - Prototype * - construct_block - group__flacpp__metadata__level2.html - ga71382f9536987249f089c8702e5b8233 - (::FLAC__StreamMetadata *object) - - - Prototype * - clone - group__flacpp__metadata__object.html - gaa30b76bf93ffc9b031d47e8dd51add30 - (const Prototype *) - - - bool - get_streaminfo - group__flacpp__metadata__level0.html - ga8fa8da652f33edeb4dabb4ce39fda04b - (const char *filename, StreamInfo &streaminfo) - - - bool - get_tags - group__flacpp__metadata__level0.html - ga533a71ba745ca03068523a4a45fb0329 - (const char *filename, VorbisComment *&tags) - - - bool - get_tags - group__flacpp__metadata__level0.html - ga85166e6206f3d5635684de4257f2b00e - (const char *filename, VorbisComment &tags) - - - bool - get_cuesheet - group__flacpp__metadata__level0.html - ga4fad03d91f22d78acf35dd2f35df9ac7 - (const char *filename, CueSheet *&cuesheet) - - - bool - get_cuesheet - group__flacpp__metadata__level0.html - gaea8f05f89e36af143d73b4280f05cc0e - (const char *filename, CueSheet &cuesheet) - - - bool - get_picture - group__flacpp__metadata__level0.html - gaa44df95da4d3abc459fdc526a0d54a55 - (const char *filename, Picture *&picture, ::FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, uint32_t max_width, uint32_t max_height, uint32_t max_depth, uint32_t max_colors) - - - bool - get_picture - group__flacpp__metadata__level0.html - gaa6aea22f1ebeb671db19b73277babdea - (const char *filename, Picture &picture, ::FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, uint32_t max_width, uint32_t max_height, uint32_t max_depth, uint32_t max_colors) - - - - metadata.h - /home/m_van/flac-ktmf01/include/FLAC/ - FLAC_2metadata_8h.html - export.h - callback.h - format.h - - struct FLAC__Metadata_SimpleIterator - FLAC__Metadata_SimpleIterator - group__flac__metadata__level1.html - ga6accccddbb867dfc2eece9ee3ffecb3a - - - - struct FLAC__Metadata_Chain - FLAC__Metadata_Chain - group__flac__metadata__level2.html - gaec6993c60b88f222a52af86f8f47bfdf - - - - struct FLAC__Metadata_Iterator - FLAC__Metadata_Iterator - group__flac__metadata__level2.html - ga9f3e135a07cdef7e51597646aa7b89b2 - - - - - FLAC__Metadata_SimpleIteratorStatus - group__flac__metadata__level1.html - gac926e7d2773a05066115cac9048bbec9 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a33aadd73194c0d7e307d643237e0ddcd - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a0a3933cb38c8957a8d5c3d1afb4766f9 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a20e835bbb74b4d039e598617f68d2af6 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_A_FLAC_FILE - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a7785f77a612be8956fbe7cab73497220 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9af055d8c0c663e72134fe2db8037b6880 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a14c897124887858109200723826f85b7 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a088df964f0852dd7e19304e920c3ee8e - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a2ad85a32e291d1e918692d68cc22fd40 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9ac2337299c2347ca311caeaa7d71d857c - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_RENAME_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a2e073843fa99419d76a0b210da96ceb6 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a4f855433038c576da127fc1de9d18f9b - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9aa8386ed0a20d7e91b0022d203ec3cdec - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_INTERNAL_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a9d821ae65a1c5de619daa88c850906df - - - - - FLAC__Metadata_ChainStatus - group__flac__metadata__level2.html - gafe2a924893b0800b020bea8160fd4531 - - - - FLAC__METADATA_CHAIN_STATUS_OK - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a293be942ec54576f2b3c73613af968e9 - - - - FLAC__METADATA_CHAIN_STATUS_ILLEGAL_INPUT - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a1be9400982f411173af46bf0c3acbdc7 - - - - FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a43d2741a650576052fa3615d8cd64d86 - - - - FLAC__METADATA_CHAIN_STATUS_NOT_A_FLAC_FILE - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a99748a4b12ed10f9368375cc8deeb143 - - - - FLAC__METADATA_CHAIN_STATUS_NOT_WRITABLE - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531ac469c6543ebb117e99064572c16672d4 - - - - FLAC__METADATA_CHAIN_STATUS_BAD_METADATA - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a8efd2c76dc06308eb6eba59e1bc6300b - - - - FLAC__METADATA_CHAIN_STATUS_READ_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a0525de5fb5d8aeeb4e848e33a8d503c6 - - - - FLAC__METADATA_CHAIN_STATUS_SEEK_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a5814bc26bcf92143198b8e7f028f43a2 - - - - FLAC__METADATA_CHAIN_STATUS_WRITE_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a66460c735e4745788b40889329e8489f - - - - FLAC__METADATA_CHAIN_STATUS_RENAME_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531af4ecf22bc3e5adf78a9c765f856efb0d - - - - FLAC__METADATA_CHAIN_STATUS_UNLINK_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a1cd3138ed493f6a0f5b95fb8481edd1e - - - - FLAC__METADATA_CHAIN_STATUS_MEMORY_ALLOCATION_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531ab12ec938f7556a163c609194ee0aede0 - - - - FLAC__METADATA_CHAIN_STATUS_INTERNAL_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a36b9bcf93da8e0f111738a65eab36e9d - - - - FLAC__METADATA_CHAIN_STATUS_INVALID_CALLBACKS - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531ab8a6aa5f115db3f07ad2ed4adbcbe060 - - - - FLAC__METADATA_CHAIN_STATUS_READ_WRITE_MISMATCH - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a0d9e64ad6514c88b8ea9e9171c42ec9a - - - - FLAC__METADATA_CHAIN_STATUS_WRONG_WRITE_CALL - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531af86670707345e2d02cc84aec059459d0 - - - - FLAC__bool - FLAC__metadata_get_streaminfo - group__flac__metadata__level0.html - ga804b42d9da714199b4b383ce51078d51 - (const char *filename, FLAC__StreamMetadata *streaminfo) - - - FLAC__bool - FLAC__metadata_get_tags - group__flac__metadata__level0.html - ga1626af09cd39d4fa37d5b46ebe3790fd - (const char *filename, FLAC__StreamMetadata **tags) - - - FLAC__bool - FLAC__metadata_get_cuesheet - group__flac__metadata__level0.html - ga0f47949dca514506718276205a4fae0b - (const char *filename, FLAC__StreamMetadata **cuesheet) - - - FLAC__bool - FLAC__metadata_get_picture - group__flac__metadata__level0.html - gab9f69e48c5a33cacb924d13986bfb852 - (const char *filename, FLAC__StreamMetadata **picture, FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, uint32_t max_width, uint32_t max_height, uint32_t max_depth, uint32_t max_colors) - - - FLAC__Metadata_SimpleIterator * - FLAC__metadata_simple_iterator_new - group__flac__metadata__level1.html - ga9b2ea79894c7e5df712e0ca7d4e0e56d - (void) - - - void - FLAC__metadata_simple_iterator_delete - group__flac__metadata__level1.html - ga4619be06f51429fea71e5b98900cec3e - (FLAC__Metadata_SimpleIterator *iterator) - - - FLAC__Metadata_SimpleIteratorStatus - FLAC__metadata_simple_iterator_status - group__flac__metadata__level1.html - gae8fd236fe6049c61f7f3b4a6ecbcd240 - (FLAC__Metadata_SimpleIterator *iterator) - - - FLAC__bool - FLAC__metadata_simple_iterator_init - group__flac__metadata__level1.html - gaba8daf276fd7da863a2522ac050125fd - (FLAC__Metadata_SimpleIterator *iterator, const char *filename, FLAC__bool read_only, FLAC__bool preserve_file_stats) - - - FLAC__bool - FLAC__metadata_simple_iterator_is_writable - group__flac__metadata__level1.html - ga5150ecd8668c610f79192a2838667790 - (const FLAC__Metadata_SimpleIterator *iterator) - - - FLAC__bool - FLAC__metadata_simple_iterator_next - group__flac__metadata__level1.html - gabb7de0a1067efae353e0792dc6e51905 - (FLAC__Metadata_SimpleIterator *iterator) - - - FLAC__bool - FLAC__metadata_simple_iterator_prev - group__flac__metadata__level1.html - ga6db5313b31120b28e210ae721d6525a8 - (FLAC__Metadata_SimpleIterator *iterator) - - - FLAC__bool - FLAC__metadata_simple_iterator_is_last - group__flac__metadata__level1.html - ga9eb215059840960de69aa84469ba954f - (const FLAC__Metadata_SimpleIterator *iterator) - - - off_t - FLAC__metadata_simple_iterator_get_block_offset - group__flac__metadata__level1.html - gade0a61723420daeb4bc226713671c6f0 - (const FLAC__Metadata_SimpleIterator *iterator) - - - FLAC__MetadataType - FLAC__metadata_simple_iterator_get_block_type - group__flac__metadata__level1.html - ga17b61d17e83432913abf4334d6e0c073 - (const FLAC__Metadata_SimpleIterator *iterator) - - - uint32_t - FLAC__metadata_simple_iterator_get_block_length - group__flac__metadata__level1.html - gaf29b9a7f2e2c762756c1444e55a119fa - (const FLAC__Metadata_SimpleIterator *iterator) - - - FLAC__bool - FLAC__metadata_simple_iterator_get_application_id - group__flac__metadata__level1.html - gad4fea2d7d98d16e75e6d8260f690a5dc - (FLAC__Metadata_SimpleIterator *iterator, FLAC__byte *id) - - - FLAC__StreamMetadata * - FLAC__metadata_simple_iterator_get_block - group__flac__metadata__level1.html - ga6c2a2f978e61dc6634d2c991c58174cf - (FLAC__Metadata_SimpleIterator *iterator) - - - FLAC__bool - FLAC__metadata_simple_iterator_set_block - group__flac__metadata__level1.html - gae1dd863561606658f88c492682de7b80 - (FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding) - - - FLAC__bool - FLAC__metadata_simple_iterator_insert_block_after - group__flac__metadata__level1.html - ga7a0c00e93bb37324a20926e92e604102 - (FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding) - - - FLAC__bool - FLAC__metadata_simple_iterator_delete_block - group__flac__metadata__level1.html - gac3116c8e6e7f59914ae22c0c4c6b0a23 - (FLAC__Metadata_SimpleIterator *iterator, FLAC__bool use_padding) - - - FLAC__Metadata_Chain * - FLAC__metadata_chain_new - group__flac__metadata__level2.html - ga04c441b6c2bec6db0b7a1998cd10846c - (void) - - - void - FLAC__metadata_chain_delete - group__flac__metadata__level2.html - ga46b6c67f30db2955798dfb5556f63aa3 - (FLAC__Metadata_Chain *chain) - - - FLAC__Metadata_ChainStatus - FLAC__metadata_chain_status - group__flac__metadata__level2.html - ga8e74773f8ca2bb2bc0b56a65ca0299f4 - (FLAC__Metadata_Chain *chain) - - - FLAC__bool - FLAC__metadata_chain_read - group__flac__metadata__level2.html - ga5a4f2056c30f78af5a79f6b64d5bfdcd - (FLAC__Metadata_Chain *chain, const char *filename) - - - FLAC__bool - FLAC__metadata_chain_read_ogg - group__flac__metadata__level2.html - ga3995010aab28a483ad9905669e5c4954 - (FLAC__Metadata_Chain *chain, const char *filename) - - - FLAC__bool - FLAC__metadata_chain_read_with_callbacks - group__flac__metadata__level2.html - ga595f55b611ed588d4d55a9b2eb9d2add - (FLAC__Metadata_Chain *chain, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks) - - - FLAC__bool - FLAC__metadata_chain_read_ogg_with_callbacks - group__flac__metadata__level2.html - gaccc2f991722682d3c31d36f51985066c - (FLAC__Metadata_Chain *chain, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks) - - - FLAC__bool - FLAC__metadata_chain_check_if_tempfile_needed - group__flac__metadata__level2.html - ga46602f64d423cfe5d5f8a4155f8a97e2 - (FLAC__Metadata_Chain *chain, FLAC__bool use_padding) - - - FLAC__bool - FLAC__metadata_chain_write - group__flac__metadata__level2.html - ga46bf9cf7d426078101b9297ba80bb835 - (FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__bool preserve_file_stats) - - - FLAC__bool - FLAC__metadata_chain_write_with_callbacks - group__flac__metadata__level2.html - ga70532b3705294dc891d8db649a4d4843 - (FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks) - - - FLAC__bool - FLAC__metadata_chain_write_with_callbacks_and_tempfile - group__flac__metadata__level2.html - ga72facaa621e8d798036a4a7da3643e41 - (FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks, FLAC__IOHandle temp_handle, FLAC__IOCallbacks temp_callbacks) - - - void - FLAC__metadata_chain_merge_padding - group__flac__metadata__level2.html - ga0a43897914edb751cb87f7e281aff3dc - (FLAC__Metadata_Chain *chain) - - - void - FLAC__metadata_chain_sort_padding - group__flac__metadata__level2.html - ga82b66fe71c727adb9cf80a1da9834ce5 - (FLAC__Metadata_Chain *chain) - - - FLAC__Metadata_Iterator * - FLAC__metadata_iterator_new - group__flac__metadata__level2.html - gab41f9cbda6240979672501e00a30d606 - (void) - - - void - FLAC__metadata_iterator_delete - group__flac__metadata__level2.html - ga374c246e1aeafd803d29a6e99b226241 - (FLAC__Metadata_Iterator *iterator) - - - void - FLAC__metadata_iterator_init - group__flac__metadata__level2.html - ga2e93196b17a1c73e949e661e33d7311a - (FLAC__Metadata_Iterator *iterator, FLAC__Metadata_Chain *chain) - - - FLAC__bool - FLAC__metadata_iterator_next - group__flac__metadata__level2.html - ga60449d0c1d76a73978159e3aa5e79459 - (FLAC__Metadata_Iterator *iterator) - - - FLAC__bool - FLAC__metadata_iterator_prev - group__flac__metadata__level2.html - gaa28df1c5aa56726f573f90e4bae2fe50 - (FLAC__Metadata_Iterator *iterator) - - - FLAC__MetadataType - FLAC__metadata_iterator_get_block_type - group__flac__metadata__level2.html - ga83ecb59ffa16bfbb1e286e64f9270de1 - (const FLAC__Metadata_Iterator *iterator) - - - FLAC__StreamMetadata * - FLAC__metadata_iterator_get_block - group__flac__metadata__level2.html - ga1b7286a89bd17f120bbd9952d657e574 - (FLAC__Metadata_Iterator *iterator) - - - FLAC__bool - FLAC__metadata_iterator_set_block - group__flac__metadata__level2.html - gaf61795b21300a2b0c9940c11974aab53 - (FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block) - - - FLAC__bool - FLAC__metadata_iterator_delete_block - group__flac__metadata__level2.html - gadf860af967d2ee483be01fc0ed8767a9 - (FLAC__Metadata_Iterator *iterator, FLAC__bool replace_with_padding) - - - FLAC__bool - FLAC__metadata_iterator_insert_block_before - group__flac__metadata__level2.html - ga8ac45e2df8b6fd6f5db345c4293aa435 - (FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block) - - - FLAC__bool - FLAC__metadata_iterator_insert_block_after - group__flac__metadata__level2.html - ga55e53757f91696e2578196a2799fc632 - (FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block) - - - FLAC__StreamMetadata * - FLAC__metadata_object_new - group__flac__metadata__object.html - gaf5cbd34fb2e2bfd2277bc9706b584577 - (FLAC__MetadataType type) - - - FLAC__StreamMetadata * - FLAC__metadata_object_clone - group__flac__metadata__object.html - gaf81a1eff588f66493ad5f247d94cdd19 - (const FLAC__StreamMetadata *object) - - - void - FLAC__metadata_object_delete - group__flac__metadata__object.html - ga6b3159744a1e5c4ce9d349fd0ebae800 - (FLAC__StreamMetadata *object) - - - FLAC__bool - FLAC__metadata_object_is_equal - group__flac__metadata__object.html - ga6853bcafe731b1db37105d49f3085349 - (const FLAC__StreamMetadata *block1, const FLAC__StreamMetadata *block2) - - - FLAC__bool - FLAC__metadata_object_application_set_data - group__flac__metadata__object.html - ga11f340e8877c58d231b09841182d66e5 - (FLAC__StreamMetadata *object, FLAC__byte *data, uint32_t length, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_seektable_resize_points - group__flac__metadata__object.html - ga7352bb944c594f447d3ab316244a9895 - (FLAC__StreamMetadata *object, uint32_t new_num_points) - - - void - FLAC__metadata_object_seektable_set_point - group__flac__metadata__object.html - gac258246fdda91e14110a186c1d8dcc8c - (FLAC__StreamMetadata *object, uint32_t point_num, FLAC__StreamMetadata_SeekPoint point) - - - FLAC__bool - FLAC__metadata_object_seektable_insert_point - group__flac__metadata__object.html - ga5ba4c8024988af5985877f9e0b3fef38 - (FLAC__StreamMetadata *object, uint32_t point_num, FLAC__StreamMetadata_SeekPoint point) - - - FLAC__bool - FLAC__metadata_object_seektable_delete_point - group__flac__metadata__object.html - gaa138480c7ea602a31109d3870b41a12f - (FLAC__StreamMetadata *object, uint32_t point_num) - - - FLAC__bool - FLAC__metadata_object_seektable_is_legal - group__flac__metadata__object.html - gacd3e1b83fabc1dabccb725b2876c8f53 - (const FLAC__StreamMetadata *object) - - - FLAC__bool - FLAC__metadata_object_seektable_template_append_placeholders - group__flac__metadata__object.html - gac509d8cb126d06f4bd73505b6c432338 - (FLAC__StreamMetadata *object, uint32_t num) - - - FLAC__bool - FLAC__metadata_object_seektable_template_append_point - group__flac__metadata__object.html - ga0b3aca4fbebc206cd79f13ac36f653f0 - (FLAC__StreamMetadata *object, FLAC__uint64 sample_number) - - - FLAC__bool - FLAC__metadata_object_seektable_template_append_points - group__flac__metadata__object.html - ga409f80cb3938814ae307e609faabccc4 - (FLAC__StreamMetadata *object, FLAC__uint64 sample_numbers[], uint32_t num) - - - FLAC__bool - FLAC__metadata_object_seektable_template_append_spaced_points - group__flac__metadata__object.html - gab899d58863aa6e974b3ed4ddd2ebf09e - (FLAC__StreamMetadata *object, uint32_t num, FLAC__uint64 total_samples) - - - FLAC__bool - FLAC__metadata_object_seektable_template_append_spaced_points_by_samples - group__flac__metadata__object.html - gab91c8b020a1da37d7524051ae82328cb - (FLAC__StreamMetadata *object, uint32_t samples, FLAC__uint64 total_samples) - - - FLAC__bool - FLAC__metadata_object_seektable_template_sort - group__flac__metadata__object.html - gafb0449b639ba5c618826d893c2961260 - (FLAC__StreamMetadata *object, FLAC__bool compact) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_set_vendor_string - group__flac__metadata__object.html - ga5cf1a57afab200b4b67730a77d3ee162 - (FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_resize_comments - group__flac__metadata__object.html - gab44132276cbec9abcadbacafbcd5f92a - (FLAC__StreamMetadata *object, uint32_t new_num_comments) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_set_comment - group__flac__metadata__object.html - ga0661d2b99c0e37fd8c5aa673eb302c03 - (FLAC__StreamMetadata *object, uint32_t comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_insert_comment - group__flac__metadata__object.html - ga395fcb4900cd5710e67dc96a9a9cca70 - (FLAC__StreamMetadata *object, uint32_t comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_append_comment - group__flac__metadata__object.html - ga889b8b9c5bbd1070a1214c3da8b72863 - (FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_replace_comment - group__flac__metadata__object.html - ga0608308e8c4c09aa610747d8dff90a34 - (FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool all, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_delete_comment - group__flac__metadata__object.html - gac9f51ea4151eb8960e56f31beaa94bd3 - (FLAC__StreamMetadata *object, uint32_t comment_num) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair - group__flac__metadata__object.html - gab644c34515c04630c62a7645fab2947e - (FLAC__StreamMetadata_VorbisComment_Entry *entry, const char *field_name, const char *field_value) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair - group__flac__metadata__object.html - ga29079764fabda53cb3e890e6d05c8345 - (const FLAC__StreamMetadata_VorbisComment_Entry entry, char **field_name, char **field_value) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_entry_matches - group__flac__metadata__object.html - gaad491f6e73bfb7c5a97b75eda7f4392a - (const FLAC__StreamMetadata_VorbisComment_Entry entry, const char *field_name, uint32_t field_name_length) - - - int - FLAC__metadata_object_vorbiscomment_find_entry_from - group__flac__metadata__object.html - gaeaf925bf881fd4e93bf68ce09b935175 - (const FLAC__StreamMetadata *object, uint32_t offset, const char *field_name) - - - int - FLAC__metadata_object_vorbiscomment_remove_entry_matching - group__flac__metadata__object.html - ga017d743b3200a27b8567ef33592224b8 - (FLAC__StreamMetadata *object, const char *field_name) - - - int - FLAC__metadata_object_vorbiscomment_remove_entries_matching - group__flac__metadata__object.html - ga5a3ff5856098c449622ba850684aec75 - (FLAC__StreamMetadata *object, const char *field_name) - - - FLAC__StreamMetadata_CueSheet_Track * - FLAC__metadata_object_cuesheet_track_new - group__flac__metadata__object.html - ga0a22d0a0ca22f209669cb9731b5b2a6e - (void) - - - FLAC__StreamMetadata_CueSheet_Track * - FLAC__metadata_object_cuesheet_track_clone - group__flac__metadata__object.html - gac1efa12615b7f44c09bafdef0a0b3ac8 - (const FLAC__StreamMetadata_CueSheet_Track *object) - - - void - FLAC__metadata_object_cuesheet_track_delete - group__flac__metadata__object.html - gaa533fd7b72fa079e783de4b155b241ce - (FLAC__StreamMetadata_CueSheet_Track *object) - - - FLAC__bool - FLAC__metadata_object_cuesheet_track_resize_indices - group__flac__metadata__object.html - ga003c90292bc93a877060c34a486fc2b4 - (FLAC__StreamMetadata *object, uint32_t track_num, uint32_t new_num_indices) - - - FLAC__bool - FLAC__metadata_object_cuesheet_track_insert_index - group__flac__metadata__object.html - ga2d66b56b6ebda795ccee86968029e6ad - (FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num, FLAC__StreamMetadata_CueSheet_Index index) - - - FLAC__bool - FLAC__metadata_object_cuesheet_track_insert_blank_index - group__flac__metadata__object.html - ga49ff698f47d914f4e9e45032b3433fba - (FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num) - - - FLAC__bool - FLAC__metadata_object_cuesheet_track_delete_index - group__flac__metadata__object.html - gabc751423461062096470b31613468feb - (FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num) - - - FLAC__bool - FLAC__metadata_object_cuesheet_resize_tracks - group__flac__metadata__object.html - ga9c2edc662e4109c0f8ab5fd72bddaccf - (FLAC__StreamMetadata *object, uint32_t new_num_tracks) - - - FLAC__bool - FLAC__metadata_object_cuesheet_set_track - group__flac__metadata__object.html - gab5f4c6e58c5aa72223e80e7dcdeecfe9 - (FLAC__StreamMetadata *object, uint32_t track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_cuesheet_insert_track - group__flac__metadata__object.html - gaa5e7694a181545251f263fcb672abf3d - (FLAC__StreamMetadata *object, uint32_t track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_cuesheet_insert_blank_track - group__flac__metadata__object.html - ga7ccabeffadad2c13522439f1337718ca - (FLAC__StreamMetadata *object, uint32_t track_num) - - - FLAC__bool - FLAC__metadata_object_cuesheet_delete_track - group__flac__metadata__object.html - ga241f5d623483b5aebc3a721cce3fa8ec - (FLAC__StreamMetadata *object, uint32_t track_num) - - - FLAC__bool - FLAC__metadata_object_cuesheet_is_legal - group__flac__metadata__object.html - ga1a443d9299ce69694ad59bec4519d7b2 - (const FLAC__StreamMetadata *object, FLAC__bool check_cd_da_subset, const char **violation) - - - FLAC__uint32 - FLAC__metadata_object_cuesheet_calculate_cddb_id - group__flac__metadata__object.html - gaff2f825950b3e4dda4c8ddbf8e2f7ecd - (const FLAC__StreamMetadata *object) - - - FLAC__bool - FLAC__metadata_object_picture_set_mime_type - group__flac__metadata__object.html - ga4511ae9ca994c9f4ab035a3c1aa98f45 - (FLAC__StreamMetadata *object, char *mime_type, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_picture_set_description - group__flac__metadata__object.html - ga293fe7d8b8b9e49d2414db0925b0f442 - (FLAC__StreamMetadata *object, FLAC__byte *description, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_picture_set_data - group__flac__metadata__object.html - ga00c330534ef8336ed92b30f9e676bb5f - (FLAC__StreamMetadata *object, FLAC__byte *data, FLAC__uint32 length, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_picture_is_legal - group__flac__metadata__object.html - ga88268a5186e37d4b98b4df7870561128 - (const FLAC__StreamMetadata *object, const char **violation) - - - const char *const - FLAC__Metadata_SimpleIteratorStatusString - group__flac__metadata__level1.html - gaa2a8b972800c34f9f5807cadf6ecdb57 - [] - - - const char *const - FLAC__Metadata_ChainStatusString - group__flac__metadata__level2.html - ga6498d1976b0d9fa3f8f6295c02e622dd - [] - - - - stream_decoder.h - /home/m_van/flac-ktmf01/include/FLAC/ - stream__decoder_8h.html - export.h - format.h - FLAC__StreamDecoder - - FLAC__StreamDecoderReadStatus(* - FLAC__StreamDecoderReadCallback - group__flac__stream__decoder.html - ga25d4321dc2f122d35ddc9061f44beae7 - )(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data) - - - FLAC__StreamDecoderSeekStatus(* - FLAC__StreamDecoderSeekCallback - group__flac__stream__decoder.html - ga4c18b0216e0f7a83d7e4e7001230545d - )(const FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data) - - - FLAC__StreamDecoderTellStatus(* - FLAC__StreamDecoderTellCallback - group__flac__stream__decoder.html - gafdf1852486617a40c285c0d76d451a5a - )(const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data) - - - FLAC__StreamDecoderLengthStatus(* - FLAC__StreamDecoderLengthCallback - group__flac__stream__decoder.html - ga5363f3b46e3f7d6a73385f6560f7e7ef - )(const FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data) - - - FLAC__bool(* - FLAC__StreamDecoderEofCallback - group__flac__stream__decoder.html - ga4eac094fc609363532d90cf8374b4f7e - )(const FLAC__StreamDecoder *decoder, void *client_data) - - - FLAC__StreamDecoderWriteStatus(* - FLAC__StreamDecoderWriteCallback - group__flac__stream__decoder.html - ga61e48dc2c0d2f6c5519290ff046874a4 - )(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 *const buffer[], void *client_data) - - - void(* - FLAC__StreamDecoderMetadataCallback - group__flac__stream__decoder.html - ga6aa87c01744c1c601b7f371f627b6e14 - )(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data) - - - void(* - FLAC__StreamDecoderErrorCallback - group__flac__stream__decoder.html - gac896ee6a12668e9015fab4fbc6aae996 - )(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data) - - - - FLAC__StreamDecoderState - group__flac__stream__decoder.html - ga3adb6891c5871a87cd5bbae6c770ba2d - - - - FLAC__STREAM_DECODER_SEARCH_FOR_METADATA - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2dacf4455f4f681a6737a553e10f614704a - - - - FLAC__STREAM_DECODER_READ_METADATA - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2da4c1853ed1babdcede9a908e12cf7ccf7 - - - - FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2daccff915757978117720ba1613d088ddf - - - - FLAC__STREAM_DECODER_READ_FRAME - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2da06dc6158a51a8eb9537b65f2fbb6dc49 - - - - FLAC__STREAM_DECODER_END_OF_STREAM - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2da28ce845052d9d1a780f4107e97f4c853 - - - - FLAC__STREAM_DECODER_OGG_ERROR - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2da3bc0343f47153c5779baf7f37f6e95cf - - - - FLAC__STREAM_DECODER_SEEK_ERROR - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2daf2c6efcabdfe889081c2260e6681db49 - - - - FLAC__STREAM_DECODER_ABORTED - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2dadb52ab4785bd2eb84a95e8aa82311cd5 - - - - FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2da0d08c527252420813e6a6d6d3e19324a - - - - FLAC__STREAM_DECODER_UNINITIALIZED - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2da565eaf4d5e68b440ecec771cb22d3427 - - - - - FLAC__StreamDecoderInitStatus - group__flac__stream__decoder.html - gaaed54a24ac6310d29c5cafba79759c44 - - - - FLAC__STREAM_DECODER_INIT_STATUS_OK - group__flac__stream__decoder.html - ggaaed54a24ac6310d29c5cafba79759c44ac94c7e9396f30642f34805e5d626e011 - - - - FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER - group__flac__stream__decoder.html - ggaaed54a24ac6310d29c5cafba79759c44a8f2188c616c9bc09638eece3ae55f152 - - - - FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS - group__flac__stream__decoder.html - ggaaed54a24ac6310d29c5cafba79759c44a798ad4b6c4e556fd4cb1afbc29562eca - - - - FLAC__STREAM_DECODER_INIT_STATUS_MEMORY_ALLOCATION_ERROR - group__flac__stream__decoder.html - ggaaed54a24ac6310d29c5cafba79759c44a0110567f0715c6f87357388bc7fa98f9 - - - - FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE - group__flac__stream__decoder.html - ggaaed54a24ac6310d29c5cafba79759c44a8184c306e0cd2565a8c5adc1381cb469 - - - - FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED - group__flac__stream__decoder.html - ggaaed54a24ac6310d29c5cafba79759c44a98bc501c9b2fb5d92d8bb0b3321d504f - - - - - FLAC__StreamDecoderReadStatus - group__flac__stream__decoder.html - gad793ead451206c64a91dc0b851027b93 - - - - FLAC__STREAM_DECODER_READ_STATUS_CONTINUE - group__flac__stream__decoder.html - ggad793ead451206c64a91dc0b851027b93a9a5be0fcf0279b98b2fd462bc4871d06 - - - - FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM - group__flac__stream__decoder.html - ggad793ead451206c64a91dc0b851027b93a0a0687d25dc9f7163e6e5e294672170f - - - - FLAC__STREAM_DECODER_READ_STATUS_ABORT - group__flac__stream__decoder.html - ggad793ead451206c64a91dc0b851027b93a923123aebb349e35662e35a7621b7535 - - - - - FLAC__StreamDecoderSeekStatus - group__flac__stream__decoder.html - gac8d269e3c7af1a5889d3bd38409ed67d - - - - FLAC__STREAM_DECODER_SEEK_STATUS_OK - group__flac__stream__decoder.html - ggac8d269e3c7af1a5889d3bd38409ed67daca58132d896ad7755827d3f2b72488cc - - - - FLAC__STREAM_DECODER_SEEK_STATUS_ERROR - group__flac__stream__decoder.html - ggac8d269e3c7af1a5889d3bd38409ed67da969ce92a42a2a95609452e9cf01fcc09 - - - - FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED - group__flac__stream__decoder.html - ggac8d269e3c7af1a5889d3bd38409ed67da4a01f1e48baf015e78535cc20683ec53 - - - - - FLAC__StreamDecoderTellStatus - group__flac__stream__decoder.html - ga83708207969383bd7b5c1e9148528845 - - - - FLAC__STREAM_DECODER_TELL_STATUS_OK - group__flac__stream__decoder.html - gga83708207969383bd7b5c1e9148528845a516a202ebf4bb61d4a1fb5b029a104dd - - - - FLAC__STREAM_DECODER_TELL_STATUS_ERROR - group__flac__stream__decoder.html - gga83708207969383bd7b5c1e9148528845aceefd3feb853d5e68a149f2bdd1a9db1 - - - - FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED - group__flac__stream__decoder.html - gga83708207969383bd7b5c1e9148528845add75538234493c9f7a20a846a223ca91 - - - - - FLAC__StreamDecoderLengthStatus - group__flac__stream__decoder.html - gad5860157c2bb34501b8b9370472d727a - - - - FLAC__STREAM_DECODER_LENGTH_STATUS_OK - group__flac__stream__decoder.html - ggad5860157c2bb34501b8b9370472d727aaef01bfcdc3099686e106d8f88397653d - - - - FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR - group__flac__stream__decoder.html - ggad5860157c2bb34501b8b9370472d727aab000e31c0c20c0d19df4f2203b01ea23 - - - - FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED - group__flac__stream__decoder.html - ggad5860157c2bb34501b8b9370472d727aae35949f46f887e6d826fe0fe4b2a32c1 - - - - - FLAC__StreamDecoderWriteStatus - group__flac__stream__decoder.html - ga73f67eb9e0ab57945afe038751bc62c8 - - - - FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE - group__flac__stream__decoder.html - gga73f67eb9e0ab57945afe038751bc62c8acea48326e0ab8370d2814f4126fcb84e - - - - FLAC__STREAM_DECODER_WRITE_STATUS_ABORT - group__flac__stream__decoder.html - gga73f67eb9e0ab57945afe038751bc62c8a23bd6bfec34af704e0d5ea273f14d95d - - - - - FLAC__StreamDecoderErrorStatus - group__flac__stream__decoder.html - ga130e70bd9a73d3c2416247a3e5132ecf - - - - FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC - group__flac__stream__decoder.html - gga130e70bd9a73d3c2416247a3e5132ecfa3ceec2a553dc142ad487ae88eb6f7222 - - - - FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER - group__flac__stream__decoder.html - gga130e70bd9a73d3c2416247a3e5132ecfae393a9b91a6b2f23398675b5b57e1e86 - - - - FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH - group__flac__stream__decoder.html - gga130e70bd9a73d3c2416247a3e5132ecfa208fe77a04e6ff684e50f0eae1214e26 - - - - FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM - group__flac__stream__decoder.html - gga130e70bd9a73d3c2416247a3e5132ecfa8b6864ad65edd8fea039838b6d3e5575 - - - - FLAC__STREAM_DECODER_ERROR_STATUS_BAD_METADATA - group__flac__stream__decoder.html - gga130e70bd9a73d3c2416247a3e5132ecfa67ee497c6fe564b50d7a7964ef5cd30a - - - - FLAC__StreamDecoder * - FLAC__stream_decoder_new - group__flac__stream__decoder.html - gad6ef19e729b5edd44ee9dabc8a6ed92c - (void) - - - void - FLAC__stream_decoder_delete - group__flac__stream__decoder.html - gad9cf299956da091111d13e83517d8c44 - (FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_set_ogg_serial_number - group__flac__stream__decoder.html - ga7fd232e7a2b5070bd26450487edbc2a1 - (FLAC__StreamDecoder *decoder, long serial_number) - - - FLAC__bool - FLAC__stream_decoder_set_md5_checking - group__flac__stream__decoder.html - ga8f402243eed54f400ddd2f296ff54497 - (FLAC__StreamDecoder *decoder, FLAC__bool value) - - - FLAC__bool - FLAC__stream_decoder_set_metadata_respond - group__flac__stream__decoder.html - gad4e685f3d055f70fbaed9ffa4f70f74b - (FLAC__StreamDecoder *decoder, FLAC__MetadataType type) - - - FLAC__bool - FLAC__stream_decoder_set_metadata_respond_application - group__flac__stream__decoder.html - gaee1196ff5fa97df9810f708dc2bc8326 - (FLAC__StreamDecoder *decoder, const FLAC__byte id[4]) - - - FLAC__bool - FLAC__stream_decoder_set_metadata_respond_all - group__flac__stream__decoder.html - ga1ce03d8f305a818ff9a573473af99dc4 - (FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_set_metadata_ignore - group__flac__stream__decoder.html - gad75f067720da89c4e9d96dedc45f73e6 - (FLAC__StreamDecoder *decoder, FLAC__MetadataType type) - - - FLAC__bool - FLAC__stream_decoder_set_metadata_ignore_application - group__flac__stream__decoder.html - gaab41e8bc505b24df4912de53de06b085 - (FLAC__StreamDecoder *decoder, const FLAC__byte id[4]) - - - FLAC__bool - FLAC__stream_decoder_set_metadata_ignore_all - group__flac__stream__decoder.html - gaa1307f07fae5d7a4a0c18beeae7ec5e6 - (FLAC__StreamDecoder *decoder) - - - FLAC__StreamDecoderState - FLAC__stream_decoder_get_state - group__flac__stream__decoder.html - gaf99dac2d9255f7db4df8a6d9974a9a9a - (const FLAC__StreamDecoder *decoder) - - - const char * - FLAC__stream_decoder_get_resolved_state_string - group__flac__stream__decoder.html - ga36a2a4af3e2e458091b523190e4aedf6 - (const FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_get_md5_checking - group__flac__stream__decoder.html - gae27a6b30b55beda03559c12a5df21537 - (const FLAC__StreamDecoder *decoder) - - - FLAC__uint64 - FLAC__stream_decoder_get_total_samples - group__flac__stream__decoder.html - ga930d9b591fcfaea74359c722cdfb980c - (const FLAC__StreamDecoder *decoder) - - - uint32_t - FLAC__stream_decoder_get_channels - group__flac__stream__decoder.html - ga802d5f4c48a711b690d6d66d2e3f20a5 - (const FLAC__StreamDecoder *decoder) - - - FLAC__ChannelAssignment - FLAC__stream_decoder_get_channel_assignment - group__flac__stream__decoder.html - gae62fdf93c1fedd5fea9258ecdc78bb53 - (const FLAC__StreamDecoder *decoder) - - - uint32_t - FLAC__stream_decoder_get_bits_per_sample - group__flac__stream__decoder.html - ga689893cde90c171ca343192e92679842 - (const FLAC__StreamDecoder *decoder) - - - uint32_t - FLAC__stream_decoder_get_sample_rate - group__flac__stream__decoder.html - ga95f7cdfefba169d964e3c08672a0f0ad - (const FLAC__StreamDecoder *decoder) - - - uint32_t - FLAC__stream_decoder_get_blocksize - group__flac__stream__decoder.html - gafe07ad9949cc54944fd369fe9335c4bc - (const FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_get_decode_position - group__flac__stream__decoder.html - gaffd9b0d0832ed01e6d75930b5391def5 - (const FLAC__StreamDecoder *decoder, FLAC__uint64 *position) - - - const void * - FLAC__stream_decoder_get_client_data - group__flac__stream__decoder.html - gaf61add658612b497da0673128b364b70 - (FLAC__StreamDecoder *decoder) - - - FLAC__StreamDecoderInitStatus - FLAC__stream_decoder_init_stream - group__flac__stream__decoder.html - ga150d381abc5249168e439bc076544b29 - (FLAC__StreamDecoder *decoder, FLAC__StreamDecoderReadCallback read_callback, FLAC__StreamDecoderSeekCallback seek_callback, FLAC__StreamDecoderTellCallback tell_callback, FLAC__StreamDecoderLengthCallback length_callback, FLAC__StreamDecoderEofCallback eof_callback, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data) - - - FLAC__StreamDecoderInitStatus - FLAC__stream_decoder_init_ogg_stream - group__flac__stream__decoder.html - ga1b043adeb805c779c1e97cb68959d1ab - (FLAC__StreamDecoder *decoder, FLAC__StreamDecoderReadCallback read_callback, FLAC__StreamDecoderSeekCallback seek_callback, FLAC__StreamDecoderTellCallback tell_callback, FLAC__StreamDecoderLengthCallback length_callback, FLAC__StreamDecoderEofCallback eof_callback, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data) - - - FLAC__StreamDecoderInitStatus - FLAC__stream_decoder_init_FILE - group__flac__stream__decoder.html - ga80aa83631460a53263c84e654586dff0 - (FLAC__StreamDecoder *decoder, FILE *file, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data) - - - FLAC__StreamDecoderInitStatus - FLAC__stream_decoder_init_ogg_FILE - group__flac__stream__decoder.html - ga4cc7fbaf905c24d6db48b53b7942fe72 - (FLAC__StreamDecoder *decoder, FILE *file, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data) - - - FLAC__StreamDecoderInitStatus - FLAC__stream_decoder_init_file - group__flac__stream__decoder.html - ga4021ead5cff29fd589c915756f902f1a - (FLAC__StreamDecoder *decoder, const char *filename, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data) - - - FLAC__StreamDecoderInitStatus - FLAC__stream_decoder_init_ogg_file - group__flac__stream__decoder.html - ga548f15d7724f3bff7f2608abe8b12f6c - (FLAC__StreamDecoder *decoder, const char *filename, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data) - - - FLAC__bool - FLAC__stream_decoder_finish - group__flac__stream__decoder.html - ga96c47c96920f363cd0972b54067818a9 - (FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_flush - group__flac__stream__decoder.html - ga95570a455e582b2ab46ab9bb529f26ac - (FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_reset - group__flac__stream__decoder.html - gaa4183c2d925d5a5edddde9d1ca145725 - (FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_process_single - group__flac__stream__decoder.html - ga9d6df4a39892c05955122cf7f987f856 - (FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_process_until_end_of_metadata - group__flac__stream__decoder.html - ga027ffb5b75dc39b3d26f55c5e6b42682 - (FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_process_until_end_of_stream - group__flac__stream__decoder.html - ga89a0723812fa6ef7cdb173715f1bc81f - (FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_skip_single_frame - group__flac__stream__decoder.html - ga85b666aba976f29e8dd9d7956fce4301 - (FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_seek_absolute - group__flac__stream__decoder.html - ga6a2eb6072b9fafefc3f80f1959805ccb - (FLAC__StreamDecoder *decoder, FLAC__uint64 sample) - - - const char *const - FLAC__StreamDecoderStateString - group__flac__stream__decoder.html - gac192360ac435614394bf43235cb7981e - [] - - - const char *const - FLAC__StreamDecoderInitStatusString - group__flac__stream__decoder.html - ga0effa1d3031c3206a1719faf984a4f21 - [] - - - const char *const - FLAC__StreamDecoderReadStatusString - group__flac__stream__decoder.html - gab1ee941839b05045ae1d73ee0fdcb8c9 - [] - - - const char *const - FLAC__StreamDecoderSeekStatusString - group__flac__stream__decoder.html - gac49aff0593584b7ed5fd0b2508f824fc - [] - - - const char *const - FLAC__StreamDecoderTellStatusString - group__flac__stream__decoder.html - ga3c1b7d5a174d6c2e6bcf1b9a87b5a5cb - [] - - - const char *const - FLAC__StreamDecoderLengthStatusString - group__flac__stream__decoder.html - ga792933fa9e8b65bfcac62d82e52415f5 - [] - - - const char *const - FLAC__StreamDecoderWriteStatusString - group__flac__stream__decoder.html - ga9df7f0fd8cf9888f97a52b5f3f33cdb0 - [] - - - const char *const - FLAC__StreamDecoderErrorStatusString - group__flac__stream__decoder.html - gac428c69b084529322df05ee793440b88 - [] - - - - stream_encoder.h - /home/m_van/flac-ktmf01/include/FLAC/ - stream__encoder_8h.html - export.h - format.h - stream_decoder.h - FLAC__StreamEncoder - - FLAC__StreamEncoderReadStatus(* - FLAC__StreamEncoderReadCallback - group__flac__stream__encoder.html - ga18b7941b93bae067192732e913536d44 - )(const FLAC__StreamEncoder *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data) - - - FLAC__StreamEncoderWriteStatus(* - FLAC__StreamEncoderWriteCallback - group__flac__stream__encoder.html - ga2998a0af774d793928a7cc3bbc84dcdf - )(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame, void *client_data) - - - FLAC__StreamEncoderSeekStatus(* - FLAC__StreamEncoderSeekCallback - group__flac__stream__encoder.html - ga70b85349d5242e4401c4d8ddf6d9bbca - )(const FLAC__StreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data) - - - FLAC__StreamEncoderTellStatus(* - FLAC__StreamEncoderTellCallback - group__flac__stream__encoder.html - gabefdf2279e1d0347d9f98f46da4e415b - )(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data) - - - void(* - FLAC__StreamEncoderMetadataCallback - group__flac__stream__encoder.html - ga091fbf3340d85bcbda1090c31bc320cf - )(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetadata *metadata, void *client_data) - - - void(* - FLAC__StreamEncoderProgressCallback - group__flac__stream__encoder.html - ga42a5fab5f91c1b0c3f7098499285f277 - )(const FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, uint32_t frames_written, uint32_t total_frames_estimate, void *client_data) - - - - FLAC__StreamEncoderState - group__flac__stream__encoder.html - gac5e9db4fc32ca2fa74abd9c8a87c02a5 - - - - FLAC__STREAM_ENCODER_OK - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a3a6666ae61a64d955341cec285695bf6 - - - - FLAC__STREAM_ENCODER_UNINITIALIZED - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a04912e04a3c57d3c53de34742f96d635 - - - - FLAC__STREAM_ENCODER_OGG_ERROR - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5abb312cc8318c7a541cadacd23ceb3bbb - - - - FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a4cb80be4f83eb71f04e74968af1d259e - - - - FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a011e3d8b2d02a940bfd0e59c05cf5ae0 - - - - FLAC__STREAM_ENCODER_CLIENT_ERROR - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a8c2b2e9efb43a4f9b25b1d2bd9af5f23 - - - - FLAC__STREAM_ENCODER_IO_ERROR - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5af0e4738522e05a7248435c7148f58f91 - - - - FLAC__STREAM_ENCODER_FRAMING_ERROR - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a2c2937b7f1600a4ac7c84fc70ab34cf1 - - - - FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a35db99d9958bd6c2301a04715fbc44fd - - - - - FLAC__StreamEncoderInitStatus - group__flac__stream__encoder.html - ga3bb869620af2b188d77982a5c30b047d - - - - FLAC__STREAM_ENCODER_INIT_STATUS_OK - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da20501dce552da74c5df935eeaa0c9ee3 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da9c64e5f9020d8799e1cd9d39d50e6955 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_UNSUPPORTED_CONTAINER - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da8a822b011de88b67c114505ffef39327 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047dac2cf461f02e20513003b8cadeae03f9f - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_NUMBER_OF_CHANNELS - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da0541c4f827f081b9f1c54c9441e4aa65 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047dad6d2631f464183c0c165155200882e6b - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_SAMPLE_RATE - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da6fdcde9e18c37450c79e8f12b9d9c134 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BLOCK_SIZE - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da652c445f1bd8b6cfb963a30bf416c95a - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_MAX_LPC_ORDER - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da38a69e94b3333e4ba779d2ff8f43f64e - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_QLP_COEFF_PRECISION - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da5be80403bd7a43450139442e0f34ad7e - - - - FLAC__STREAM_ENCODER_INIT_STATUS_BLOCK_SIZE_TOO_SMALL_FOR_LPC_ORDER - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da62a17a3ed3c05ddf8ea7f6fecbd4e4a1 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047daa793405c858c7606539082750080a47e - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_METADATA - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047daa85afdd1849c75a19594416cef63e3e9 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047dab4e7b50d176a127575df90383cb15e1d - - - - - FLAC__StreamEncoderReadStatus - group__flac__stream__encoder.html - ga2e81f007fb0a7414c0bbb453f37ea37f - - - - FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE - group__flac__stream__encoder.html - gga2e81f007fb0a7414c0bbb453f37ea37fa4bdd691d3666f19ec96ff99402347a2e - - - - FLAC__STREAM_ENCODER_READ_STATUS_END_OF_STREAM - group__flac__stream__encoder.html - gga2e81f007fb0a7414c0bbb453f37ea37fa562fef84bf86a9a39682e23066d9cfee - - - - FLAC__STREAM_ENCODER_READ_STATUS_ABORT - group__flac__stream__encoder.html - gga2e81f007fb0a7414c0bbb453f37ea37fa69b94eeab60e07d5fd33f2b3c8b85759 - - - - FLAC__STREAM_ENCODER_READ_STATUS_UNSUPPORTED - group__flac__stream__encoder.html - gga2e81f007fb0a7414c0bbb453f37ea37fa9bb730b8f6354cc1e810017a2f700316 - - - - - FLAC__StreamEncoderWriteStatus - group__flac__stream__encoder.html - ga3737471fd49730bb8cf9b182bdeda05e - - - - FLAC__STREAM_ENCODER_WRITE_STATUS_OK - group__flac__stream__encoder.html - gga3737471fd49730bb8cf9b182bdeda05ea5622e0199f0203c402fcb7b4ca76f808 - - - - FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR - group__flac__stream__encoder.html - gga3737471fd49730bb8cf9b182bdeda05ea18e7cd6a443fb8bd303c3ba89946bc85 - - - - - FLAC__StreamEncoderSeekStatus - group__flac__stream__encoder.html - ga6d5be3489f45fcf0c252022c65d87aca - - - - FLAC__STREAM_ENCODER_SEEK_STATUS_OK - group__flac__stream__encoder.html - gga6d5be3489f45fcf0c252022c65d87acaa99853066610d798627888ec2e5afa667 - - - - FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR - group__flac__stream__encoder.html - gga6d5be3489f45fcf0c252022c65d87acaabf93227938b4e1bf3656fe4ba4159c60 - - - - FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED - group__flac__stream__encoder.html - gga6d5be3489f45fcf0c252022c65d87acaa8930179a426134caf30a70147448f037 - - - - - FLAC__StreamEncoderTellStatus - group__flac__stream__encoder.html - gab628f63181250eb977a28bf12b7dd9ff - - - - FLAC__STREAM_ENCODER_TELL_STATUS_OK - group__flac__stream__encoder.html - ggab628f63181250eb977a28bf12b7dd9ffa48e071d89494ac8f5471e7c0d7a6f43b - - - - FLAC__STREAM_ENCODER_TELL_STATUS_ERROR - group__flac__stream__encoder.html - ggab628f63181250eb977a28bf12b7dd9ffaf638882e04d7c58e6c29dcc7f410864b - - - - FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED - group__flac__stream__encoder.html - ggab628f63181250eb977a28bf12b7dd9ffa9d6bbd317f85fd2d6fc72f64e3cb56e7 - - - - FLAC__StreamEncoder * - FLAC__stream_encoder_new - group__flac__stream__encoder.html - ga15ae6918f32fd6a57426de9888c884bd - (void) - - - void - FLAC__stream_encoder_delete - group__flac__stream__encoder.html - ga7212e6846f543618b6289666de216b29 - (FLAC__StreamEncoder *encoder) - - - FLAC__bool - FLAC__stream_encoder_set_ogg_serial_number - group__flac__stream__encoder.html - gaf4f75f7689b6b3fff16b03028aa38326 - (FLAC__StreamEncoder *encoder, long serial_number) - - - FLAC__bool - FLAC__stream_encoder_set_verify - group__flac__stream__encoder.html - ga795be6527a9eb1219331afef2f182a41 - (FLAC__StreamEncoder *encoder, FLAC__bool value) - - - FLAC__bool - FLAC__stream_encoder_set_streamable_subset - group__flac__stream__encoder.html - ga35a18815a58141b88db02317892d059b - (FLAC__StreamEncoder *encoder, FLAC__bool value) - - - FLAC__bool - FLAC__stream_encoder_set_channels - group__flac__stream__encoder.html - ga9ec612a48f81805eafdb059548cdaf92 - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_bits_per_sample - group__flac__stream__encoder.html - ga7453fc29d7e86b499f23b1adfba98da1 - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_sample_rate - group__flac__stream__encoder.html - gaa6b6537875900a6e0f4418a504f55f25 - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_compression_level - group__flac__stream__encoder.html - gaacc01aab02849119f929b8516420fcd3 - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_blocksize - group__flac__stream__encoder.html - gac35cb1b5614464658262e684c4ac3a2f - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_do_mid_side_stereo - group__flac__stream__encoder.html - ga3bff001a1efc2e4eb520c954066330f4 - (FLAC__StreamEncoder *encoder, FLAC__bool value) - - - FLAC__bool - FLAC__stream_encoder_set_loose_mid_side_stereo - group__flac__stream__encoder.html - ga7965d51b93f14cbd6ad5bb9d34f10536 - (FLAC__StreamEncoder *encoder, FLAC__bool value) - - - FLAC__bool - FLAC__stream_encoder_set_apodization - group__flac__stream__encoder.html - ga6598f09ac782a1f2a5743ddf247c81c8 - (FLAC__StreamEncoder *encoder, const char *specification) - - - FLAC__bool - FLAC__stream_encoder_set_max_lpc_order - group__flac__stream__encoder.html - gad8a0ff058c46f9ce95dc0508f4bdfb0c - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_qlp_coeff_precision - group__flac__stream__encoder.html - ga179751f915a3d6fc2ca4b33a67bb8780 - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_do_qlp_coeff_prec_search - group__flac__stream__encoder.html - ga495890067203958e5d67a641f8757b1c - (FLAC__StreamEncoder *encoder, FLAC__bool value) - - - FLAC__bool - FLAC__stream_encoder_set_do_escape_coding - group__flac__stream__encoder.html - gaed594c373d829f77808a935c54a25fa4 - (FLAC__StreamEncoder *encoder, FLAC__bool value) - - - FLAC__bool - FLAC__stream_encoder_set_do_exhaustive_model_search - group__flac__stream__encoder.html - ga054313e7f6eaf5c6122d82c6a8b3b808 - (FLAC__StreamEncoder *encoder, FLAC__bool value) - - - FLAC__bool - FLAC__stream_encoder_set_min_residual_partition_order - group__flac__stream__encoder.html - ga8f2ed5a2b35bfea13e6605b0fe55f0fa - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_max_residual_partition_order - group__flac__stream__encoder.html - gab9e02bfbbb1d4fcdb666e2e9a678b4f6 - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_rice_parameter_search_dist - group__flac__stream__encoder.html - ga2cc4a05caba8a4058f744d9eb8732caa - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_total_samples_estimate - group__flac__stream__encoder.html - gab943094585d1c0a4bec497e73567cf85 - (FLAC__StreamEncoder *encoder, FLAC__uint64 value) - - - FLAC__bool - FLAC__stream_encoder_set_metadata - group__flac__stream__encoder.html - ga80d57f9069e354cbf1a15a3e3ad9ca78 - (FLAC__StreamEncoder *encoder, FLAC__StreamMetadata **metadata, uint32_t num_blocks) - - - FLAC__bool - FLAC__stream_encoder_set_limit_min_bitrate - group__flac__stream__encoder.html - gac8c5f361b441d528b7a6791b66bb9d40 - (FLAC__StreamEncoder *encoder, FLAC__bool value) - - - FLAC__StreamEncoderState - FLAC__stream_encoder_get_state - group__flac__stream__encoder.html - ga0803321b37189dc5eea4fe1cea25c29a - (const FLAC__StreamEncoder *encoder) - - - FLAC__StreamDecoderState - FLAC__stream_encoder_get_verify_decoder_state - group__flac__stream__encoder.html - ga820704b95a711e77d55363e8753f9f9f - (const FLAC__StreamEncoder *encoder) - - - const char * - FLAC__stream_encoder_get_resolved_state_string - group__flac__stream__encoder.html - gafa6fb6a95471c2c5bd188aa0e988b16f - (const FLAC__StreamEncoder *encoder) - - - void - FLAC__stream_encoder_get_verify_decoder_error_stats - group__flac__stream__encoder.html - ga28373aaf2c47336828d5672696c36662 - (const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_sample, uint32_t *frame_number, uint32_t *channel, uint32_t *sample, FLAC__int32 *expected, FLAC__int32 *got) - - - FLAC__bool - FLAC__stream_encoder_get_verify - group__flac__stream__encoder.html - ga9efc4964992e001bcec0a8eaedee8d60 - (const FLAC__StreamEncoder *encoder) - - - FLAC__bool - FLAC__stream_encoder_get_streamable_subset - group__flac__stream__encoder.html - ga201e64032ea4298b2379c93652b28245 - (const FLAC__StreamEncoder *encoder) - - - uint32_t - FLAC__stream_encoder_get_channels - group__flac__stream__encoder.html - ga412401503141dd42e37831140f78cfa1 - (const FLAC__StreamEncoder *encoder) - - - uint32_t - FLAC__stream_encoder_get_bits_per_sample - group__flac__stream__encoder.html - ga169bbf662b2a2df017b93f663deadd1d - (const FLAC__StreamEncoder *encoder) - - - uint32_t - FLAC__stream_encoder_get_sample_rate - group__flac__stream__encoder.html - gae56f27536528f13375ffdd23fa9045f7 - (const FLAC__StreamEncoder *encoder) - - - uint32_t - FLAC__stream_encoder_get_blocksize - group__flac__stream__encoder.html - gaf8a9715b2d09a6876b8dc104bfd70cdc - (const FLAC__StreamEncoder *encoder) - - - FLAC__bool - FLAC__stream_encoder_get_do_mid_side_stereo - group__flac__stream__encoder.html - ga32da1f89997ab94ce5d677fcd7e24d56 - (const FLAC__StreamEncoder *encoder) - - - FLAC__bool - FLAC__stream_encoder_get_loose_mid_side_stereo - group__flac__stream__encoder.html - ga1455859cf3d233bd4dfff86af010f4fa - (const FLAC__StreamEncoder *encoder) - - - uint32_t - FLAC__stream_encoder_get_max_lpc_order - group__flac__stream__encoder.html - ga5e1d1c9acd3d5a17106b51f0c0107567 - (const FLAC__StreamEncoder *encoder) - - - uint32_t - FLAC__stream_encoder_get_qlp_coeff_precision - group__flac__stream__encoder.html - ga909830fb7f4a0a35710452df39c269a3 - (const FLAC__StreamEncoder *encoder) - - - FLAC__bool - FLAC__stream_encoder_get_do_qlp_coeff_prec_search - group__flac__stream__encoder.html - ga65bee5a769d4c5fdc95b81c2fb95061c - (const FLAC__StreamEncoder *encoder) - - - FLAC__bool - FLAC__stream_encoder_get_do_escape_coding - group__flac__stream__encoder.html - ga0c944049800991422c1bfb3b1c0567a5 - (const FLAC__StreamEncoder *encoder) - - - FLAC__bool - FLAC__stream_encoder_get_do_exhaustive_model_search - group__flac__stream__encoder.html - ga7bc8b32f58df5564db4b6114cb11042d - (const FLAC__StreamEncoder *encoder) - - - uint32_t - FLAC__stream_encoder_get_min_residual_partition_order - group__flac__stream__encoder.html - ga4fa722297092aeaebc9d9e743a327d14 - (const FLAC__StreamEncoder *encoder) - - - uint32_t - FLAC__stream_encoder_get_max_residual_partition_order - group__flac__stream__encoder.html - ga6f5dfbfb5c6e569c4bae5555c9bf87e6 - (const FLAC__StreamEncoder *encoder) - - - uint32_t - FLAC__stream_encoder_get_rice_parameter_search_dist - group__flac__stream__encoder.html - gaca0e38f283b2772b92da7cb4495d909a - (const FLAC__StreamEncoder *encoder) - - - FLAC__uint64 - FLAC__stream_encoder_get_total_samples_estimate - group__flac__stream__encoder.html - gaa22d8935bd985b9cccf6592160ffc6f2 - (const FLAC__StreamEncoder *encoder) - - - FLAC__bool - FLAC__stream_encoder_get_limit_min_bitrate - group__flac__stream__encoder.html - ga741c26084d203ac24d16c875b5d902ac - (const FLAC__StreamEncoder *encoder) - - - FLAC__StreamEncoderInitStatus - FLAC__stream_encoder_init_stream - group__flac__stream__encoder.html - ga7d801879812b48fcbc40f409800c453c - (FLAC__StreamEncoder *encoder, FLAC__StreamEncoderWriteCallback write_callback, FLAC__StreamEncoderSeekCallback seek_callback, FLAC__StreamEncoderTellCallback tell_callback, FLAC__StreamEncoderMetadataCallback metadata_callback, void *client_data) - - - FLAC__StreamEncoderInitStatus - FLAC__stream_encoder_init_ogg_stream - group__flac__stream__encoder.html - ga9d1981bcd30b8db4d73b5466be5570f5 - (FLAC__StreamEncoder *encoder, FLAC__StreamEncoderReadCallback read_callback, FLAC__StreamEncoderWriteCallback write_callback, FLAC__StreamEncoderSeekCallback seek_callback, FLAC__StreamEncoderTellCallback tell_callback, FLAC__StreamEncoderMetadataCallback metadata_callback, void *client_data) - - - FLAC__StreamEncoderInitStatus - FLAC__stream_encoder_init_FILE - group__flac__stream__encoder.html - ga12789a1c4a4e31cd2e7187259fe127f8 - (FLAC__StreamEncoder *encoder, FILE *file, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data) - - - FLAC__StreamEncoderInitStatus - FLAC__stream_encoder_init_ogg_FILE - group__flac__stream__encoder.html - ga57fc668f50ffd99a93df326bfab5e2b1 - (FLAC__StreamEncoder *encoder, FILE *file, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data) - - - FLAC__StreamEncoderInitStatus - FLAC__stream_encoder_init_file - group__flac__stream__encoder.html - ga9d5117c2ac0eeb572784116bf2eb541b - (FLAC__StreamEncoder *encoder, const char *filename, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data) - - - FLAC__StreamEncoderInitStatus - FLAC__stream_encoder_init_ogg_file - group__flac__stream__encoder.html - ga4891de2f56045941ae222b61b0fd83a4 - (FLAC__StreamEncoder *encoder, const char *filename, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data) - - - FLAC__bool - FLAC__stream_encoder_finish - group__flac__stream__encoder.html - ga3522f9de5af29807df1b9780a418b7f3 - (FLAC__StreamEncoder *encoder) - - - FLAC__bool - FLAC__stream_encoder_process - group__flac__stream__encoder.html - ga87b9c361292da5c5928a8fb5fda7c423 - (FLAC__StreamEncoder *encoder, const FLAC__int32 *const buffer[], uint32_t samples) - - - FLAC__bool - FLAC__stream_encoder_process_interleaved - group__flac__stream__encoder.html - ga6e31c221f7e23345267c52f53c046c24 - (FLAC__StreamEncoder *encoder, const FLAC__int32 buffer[], uint32_t samples) - - - const char *const - FLAC__StreamEncoderStateString - group__flac__stream__encoder.html - ga1410b7a076b0c8401682f9f812b66df5 - [] - - - const char *const - FLAC__StreamEncoderInitStatusString - group__flac__stream__encoder.html - ga0ec1fa7b3f55b4f07a2727846c285776 - [] - - - const char *const - FLAC__StreamEncoderReadStatusString - group__flac__stream__encoder.html - ga1654422c81846b9b399ac5fb98df61dd - [] - - - const char *const - FLAC__StreamEncoderWriteStatusString - group__flac__stream__encoder.html - ga9f64480accd01525cbfa25c11e6bb74e - [] - - - const char *const - FLAC__StreamEncoderSeekStatusString - group__flac__stream__encoder.html - gabb137b2d787756bf97398f0b60e54c20 - [] - - - const char *const - FLAC__StreamEncoderTellStatusString - group__flac__stream__encoder.html - gaf8ab921ae968be2be255be1f136e1eec - [] - - - - FLAC::Decoder::File - classFLAC_1_1Decoder_1_1File.html - FLAC::Decoder::Stream - - virtual ::FLAC__StreamDecoderInitStatus - init - classFLAC_1_1Decoder_1_1File.html - a793d2d9c08900cbe6ef6e2739c1e091f - (FILE *file) - - - virtual ::FLAC__StreamDecoderInitStatus - init - classFLAC_1_1Decoder_1_1File.html - a4252bc6c949ec9456eea4af2a277dd6a - (const char *filename) - - - virtual ::FLAC__StreamDecoderInitStatus - init - classFLAC_1_1Decoder_1_1File.html - a104a987909937cd716d382fdef9a0245 - (const std::string &filename) - - - virtual ::FLAC__StreamDecoderInitStatus - init_ogg - classFLAC_1_1Decoder_1_1File.html - ab840fa309cb000e041f8427cd3e6354a - (FILE *file) - - - virtual ::FLAC__StreamDecoderInitStatus - init_ogg - classFLAC_1_1Decoder_1_1File.html - a1af59a2861de527e8de5697683516b6e - (const char *filename) - - - virtual ::FLAC__StreamDecoderInitStatus - init_ogg - classFLAC_1_1Decoder_1_1File.html - ac88baae2ff5a4c206a953262cd7447a9 - (const std::string &filename) - - - virtual ::FLAC__StreamDecoderInitStatus - init - classFLAC_1_1Decoder_1_1File.html - a33169215b21ff3582c0c1f5fef6dda47 - () - - - virtual ::FLAC__StreamDecoderInitStatus - init_ogg - classFLAC_1_1Decoder_1_1File.html - adb52518fda2e3e544f4c8807f4227ba7 - () - - - virtual bool - is_valid - classFLAC_1_1Decoder_1_1Stream.html - a031b66dfb0e613a83ac302e7c94c7156 - () const - - - - operator bool - classFLAC_1_1Decoder_1_1Stream.html - a390efefcf618ca7f3bfcc1d88ecdb4a1 - () const - - - virtual bool - set_ogg_serial_number - classFLAC_1_1Decoder_1_1Stream.html - aa257e8156474458cd8eed2902d3c2674 - (long value) - - - virtual bool - set_md5_checking - classFLAC_1_1Decoder_1_1Stream.html - a8f46d34c10a65d9c48e990f9b3bbe4e2 - (bool value) - - - virtual bool - set_metadata_respond - classFLAC_1_1Decoder_1_1Stream.html - a9208dd09a48d7a3034119565f51f0c56 - (::FLAC__MetadataType type) - - - virtual bool - set_metadata_respond_application - classFLAC_1_1Decoder_1_1Stream.html - a95468ca8d92d1693b21203ad3e0d4545 - (const FLAC__byte id[4]) - - - virtual bool - set_metadata_respond_all - classFLAC_1_1Decoder_1_1Stream.html - a2ecec7b37f6f1d16ddcfee83a6919b5b - () - - - virtual bool - set_metadata_ignore - classFLAC_1_1Decoder_1_1Stream.html - ae239124fe0fc8fce3dcdae904bce7544 - (::FLAC__MetadataType type) - - - virtual bool - set_metadata_ignore_application - classFLAC_1_1Decoder_1_1Stream.html - ac963b9eaf8271fc47ef799901b6d3650 - (const FLAC__byte id[4]) - - - virtual bool - set_metadata_ignore_all - classFLAC_1_1Decoder_1_1Stream.html - a900ecb31410c4ce56f23477b22c1c799 - () - - - State - get_state - classFLAC_1_1Decoder_1_1Stream.html - ab9b2544cf4e3b6e045ce3a6341d5a62c - () const - - - virtual bool - get_md5_checking - classFLAC_1_1Decoder_1_1Stream.html - a4264fbd1585cbeb1a28b81c2b09323b6 - () const - - - virtual FLAC__uint64 - get_total_samples - classFLAC_1_1Decoder_1_1Stream.html - ac767e144749a6b7f4bb6fa0ab7959114 - () const - - - virtual uint32_t - get_channels - classFLAC_1_1Decoder_1_1Stream.html - a599a8cc8fa2522f5886977f616d144d7 - () const - - - virtual ::FLAC__ChannelAssignment - get_channel_assignment - classFLAC_1_1Decoder_1_1Stream.html - a7810225c9440e0bceb4e9c5e8d728be1 - () const - - - virtual uint32_t - get_bits_per_sample - classFLAC_1_1Decoder_1_1Stream.html - a55fa74c9d7a7daf444c43adf624b7a3b - () const - - - virtual uint32_t - get_sample_rate - classFLAC_1_1Decoder_1_1Stream.html - a1413d69a409dc80a5774a061915393eb - () const - - - virtual uint32_t - get_blocksize - classFLAC_1_1Decoder_1_1Stream.html - a6f0b833696a9e12c0914f20350af5006 - () const - - - virtual bool - get_decode_position - classFLAC_1_1Decoder_1_1Stream.html - a36100b072893e211331099e06084cfab - (FLAC__uint64 *position) const - - - virtual bool - finish - classFLAC_1_1Decoder_1_1Stream.html - a0221e9ba254566331e8d0e33579ee3c0 - () - - - virtual bool - flush - classFLAC_1_1Decoder_1_1Stream.html - a9cb00ff4543d411a9b3c64b1f3f058bb - () - - - virtual bool - reset - classFLAC_1_1Decoder_1_1Stream.html - a7b6b4665e139234fa80acd0a1f16ca7c - () - - - virtual bool - process_single - classFLAC_1_1Decoder_1_1Stream.html - ab50ff5df74c47f4e0f1c91d63a59f5ac - () - - - virtual bool - process_until_end_of_metadata - classFLAC_1_1Decoder_1_1Stream.html - ab0cabe42278b18e9d3dbfee39cc720cf - () - - - virtual bool - process_until_end_of_stream - classFLAC_1_1Decoder_1_1Stream.html - afbd6ff20477cae1ace00b8c304a4795a - () - - - virtual bool - skip_single_frame - classFLAC_1_1Decoder_1_1Stream.html - a30a738e7ae11f389c58a74f7ff647fe4 - () - - - virtual bool - seek_absolute - classFLAC_1_1Decoder_1_1Stream.html - ac146128003d4ccd46bcffa82003e545c - (FLAC__uint64 sample) - - - virtual ::FLAC__StreamDecoderReadStatus - read_callback - classFLAC_1_1Decoder_1_1File.html - a48c900fc010f14786e98908377f41195 - (FLAC__byte buffer[], size_t *bytes) - - - virtual ::FLAC__StreamDecoderSeekStatus - seek_callback - classFLAC_1_1Decoder_1_1Stream.html - af6f7e0811f34837752fbe20f3348f895 - (FLAC__uint64 absolute_byte_offset) - - - virtual ::FLAC__StreamDecoderTellStatus - tell_callback - classFLAC_1_1Decoder_1_1Stream.html - a0075cb08ab7bf5230ec0360ae3065a50 - (FLAC__uint64 *absolute_byte_offset) - - - virtual ::FLAC__StreamDecoderLengthStatus - length_callback - classFLAC_1_1Decoder_1_1Stream.html - a6a9af9305783c4af4b93698293dcdf84 - (FLAC__uint64 *stream_length) - - - virtual bool - eof_callback - classFLAC_1_1Decoder_1_1Stream.html - ac06aa682efc2e819624e78a3e6b4bd7b - () - - - virtual ::FLAC__StreamDecoderWriteStatus - write_callback - classFLAC_1_1Decoder_1_1Stream.html - af5a61e9ff720cca3eb38d1f2790f00fb - (const ::FLAC__Frame *frame, const FLAC__int32 *const buffer[])=0 - - - virtual void - metadata_callback - classFLAC_1_1Decoder_1_1Stream.html - a20d0873073d9542e08fb48becaa607c9 - (const ::FLAC__StreamMetadata *metadata) - - - virtual void - error_callback - classFLAC_1_1Decoder_1_1Stream.html - a0dbadd163ade7bc2d1858e7a435d5e52 - (::FLAC__StreamDecoderErrorStatus status)=0 - - - - FLAC::Decoder::Stream - classFLAC_1_1Decoder_1_1Stream.html - FLAC::Decoder::Stream::State - - virtual bool - is_valid - classFLAC_1_1Decoder_1_1Stream.html - a031b66dfb0e613a83ac302e7c94c7156 - () const - - - - operator bool - classFLAC_1_1Decoder_1_1Stream.html - a390efefcf618ca7f3bfcc1d88ecdb4a1 - () const - - - virtual bool - set_ogg_serial_number - classFLAC_1_1Decoder_1_1Stream.html - aa257e8156474458cd8eed2902d3c2674 - (long value) - - - virtual bool - set_md5_checking - classFLAC_1_1Decoder_1_1Stream.html - a8f46d34c10a65d9c48e990f9b3bbe4e2 - (bool value) - - - virtual bool - set_metadata_respond - classFLAC_1_1Decoder_1_1Stream.html - a9208dd09a48d7a3034119565f51f0c56 - (::FLAC__MetadataType type) - - - virtual bool - set_metadata_respond_application - classFLAC_1_1Decoder_1_1Stream.html - a95468ca8d92d1693b21203ad3e0d4545 - (const FLAC__byte id[4]) - - - virtual bool - set_metadata_respond_all - classFLAC_1_1Decoder_1_1Stream.html - a2ecec7b37f6f1d16ddcfee83a6919b5b - () - - - virtual bool - set_metadata_ignore - classFLAC_1_1Decoder_1_1Stream.html - ae239124fe0fc8fce3dcdae904bce7544 - (::FLAC__MetadataType type) - - - virtual bool - set_metadata_ignore_application - classFLAC_1_1Decoder_1_1Stream.html - ac963b9eaf8271fc47ef799901b6d3650 - (const FLAC__byte id[4]) - - - virtual bool - set_metadata_ignore_all - classFLAC_1_1Decoder_1_1Stream.html - a900ecb31410c4ce56f23477b22c1c799 - () - - - State - get_state - classFLAC_1_1Decoder_1_1Stream.html - ab9b2544cf4e3b6e045ce3a6341d5a62c - () const - - - virtual bool - get_md5_checking - classFLAC_1_1Decoder_1_1Stream.html - a4264fbd1585cbeb1a28b81c2b09323b6 - () const - - - virtual FLAC__uint64 - get_total_samples - classFLAC_1_1Decoder_1_1Stream.html - ac767e144749a6b7f4bb6fa0ab7959114 - () const - - - virtual uint32_t - get_channels - classFLAC_1_1Decoder_1_1Stream.html - a599a8cc8fa2522f5886977f616d144d7 - () const - - - virtual ::FLAC__ChannelAssignment - get_channel_assignment - classFLAC_1_1Decoder_1_1Stream.html - a7810225c9440e0bceb4e9c5e8d728be1 - () const - - - virtual uint32_t - get_bits_per_sample - classFLAC_1_1Decoder_1_1Stream.html - a55fa74c9d7a7daf444c43adf624b7a3b - () const - - - virtual uint32_t - get_sample_rate - classFLAC_1_1Decoder_1_1Stream.html - a1413d69a409dc80a5774a061915393eb - () const - - - virtual uint32_t - get_blocksize - classFLAC_1_1Decoder_1_1Stream.html - a6f0b833696a9e12c0914f20350af5006 - () const - - - virtual bool - get_decode_position - classFLAC_1_1Decoder_1_1Stream.html - a36100b072893e211331099e06084cfab - (FLAC__uint64 *position) const - - - virtual ::FLAC__StreamDecoderInitStatus - init - classFLAC_1_1Decoder_1_1Stream.html - a33169215b21ff3582c0c1f5fef6dda47 - () - - - virtual ::FLAC__StreamDecoderInitStatus - init_ogg - classFLAC_1_1Decoder_1_1Stream.html - adb52518fda2e3e544f4c8807f4227ba7 - () - - - virtual bool - finish - classFLAC_1_1Decoder_1_1Stream.html - a0221e9ba254566331e8d0e33579ee3c0 - () - - - virtual bool - flush - classFLAC_1_1Decoder_1_1Stream.html - a9cb00ff4543d411a9b3c64b1f3f058bb - () - - - virtual bool - reset - classFLAC_1_1Decoder_1_1Stream.html - a7b6b4665e139234fa80acd0a1f16ca7c - () - - - virtual bool - process_single - classFLAC_1_1Decoder_1_1Stream.html - ab50ff5df74c47f4e0f1c91d63a59f5ac - () - - - virtual bool - process_until_end_of_metadata - classFLAC_1_1Decoder_1_1Stream.html - ab0cabe42278b18e9d3dbfee39cc720cf - () - - - virtual bool - process_until_end_of_stream - classFLAC_1_1Decoder_1_1Stream.html - afbd6ff20477cae1ace00b8c304a4795a - () - - - virtual bool - skip_single_frame - classFLAC_1_1Decoder_1_1Stream.html - a30a738e7ae11f389c58a74f7ff647fe4 - () - - - virtual bool - seek_absolute - classFLAC_1_1Decoder_1_1Stream.html - ac146128003d4ccd46bcffa82003e545c - (FLAC__uint64 sample) - - - virtual ::FLAC__StreamDecoderReadStatus - read_callback - classFLAC_1_1Decoder_1_1Stream.html - af91735b6c715ca648493e837f513ef3d - (FLAC__byte buffer[], size_t *bytes)=0 - - - virtual ::FLAC__StreamDecoderSeekStatus - seek_callback - classFLAC_1_1Decoder_1_1Stream.html - af6f7e0811f34837752fbe20f3348f895 - (FLAC__uint64 absolute_byte_offset) - - - virtual ::FLAC__StreamDecoderTellStatus - tell_callback - classFLAC_1_1Decoder_1_1Stream.html - a0075cb08ab7bf5230ec0360ae3065a50 - (FLAC__uint64 *absolute_byte_offset) - - - virtual ::FLAC__StreamDecoderLengthStatus - length_callback - classFLAC_1_1Decoder_1_1Stream.html - a6a9af9305783c4af4b93698293dcdf84 - (FLAC__uint64 *stream_length) - - - virtual bool - eof_callback - classFLAC_1_1Decoder_1_1Stream.html - ac06aa682efc2e819624e78a3e6b4bd7b - () - - - virtual ::FLAC__StreamDecoderWriteStatus - write_callback - classFLAC_1_1Decoder_1_1Stream.html - af5a61e9ff720cca3eb38d1f2790f00fb - (const ::FLAC__Frame *frame, const FLAC__int32 *const buffer[])=0 - - - virtual void - metadata_callback - classFLAC_1_1Decoder_1_1Stream.html - a20d0873073d9542e08fb48becaa607c9 - (const ::FLAC__StreamMetadata *metadata) - - - virtual void - error_callback - classFLAC_1_1Decoder_1_1Stream.html - a0dbadd163ade7bc2d1858e7a435d5e52 - (::FLAC__StreamDecoderErrorStatus status)=0 - - - - FLAC::Decoder::Stream::State - classFLAC_1_1Decoder_1_1Stream_1_1State.html - - - FLAC::Encoder::File - classFLAC_1_1Encoder_1_1File.html - FLAC::Encoder::Stream - - virtual ::FLAC__StreamEncoderInitStatus - init - classFLAC_1_1Encoder_1_1File.html - afefae0d1c92f0d63d7be69a54667ff79 - (FILE *file) - - - virtual ::FLAC__StreamEncoderInitStatus - init - classFLAC_1_1Encoder_1_1File.html - a31016dd8e1db5bb9c1c3739b94fdb3e3 - (const char *filename) - - - virtual ::FLAC__StreamEncoderInitStatus - init - classFLAC_1_1Encoder_1_1File.html - a4966ed5f77dbf5a03946ff25f60a0f8c - (const std::string &filename) - - - virtual ::FLAC__StreamEncoderInitStatus - init_ogg - classFLAC_1_1Encoder_1_1File.html - a5dfab60d9cae983899e0b0f6e1ab9377 - (FILE *file) - - - virtual ::FLAC__StreamEncoderInitStatus - init_ogg - classFLAC_1_1Encoder_1_1File.html - a0740ed07b77e49a76f8ddc0e79540eae - (const char *filename) - - - virtual ::FLAC__StreamEncoderInitStatus - init_ogg - classFLAC_1_1Encoder_1_1File.html - a202881c81ed146e9a83f7378cf1de2d6 - (const std::string &filename) - - - virtual ::FLAC__StreamEncoderInitStatus - init - classFLAC_1_1Encoder_1_1File.html - a17bfdc6402a626db36ee23985ee959b6 - () - - - virtual ::FLAC__StreamEncoderInitStatus - init_ogg - classFLAC_1_1Encoder_1_1File.html - a6cd96756d387c89555b4fb36e3323f35 - () - - - virtual bool - is_valid - classFLAC_1_1Encoder_1_1Stream.html - a7115abbe5b89823738e0d95f5fb77d78 - () const - - - - operator bool - classFLAC_1_1Encoder_1_1Stream.html - a05ed6d063785bf3eac594480661e8132 - () const - - - virtual bool - set_ogg_serial_number - classFLAC_1_1Encoder_1_1Stream.html - adf54d79eb0e6dce071f46be6f2c2d55c - (long value) - - - virtual bool - set_verify - classFLAC_1_1Encoder_1_1Stream.html - a85c2296aedf8d4cd2d9f284b1c3205f8 - (bool value) - - - virtual bool - set_streamable_subset - classFLAC_1_1Encoder_1_1Stream.html - a85d78d5333b05e8a76a1edc9462dbfbc - (bool value) - - - virtual bool - set_channels - classFLAC_1_1Encoder_1_1Stream.html - a6b9175bcf32b465ef5579cf67b23c461 - (uint32_t value) - - - virtual bool - set_bits_per_sample - classFLAC_1_1Encoder_1_1Stream.html - a6db7416a187b853d612fa060d93fb460 - (uint32_t value) - - - virtual bool - set_sample_rate - classFLAC_1_1Encoder_1_1Stream.html - a5b26c4a46d80d8c5e1711d2f1cac9ff3 - (uint32_t value) - - - virtual bool - set_compression_level - classFLAC_1_1Encoder_1_1Stream.html - a19e62dc289edf88ad5ec83f4bb3a4aed - (uint32_t value) - - - virtual bool - set_blocksize - classFLAC_1_1Encoder_1_1Stream.html - a448c7b7bfb8579f78576532fb6db5d9d - (uint32_t value) - - - virtual bool - set_do_mid_side_stereo - classFLAC_1_1Encoder_1_1Stream.html - a034ab145e428444b0c6cc4d6818b1121 - (bool value) - - - virtual bool - set_loose_mid_side_stereo - classFLAC_1_1Encoder_1_1Stream.html - aa691def57681119f0cb99804db7959d0 - (bool value) - - - virtual bool - set_apodization - classFLAC_1_1Encoder_1_1Stream.html - a4b9a35fd8996be1a4c46fafd41e34e28 - (const char *specification) - - - virtual bool - set_max_lpc_order - classFLAC_1_1Encoder_1_1Stream.html - aff086f1265804e40504b3a471ffbf1c6 - (uint32_t value) - - - virtual bool - set_qlp_coeff_precision - classFLAC_1_1Encoder_1_1Stream.html - a68454d727b7df082b1ca6e20542f0493 - (uint32_t value) - - - virtual bool - set_do_qlp_coeff_prec_search - classFLAC_1_1Encoder_1_1Stream.html - a9a63c0657c6834229d67e64adaf61fde - (bool value) - - - virtual bool - set_do_escape_coding - classFLAC_1_1Encoder_1_1Stream.html - a4a5b69ec2f0a329a662519021a022266 - (bool value) - - - virtual bool - set_do_exhaustive_model_search - classFLAC_1_1Encoder_1_1Stream.html - a3832c6e375edfb304ea6dcf7afb15c83 - (bool value) - - - virtual bool - set_min_residual_partition_order - classFLAC_1_1Encoder_1_1Stream.html - a4574d815ae9367fc0972ebda437fe27c - (uint32_t value) - - - virtual bool - set_max_residual_partition_order - classFLAC_1_1Encoder_1_1Stream.html - a0933895f3d004edbd7d5266185c43e28 - (uint32_t value) - - - virtual bool - set_rice_parameter_search_dist - classFLAC_1_1Encoder_1_1Stream.html - a859360cccd85c279f3a032b8d578976c - (uint32_t value) - - - virtual bool - set_total_samples_estimate - classFLAC_1_1Encoder_1_1Stream.html - a5f9de26084c378a7cd55919381465c24 - (FLAC__uint64 value) - - - virtual bool - set_metadata - classFLAC_1_1Encoder_1_1Stream.html - ac0fe4955fb5e49f4a97cb5bf942c3b03 - (::FLAC__StreamMetadata **metadata, uint32_t num_blocks) - - - virtual bool - set_metadata - classFLAC_1_1Encoder_1_1Stream.html - a66c62377bda60758c7ebf5c5abb8a516 - (FLAC::Metadata::Prototype **metadata, uint32_t num_blocks) - - - virtual bool - set_limit_min_bitrate - classFLAC_1_1Encoder_1_1Stream.html - a1f17583a5d4d35b89ce742c0c1bc401d - (bool value) - - - State - get_state - classFLAC_1_1Encoder_1_1Stream.html - aa10fe1df856bdf720c598d8512c0b91d - () const - - - virtual Decoder::Stream::State - get_verify_decoder_state - classFLAC_1_1Encoder_1_1Stream.html - a8e5bd3b3bcf7bb28ac5bd99045227d71 - () const - - - virtual void - get_verify_decoder_error_stats - classFLAC_1_1Encoder_1_1Stream.html - a2016d7cebb7daa740c5751917b922319 - (FLAC__uint64 *absolute_sample, uint32_t *frame_number, uint32_t *channel, uint32_t *sample, FLAC__int32 *expected, FLAC__int32 *got) - - - virtual bool - get_verify - classFLAC_1_1Encoder_1_1Stream.html - aa37963386c64655f2472f70d6ef78995 - () const - - - virtual bool - get_streamable_subset - classFLAC_1_1Encoder_1_1Stream.html - a4cb50455b54a99922bb1c3032ac3c12f - () const - - - virtual bool - get_do_mid_side_stereo - classFLAC_1_1Encoder_1_1Stream.html - a0174159dde34f8235e0c8ecdf530f655 - () const - - - virtual bool - get_loose_mid_side_stereo - classFLAC_1_1Encoder_1_1Stream.html - a71efc8132af5742aa9e243be565c7eda - () const - - - virtual uint32_t - get_channels - classFLAC_1_1Encoder_1_1Stream.html - a98a887884592b75ef7e84421eb0e0d36 - () const - - - virtual uint32_t - get_bits_per_sample - classFLAC_1_1Encoder_1_1Stream.html - a5a3dbd29faf0e10947bc9a52bb686cd5 - () const - - - virtual uint32_t - get_sample_rate - classFLAC_1_1Encoder_1_1Stream.html - ac6ac01067586112a448ac0b856c1f722 - () const - - - virtual uint32_t - get_blocksize - classFLAC_1_1Encoder_1_1Stream.html - a72f1cb4f655ba38dfbcc5ddff660b34a - () const - - - virtual uint32_t - get_max_lpc_order - classFLAC_1_1Encoder_1_1Stream.html - ab5809af7b04e2fd61116ff9f215568b0 - () const - - - virtual uint32_t - get_qlp_coeff_precision - classFLAC_1_1Encoder_1_1Stream.html - a85b5987212037e8f71dc7d215a31fe9a - () const - - - virtual bool - get_do_qlp_coeff_prec_search - classFLAC_1_1Encoder_1_1Stream.html - a7a1d05858b28f916ec04c74865da0122 - () const - - - virtual bool - get_do_escape_coding - classFLAC_1_1Encoder_1_1Stream.html - ab728524b3c28fa331309c83bea23c0b5 - () const - - - virtual bool - get_do_exhaustive_model_search - classFLAC_1_1Encoder_1_1Stream.html - a14083e5a1b62425335fdb957d6d0e1b9 - () const - - - virtual uint32_t - get_min_residual_partition_order - classFLAC_1_1Encoder_1_1Stream.html - aba92b184c09870ec2bc0e3b06dcb7358 - () const - - - virtual uint32_t - get_max_residual_partition_order - classFLAC_1_1Encoder_1_1Stream.html - a71f704ca4bfd47bffb9d7e295b652b93 - () const - - - virtual uint32_t - get_rice_parameter_search_dist - classFLAC_1_1Encoder_1_1Stream.html - ab61f5dc890c98a122ae9aa9646d845f4 - () const - - - virtual FLAC__uint64 - get_total_samples_estimate - classFLAC_1_1Encoder_1_1Stream.html - acfb2d26a0546b741fcccd5ede2756072 - () const - - - virtual bool - get_limit_min_bitrate - classFLAC_1_1Encoder_1_1Stream.html - ac70c897d3648ca801dd161a6cae17838 - () const - - - virtual bool - finish - classFLAC_1_1Encoder_1_1Stream.html - ad70a30287eb9e062454ca296b9628318 - () - - - virtual bool - process - classFLAC_1_1Encoder_1_1Stream.html - ac59f444575b9d745bf6ea7b824e9507f - (const FLAC__int32 *const buffer[], uint32_t samples) - - - virtual bool - process_interleaved - classFLAC_1_1Encoder_1_1Stream.html - ace0f417b4dff658f6d689a04114d6999 - (const FLAC__int32 buffer[], uint32_t samples) - - - virtual void - progress_callback - classFLAC_1_1Encoder_1_1File.html - ac4c54a7df4723015afeb669131df17bf - (FLAC__uint64 bytes_written, FLAC__uint64 samples_written, uint32_t frames_written, uint32_t total_frames_estimate) - - - virtual ::FLAC__StreamEncoderWriteStatus - write_callback - classFLAC_1_1Encoder_1_1File.html - a64c0e5118aa2d56f9e671e609728680e - (const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame) - - - virtual ::FLAC__StreamEncoderReadStatus - read_callback - classFLAC_1_1Encoder_1_1Stream.html - a483965ffe35ed652a5fca622c7791811 - (FLAC__byte buffer[], size_t *bytes) - - - virtual ::FLAC__StreamEncoderSeekStatus - seek_callback - classFLAC_1_1Encoder_1_1Stream.html - a7df3745afe10cd4dbcc3433a32fcb463 - (FLAC__uint64 absolute_byte_offset) - - - virtual ::FLAC__StreamEncoderTellStatus - tell_callback - classFLAC_1_1Encoder_1_1Stream.html - a5a4f38682e33172f53f7f374372fe1e0 - (FLAC__uint64 *absolute_byte_offset) - - - virtual void - metadata_callback - classFLAC_1_1Encoder_1_1Stream.html - ad9c6a7aa7720f215bfe3b65e032e148c - (const ::FLAC__StreamMetadata *metadata) - - - - FLAC::Encoder::Stream - classFLAC_1_1Encoder_1_1Stream.html - FLAC::Encoder::Stream::State - - virtual bool - is_valid - classFLAC_1_1Encoder_1_1Stream.html - a7115abbe5b89823738e0d95f5fb77d78 - () const - - - - operator bool - classFLAC_1_1Encoder_1_1Stream.html - a05ed6d063785bf3eac594480661e8132 - () const - - - virtual bool - set_ogg_serial_number - classFLAC_1_1Encoder_1_1Stream.html - adf54d79eb0e6dce071f46be6f2c2d55c - (long value) - - - virtual bool - set_verify - classFLAC_1_1Encoder_1_1Stream.html - a85c2296aedf8d4cd2d9f284b1c3205f8 - (bool value) - - - virtual bool - set_streamable_subset - classFLAC_1_1Encoder_1_1Stream.html - a85d78d5333b05e8a76a1edc9462dbfbc - (bool value) - - - virtual bool - set_channels - classFLAC_1_1Encoder_1_1Stream.html - a6b9175bcf32b465ef5579cf67b23c461 - (uint32_t value) - - - virtual bool - set_bits_per_sample - classFLAC_1_1Encoder_1_1Stream.html - a6db7416a187b853d612fa060d93fb460 - (uint32_t value) - - - virtual bool - set_sample_rate - classFLAC_1_1Encoder_1_1Stream.html - a5b26c4a46d80d8c5e1711d2f1cac9ff3 - (uint32_t value) - - - virtual bool - set_compression_level - classFLAC_1_1Encoder_1_1Stream.html - a19e62dc289edf88ad5ec83f4bb3a4aed - (uint32_t value) - - - virtual bool - set_blocksize - classFLAC_1_1Encoder_1_1Stream.html - a448c7b7bfb8579f78576532fb6db5d9d - (uint32_t value) - - - virtual bool - set_do_mid_side_stereo - classFLAC_1_1Encoder_1_1Stream.html - a034ab145e428444b0c6cc4d6818b1121 - (bool value) - - - virtual bool - set_loose_mid_side_stereo - classFLAC_1_1Encoder_1_1Stream.html - aa691def57681119f0cb99804db7959d0 - (bool value) - - - virtual bool - set_apodization - classFLAC_1_1Encoder_1_1Stream.html - a4b9a35fd8996be1a4c46fafd41e34e28 - (const char *specification) - - - virtual bool - set_max_lpc_order - classFLAC_1_1Encoder_1_1Stream.html - aff086f1265804e40504b3a471ffbf1c6 - (uint32_t value) - - - virtual bool - set_qlp_coeff_precision - classFLAC_1_1Encoder_1_1Stream.html - a68454d727b7df082b1ca6e20542f0493 - (uint32_t value) - - - virtual bool - set_do_qlp_coeff_prec_search - classFLAC_1_1Encoder_1_1Stream.html - a9a63c0657c6834229d67e64adaf61fde - (bool value) - - - virtual bool - set_do_escape_coding - classFLAC_1_1Encoder_1_1Stream.html - a4a5b69ec2f0a329a662519021a022266 - (bool value) - - - virtual bool - set_do_exhaustive_model_search - classFLAC_1_1Encoder_1_1Stream.html - a3832c6e375edfb304ea6dcf7afb15c83 - (bool value) - - - virtual bool - set_min_residual_partition_order - classFLAC_1_1Encoder_1_1Stream.html - a4574d815ae9367fc0972ebda437fe27c - (uint32_t value) - - - virtual bool - set_max_residual_partition_order - classFLAC_1_1Encoder_1_1Stream.html - a0933895f3d004edbd7d5266185c43e28 - (uint32_t value) - - - virtual bool - set_rice_parameter_search_dist - classFLAC_1_1Encoder_1_1Stream.html - a859360cccd85c279f3a032b8d578976c - (uint32_t value) - - - virtual bool - set_total_samples_estimate - classFLAC_1_1Encoder_1_1Stream.html - a5f9de26084c378a7cd55919381465c24 - (FLAC__uint64 value) - - - virtual bool - set_metadata - classFLAC_1_1Encoder_1_1Stream.html - ac0fe4955fb5e49f4a97cb5bf942c3b03 - (::FLAC__StreamMetadata **metadata, uint32_t num_blocks) - - - virtual bool - set_metadata - classFLAC_1_1Encoder_1_1Stream.html - a66c62377bda60758c7ebf5c5abb8a516 - (FLAC::Metadata::Prototype **metadata, uint32_t num_blocks) - - - virtual bool - set_limit_min_bitrate - classFLAC_1_1Encoder_1_1Stream.html - a1f17583a5d4d35b89ce742c0c1bc401d - (bool value) - - - State - get_state - classFLAC_1_1Encoder_1_1Stream.html - aa10fe1df856bdf720c598d8512c0b91d - () const - - - virtual Decoder::Stream::State - get_verify_decoder_state - classFLAC_1_1Encoder_1_1Stream.html - a8e5bd3b3bcf7bb28ac5bd99045227d71 - () const - - - virtual void - get_verify_decoder_error_stats - classFLAC_1_1Encoder_1_1Stream.html - a2016d7cebb7daa740c5751917b922319 - (FLAC__uint64 *absolute_sample, uint32_t *frame_number, uint32_t *channel, uint32_t *sample, FLAC__int32 *expected, FLAC__int32 *got) - - - virtual bool - get_verify - classFLAC_1_1Encoder_1_1Stream.html - aa37963386c64655f2472f70d6ef78995 - () const - - - virtual bool - get_streamable_subset - classFLAC_1_1Encoder_1_1Stream.html - a4cb50455b54a99922bb1c3032ac3c12f - () const - - - virtual bool - get_do_mid_side_stereo - classFLAC_1_1Encoder_1_1Stream.html - a0174159dde34f8235e0c8ecdf530f655 - () const - - - virtual bool - get_loose_mid_side_stereo - classFLAC_1_1Encoder_1_1Stream.html - a71efc8132af5742aa9e243be565c7eda - () const - - - virtual uint32_t - get_channels - classFLAC_1_1Encoder_1_1Stream.html - a98a887884592b75ef7e84421eb0e0d36 - () const - - - virtual uint32_t - get_bits_per_sample - classFLAC_1_1Encoder_1_1Stream.html - a5a3dbd29faf0e10947bc9a52bb686cd5 - () const - - - virtual uint32_t - get_sample_rate - classFLAC_1_1Encoder_1_1Stream.html - ac6ac01067586112a448ac0b856c1f722 - () const - - - virtual uint32_t - get_blocksize - classFLAC_1_1Encoder_1_1Stream.html - a72f1cb4f655ba38dfbcc5ddff660b34a - () const - - - virtual uint32_t - get_max_lpc_order - classFLAC_1_1Encoder_1_1Stream.html - ab5809af7b04e2fd61116ff9f215568b0 - () const - - - virtual uint32_t - get_qlp_coeff_precision - classFLAC_1_1Encoder_1_1Stream.html - a85b5987212037e8f71dc7d215a31fe9a - () const - - - virtual bool - get_do_qlp_coeff_prec_search - classFLAC_1_1Encoder_1_1Stream.html - a7a1d05858b28f916ec04c74865da0122 - () const - - - virtual bool - get_do_escape_coding - classFLAC_1_1Encoder_1_1Stream.html - ab728524b3c28fa331309c83bea23c0b5 - () const - - - virtual bool - get_do_exhaustive_model_search - classFLAC_1_1Encoder_1_1Stream.html - a14083e5a1b62425335fdb957d6d0e1b9 - () const - - - virtual uint32_t - get_min_residual_partition_order - classFLAC_1_1Encoder_1_1Stream.html - aba92b184c09870ec2bc0e3b06dcb7358 - () const - - - virtual uint32_t - get_max_residual_partition_order - classFLAC_1_1Encoder_1_1Stream.html - a71f704ca4bfd47bffb9d7e295b652b93 - () const - - - virtual uint32_t - get_rice_parameter_search_dist - classFLAC_1_1Encoder_1_1Stream.html - ab61f5dc890c98a122ae9aa9646d845f4 - () const - - - virtual FLAC__uint64 - get_total_samples_estimate - classFLAC_1_1Encoder_1_1Stream.html - acfb2d26a0546b741fcccd5ede2756072 - () const - - - virtual bool - get_limit_min_bitrate - classFLAC_1_1Encoder_1_1Stream.html - ac70c897d3648ca801dd161a6cae17838 - () const - - - virtual ::FLAC__StreamEncoderInitStatus - init - classFLAC_1_1Encoder_1_1Stream.html - a17bfdc6402a626db36ee23985ee959b6 - () - - - virtual ::FLAC__StreamEncoderInitStatus - init_ogg - classFLAC_1_1Encoder_1_1Stream.html - a6cd96756d387c89555b4fb36e3323f35 - () - - - virtual bool - finish - classFLAC_1_1Encoder_1_1Stream.html - ad70a30287eb9e062454ca296b9628318 - () - - - virtual bool - process - classFLAC_1_1Encoder_1_1Stream.html - ac59f444575b9d745bf6ea7b824e9507f - (const FLAC__int32 *const buffer[], uint32_t samples) - - - virtual bool - process_interleaved - classFLAC_1_1Encoder_1_1Stream.html - ace0f417b4dff658f6d689a04114d6999 - (const FLAC__int32 buffer[], uint32_t samples) - - - virtual ::FLAC__StreamEncoderReadStatus - read_callback - classFLAC_1_1Encoder_1_1Stream.html - a483965ffe35ed652a5fca622c7791811 - (FLAC__byte buffer[], size_t *bytes) - - - virtual ::FLAC__StreamEncoderWriteStatus - write_callback - classFLAC_1_1Encoder_1_1Stream.html - ad225a9143e538103fa88865c3750ad8b - (const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame)=0 - - - virtual ::FLAC__StreamEncoderSeekStatus - seek_callback - classFLAC_1_1Encoder_1_1Stream.html - a7df3745afe10cd4dbcc3433a32fcb463 - (FLAC__uint64 absolute_byte_offset) - - - virtual ::FLAC__StreamEncoderTellStatus - tell_callback - classFLAC_1_1Encoder_1_1Stream.html - a5a4f38682e33172f53f7f374372fe1e0 - (FLAC__uint64 *absolute_byte_offset) - - - virtual void - metadata_callback - classFLAC_1_1Encoder_1_1Stream.html - ad9c6a7aa7720f215bfe3b65e032e148c - (const ::FLAC__StreamMetadata *metadata) - - - - FLAC::Encoder::Stream::State - classFLAC_1_1Encoder_1_1Stream_1_1State.html - - - FLAC::Metadata::Application - classFLAC_1_1Metadata_1_1Application.html - FLAC::Metadata::Prototype - - - Application - group__flacpp__metadata__level2.html - gac852c4aa3be004f1ffa4895ca54354a0 - (const Application &object) - - - - Application - group__flacpp__metadata__level2.html - ga354471e537af33ba0c86de4db988efd1 - (::FLAC__StreamMetadata *object, bool copy) - - - Application & - operator= - group__flacpp__metadata__level2.html - ga749891da34b3d709c16129bdbbea1879 - (const Application &object) - - - Application & - assign - group__flacpp__metadata__level2.html - gaf42f0ffe86877a68609f1032c859ae75 - (::FLAC__StreamMetadata *object, bool copy) - - - bool - operator== - group__flacpp__metadata__level2.html - ga89c2e1e78226550b47fceb2ab7fe1fa8 - (const Application &object) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gadf4f2c38053d0d39e735c5f30b9934cf - (const Application &object) const - - - bool - set_data - group__flacpp__metadata__level2.html - ga95eaa06ca65af25385cf05f4942100b8 - (const FLAC__byte *data, uint32_t length) - - - bool - operator== - group__flacpp__metadata__level2.html - ga5f1ce22db46834e315363e730f24ffaf - (const Prototype &) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gab8e067674ea0181dc0756bbb5b242c6e - (const Prototype &) const - - - bool - is_valid - group__flacpp__metadata__level2.html - ga0466615f2d7e725d1fc33bd1ae72ea5b - () const - - - bool - get_is_last - group__flacpp__metadata__level2.html - gad88ba607c1bb6b3729b4a729be181db8 - () const - - - ::FLAC__MetadataType - get_type - group__flacpp__metadata__level2.html - ga524f81715c9aae70ba8b1b7ee4565171 - () const - - - uint32_t - get_length - group__flacpp__metadata__level2.html - ga5d95592dea00bcf47dcdbc0b7224cf9e - () const - - - void - set_is_last - group__flacpp__metadata__level2.html - gaf40c7c078e408f7d6d0b5f521a013315 - (bool) - - - - operator const ::FLAC__StreamMetadata * - group__flacpp__metadata__level2.html - ga72cc341e319780e2dca66d7c28bd0200 - () const - - - Prototype & - assign_object - group__flacpp__metadata__level2.html - ga553ddf0187b31218ecfb0d7ba259fda0 - (::FLAC__StreamMetadata *object, bool copy) - - - virtual void - clear - group__flacpp__metadata__level2.html - gaa54338931745f7f1b1d8240441efedb8 - () - - - - FLAC::Metadata::Chain - classFLAC_1_1Metadata_1_1Chain.html - FLAC::Metadata::Chain::Status - - bool - is_valid - group__flacpp__metadata__level2.html - ga62ff055714c8ce75d907ae58738113a4 - () const - - - Status - status - group__flacpp__metadata__level2.html - ga02d7a4adc89e37b28eaccbccfe5da5b0 - () - - - bool - read - group__flacpp__metadata__level2.html - ga509bf6a75a12df65bc77947a4765d9c1 - (const char *filename, bool is_ogg=false) - - - bool - read - group__flacpp__metadata__level2.html - ga030c805328fc8b2da947830959dafb5b - (FLAC__IOHandle handle, FLAC__IOCallbacks callbacks, bool is_ogg=false) - - - bool - check_if_tempfile_needed - group__flacpp__metadata__level2.html - ga1d54ed419365faf5429caa84b35265c3 - (bool use_padding) - - - bool - write - group__flacpp__metadata__level2.html - ga2341690885e2312013afc561e6fafd81 - (bool use_padding=true, bool preserve_file_stats=false) - - - bool - write - group__flacpp__metadata__level2.html - ga0ef47e1634bca2d269ac49fc164306b5 - (bool use_padding, ::FLAC__IOHandle handle, ::FLAC__IOCallbacks callbacks) - - - bool - write - group__flacpp__metadata__level2.html - ga37b863c4d490fea96f67294f03fbe975 - (bool use_padding, ::FLAC__IOHandle handle, ::FLAC__IOCallbacks callbacks, ::FLAC__IOHandle temp_handle, ::FLAC__IOCallbacks temp_callbacks) - - - void - merge_padding - group__flacpp__metadata__level2.html - gaef51a0414284f468a2d73c07b540641d - () - - - void - sort_padding - group__flacpp__metadata__level2.html - ga779eaac12da7e7edac67089053e5907f - () - - - - FLAC::Metadata::Chain::Status - classFLAC_1_1Metadata_1_1Chain_1_1Status.html - - - FLAC::Metadata::CueSheet - classFLAC_1_1Metadata_1_1CueSheet.html - FLAC::Metadata::Prototype - FLAC::Metadata::CueSheet::Track - - - CueSheet - group__flacpp__metadata__level2.html - gaff87fa8ab761fc12c0f37b6ff033f74e - (const CueSheet &object) - - - - CueSheet - group__flacpp__metadata__level2.html - gadd934e1916c2427197f8a5654f7ffae9 - (::FLAC__StreamMetadata *object, bool copy) - - - CueSheet & - operator= - group__flacpp__metadata__level2.html - gae5a2121b375344645b2dd62a68fa22bf - (const CueSheet &object) - - - CueSheet & - assign - group__flacpp__metadata__level2.html - ga5ab1dd1f6d7e1c36165dc361296d9704 - (::FLAC__StreamMetadata *object, bool copy) - - - bool - operator== - group__flacpp__metadata__level2.html - gad101b9f069c4af9053718b408a9737f5 - (const CueSheet &object) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gad02b4b1f541c8607a233a248ec295db9 - (const CueSheet &object) const - - - bool - resize_indices - group__flacpp__metadata__level2.html - ga7dd7822a201fa2310410029a36f4f1ac - (uint32_t track_num, uint32_t new_num_indices) - - - bool - insert_index - group__flacpp__metadata__level2.html - gacebb3ac32324137091b965a9e9ba2edf - (uint32_t track_num, uint32_t index_num, const ::FLAC__StreamMetadata_CueSheet_Index &index) - - - bool - insert_blank_index - group__flacpp__metadata__level2.html - ga294125ebcaf6c1576759b74f4ba96aa6 - (uint32_t track_num, uint32_t index_num) - - - bool - delete_index - group__flacpp__metadata__level2.html - ga01c9f6ec36ba9b538ac3c9de993551f8 - (uint32_t track_num, uint32_t index_num) - - - bool - resize_tracks - group__flacpp__metadata__level2.html - ga8d574ef586ab17413dbf1cb45b630a69 - (uint32_t new_num_tracks) - - - bool - set_track - group__flacpp__metadata__level2.html - ga5854e1797bf5161d1dc7e9cca5201bc9 - (uint32_t i, const Track &track) - - - bool - insert_track - group__flacpp__metadata__level2.html - gaeef4dc2ff2f9cc102855aec900860ce6 - (uint32_t i, const Track &track) - - - bool - insert_blank_track - group__flacpp__metadata__level2.html - gabe22447cc77d2f12092b68493ad2fca5 - (uint32_t i) - - - bool - delete_track - group__flacpp__metadata__level2.html - ga742ea19be39cd5ad23aeac04671c44ae - (uint32_t i) - - - bool - is_legal - group__flacpp__metadata__level2.html - ga920da7efb6143683543440c2409b3d26 - (bool check_cd_da_subset=false, const char **violation=0) const - - - FLAC__uint32 - calculate_cddb_id - group__flacpp__metadata__level2.html - ga7f03abfc2473e54a766c888c8cd431b6 - () const - - - bool - operator== - group__flacpp__metadata__level2.html - ga5f1ce22db46834e315363e730f24ffaf - (const Prototype &) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gab8e067674ea0181dc0756bbb5b242c6e - (const Prototype &) const - - - bool - is_valid - group__flacpp__metadata__level2.html - ga0466615f2d7e725d1fc33bd1ae72ea5b - () const - - - bool - get_is_last - group__flacpp__metadata__level2.html - gad88ba607c1bb6b3729b4a729be181db8 - () const - - - ::FLAC__MetadataType - get_type - group__flacpp__metadata__level2.html - ga524f81715c9aae70ba8b1b7ee4565171 - () const - - - uint32_t - get_length - group__flacpp__metadata__level2.html - ga5d95592dea00bcf47dcdbc0b7224cf9e - () const - - - void - set_is_last - group__flacpp__metadata__level2.html - gaf40c7c078e408f7d6d0b5f521a013315 - (bool) - - - - operator const ::FLAC__StreamMetadata * - group__flacpp__metadata__level2.html - ga72cc341e319780e2dca66d7c28bd0200 - () const - - - Prototype & - assign_object - group__flacpp__metadata__level2.html - ga553ddf0187b31218ecfb0d7ba259fda0 - (::FLAC__StreamMetadata *object, bool copy) - - - virtual void - clear - group__flacpp__metadata__level2.html - gaa54338931745f7f1b1d8240441efedb8 - () - - - - FLAC::Metadata::CueSheet::Track - classFLAC_1_1Metadata_1_1CueSheet_1_1Track.html - - virtual bool - is_valid - group__flacpp__metadata__level2.html - gac0fb597614c2327157e765ea278b014f - () const - - - - FLAC::Metadata::Iterator - classFLAC_1_1Metadata_1_1Iterator.html - - bool - is_valid - group__flacpp__metadata__level2.html - ga42057c663e277d83cc91763730d38b0f - () const - - - void - init - group__flacpp__metadata__level2.html - gab5713af7318f10a46bd8b26ce586947c - (Chain &chain) - - - bool - next - group__flacpp__metadata__level2.html - ga1d2871fc1fdcc5dffee1eafd7019f4a0 - () - - - bool - prev - group__flacpp__metadata__level2.html - gade6ee6b67b22115959e2adfc65d5d3b4 - () - - - ::FLAC__MetadataType - get_block_type - group__flacpp__metadata__level2.html - gaa25cb3c27e4d6250f98605f89b0fa904 - () const - - - Prototype * - get_block - group__flacpp__metadata__level2.html - ga9fb167ff8f0b058e244353a21541f3d7 - () - - - bool - set_block - group__flacpp__metadata__level2.html - ga3123daf89fca2a8981c9f361f466a418 - (Prototype *block) - - - bool - delete_block - group__flacpp__metadata__level2.html - ga67adaa4ae39cf405ee0f4674ca8836dd - (bool replace_with_padding) - - - bool - insert_block_before - group__flacpp__metadata__level2.html - ga86de6d0b21ac08b74a2ea8c1a9adce36 - (Prototype *block) - - - bool - insert_block_after - group__flacpp__metadata__level2.html - ga73e7a3f7192f369cb3a19d078da504ab - (Prototype *block) - - - - FLAC::Metadata::Padding - classFLAC_1_1Metadata_1_1Padding.html - FLAC::Metadata::Prototype - - - Padding - group__flacpp__metadata__level2.html - ga3a5665a824530dec2906d76e665573ee - (const Padding &object) - - - - Padding - group__flacpp__metadata__level2.html - ga358085e3cec897ed0b0c88c8ac04618d - (::FLAC__StreamMetadata *object, bool copy) - - - - Padding - group__flacpp__metadata__level2.html - ga86b26d7f7df2a1b3ee0215f2b9352274 - (uint32_t length) - - - Padding & - operator= - group__flacpp__metadata__level2.html - gafcfc83524d1d4a8e6227557f96b4b08d - (const Padding &object) - - - Padding & - assign - group__flacpp__metadata__level2.html - ga8712aef7b4d754838e331ed2512025b9 - (::FLAC__StreamMetadata *object, bool copy) - - - bool - operator== - group__flacpp__metadata__level2.html - ga1c400bb08e873eae7a1a8640a97d4cde - (const Padding &object) const - - - bool - operator!= - group__flacpp__metadata__level2.html - ga12654720889aec7a4694c97f2b1f75b7 - (const Padding &object) const - - - void - set_length - group__flacpp__metadata__level2.html - ga07dae9d71b724f27f4bfbea26d7ab8fc - (uint32_t length) - - - bool - operator== - group__flacpp__metadata__level2.html - ga5f1ce22db46834e315363e730f24ffaf - (const Prototype &) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gab8e067674ea0181dc0756bbb5b242c6e - (const Prototype &) const - - - bool - is_valid - group__flacpp__metadata__level2.html - ga0466615f2d7e725d1fc33bd1ae72ea5b - () const - - - bool - get_is_last - group__flacpp__metadata__level2.html - gad88ba607c1bb6b3729b4a729be181db8 - () const - - - ::FLAC__MetadataType - get_type - group__flacpp__metadata__level2.html - ga524f81715c9aae70ba8b1b7ee4565171 - () const - - - uint32_t - get_length - group__flacpp__metadata__level2.html - ga5d95592dea00bcf47dcdbc0b7224cf9e - () const - - - void - set_is_last - group__flacpp__metadata__level2.html - gaf40c7c078e408f7d6d0b5f521a013315 - (bool) - - - - operator const ::FLAC__StreamMetadata * - group__flacpp__metadata__level2.html - ga72cc341e319780e2dca66d7c28bd0200 - () const - - - Prototype & - assign_object - group__flacpp__metadata__level2.html - ga553ddf0187b31218ecfb0d7ba259fda0 - (::FLAC__StreamMetadata *object, bool copy) - - - virtual void - clear - group__flacpp__metadata__level2.html - gaa54338931745f7f1b1d8240441efedb8 - () - - - - FLAC::Metadata::Picture - classFLAC_1_1Metadata_1_1Picture.html - FLAC::Metadata::Prototype - - - Picture - group__flacpp__metadata__level2.html - ga368985afb060fe1024129ed808392183 - (const Picture &object) - - - - Picture - group__flacpp__metadata__level2.html - ga703d5d8a88e9764714ee2dd25806e381 - (::FLAC__StreamMetadata *object, bool copy) - - - Picture & - operator= - group__flacpp__metadata__level2.html - gacef320e703be17cdb153a7a7f9d5a2f4 - (const Picture &object) - - - Picture & - assign - group__flacpp__metadata__level2.html - ga4aff0f2e0bd5de1efa0f6d7f3f4362dc - (::FLAC__StreamMetadata *object, bool copy) - - - bool - operator== - group__flacpp__metadata__level2.html - ga1cc03a87e1ada7b81af2dfe487d86fa7 - (const Picture &object) const - - - bool - operator!= - group__flacpp__metadata__level2.html - ga3b0c4fa11c7c54427e7aa690c8998692 - (const Picture &object) const - - - FLAC__uint32 - get_colors - group__flacpp__metadata__level2.html - gab44cabf75add1973ebde9f5f7ed6b780 - () const - - - bool - set_mime_type - group__flacpp__metadata__level2.html - gafb4e53cb8ae62ea0d9ebd1afdca40c3f - (const char *string) - - - bool - set_description - group__flacpp__metadata__level2.html - ga1bbcd96802a16fc36ac1b6610cd7d4a3 - (const FLAC__byte *string) - - - void - set_colors - group__flacpp__metadata__level2.html - ga8e7dc667ccc55e60abe2b8a751656097 - (FLAC__uint32 value) const - - - bool - set_data - group__flacpp__metadata__level2.html - ga301630d1c8f7647d0f192e6a2a03e6ba - (const FLAC__byte *data, FLAC__uint32 data_length) - - - bool - is_legal - group__flacpp__metadata__level2.html - gaf11147e2041b46d679b077e6ac26bea0 - (const char **violation) - - - bool - operator== - group__flacpp__metadata__level2.html - ga5f1ce22db46834e315363e730f24ffaf - (const Prototype &) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gab8e067674ea0181dc0756bbb5b242c6e - (const Prototype &) const - - - bool - is_valid - group__flacpp__metadata__level2.html - ga0466615f2d7e725d1fc33bd1ae72ea5b - () const - - - bool - get_is_last - group__flacpp__metadata__level2.html - gad88ba607c1bb6b3729b4a729be181db8 - () const - - - uint32_t - get_length - group__flacpp__metadata__level2.html - ga5d95592dea00bcf47dcdbc0b7224cf9e - () const - - - void - set_is_last - group__flacpp__metadata__level2.html - gaf40c7c078e408f7d6d0b5f521a013315 - (bool) - - - - operator const ::FLAC__StreamMetadata * - group__flacpp__metadata__level2.html - ga72cc341e319780e2dca66d7c28bd0200 - () const - - - Prototype & - assign_object - group__flacpp__metadata__level2.html - ga553ddf0187b31218ecfb0d7ba259fda0 - (::FLAC__StreamMetadata *object, bool copy) - - - virtual void - clear - group__flacpp__metadata__level2.html - gaa54338931745f7f1b1d8240441efedb8 - () - - - - FLAC::Metadata::Prototype - classFLAC_1_1Metadata_1_1Prototype.html - - virtual - ~Prototype - group__flacpp__metadata__level2.html - ga698fa1529af534ab5d1d98d0979844f6 - () - - - bool - operator== - group__flacpp__metadata__level2.html - ga5f1ce22db46834e315363e730f24ffaf - (const Prototype &) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gab8e067674ea0181dc0756bbb5b242c6e - (const Prototype &) const - - - bool - is_valid - group__flacpp__metadata__level2.html - ga0466615f2d7e725d1fc33bd1ae72ea5b - () const - - - bool - get_is_last - group__flacpp__metadata__level2.html - gad88ba607c1bb6b3729b4a729be181db8 - () const - - - ::FLAC__MetadataType - get_type - group__flacpp__metadata__level2.html - ga524f81715c9aae70ba8b1b7ee4565171 - () const - - - uint32_t - get_length - group__flacpp__metadata__level2.html - ga5d95592dea00bcf47dcdbc0b7224cf9e - () const - - - void - set_is_last - group__flacpp__metadata__level2.html - gaf40c7c078e408f7d6d0b5f521a013315 - (bool) - - - - operator const ::FLAC__StreamMetadata * - group__flacpp__metadata__level2.html - ga72cc341e319780e2dca66d7c28bd0200 - () const - - - - Prototype - group__flacpp__metadata__level2.html - gae49fa399a6273ccad7cb0e6f787a3f5c - (const Prototype &) - - - - Prototype - group__flacpp__metadata__level2.html - ga23ec8d118119578adb95de42fcbbaca2 - (::FLAC__StreamMetadata *object, bool copy) - - - Prototype & - operator= - group__flacpp__metadata__level2.html - gaa6e6fbd804baaba187f9e8859a9b05de - (const Prototype &) - - - Prototype & - assign_object - group__flacpp__metadata__level2.html - ga553ddf0187b31218ecfb0d7ba259fda0 - (::FLAC__StreamMetadata *object, bool copy) - - - virtual void - clear - group__flacpp__metadata__level2.html - gaa54338931745f7f1b1d8240441efedb8 - () - - - - FLAC::Metadata::SeekTable - classFLAC_1_1Metadata_1_1SeekTable.html - FLAC::Metadata::Prototype - - - SeekTable - group__flacpp__metadata__level2.html - ga7f93d054937829a85108cd423a56299f - (const SeekTable &object) - - - - SeekTable - group__flacpp__metadata__level2.html - gaccd82ef77dcc489280c0f46e443b16c7 - (::FLAC__StreamMetadata *object, bool copy) - - - SeekTable & - operator= - group__flacpp__metadata__level2.html - ga24b884eb73c52bd4a70f1519be39bbbc - (const SeekTable &object) - - - SeekTable & - assign - group__flacpp__metadata__level2.html - ga32328cf845281964ed733bc90015c0f9 - (::FLAC__StreamMetadata *object, bool copy) - - - bool - operator== - group__flacpp__metadata__level2.html - ga15966f2e33461ce14c3d98a41d47f94d - (const SeekTable &object) const - - - bool - operator!= - group__flacpp__metadata__level2.html - ga9b25b057f2fdbdc88e2db66d94ad0de4 - (const SeekTable &object) const - - - bool - resize_points - group__flacpp__metadata__level2.html - ga09783f913385728901ff93686456d647 - (uint32_t new_num_points) - - - void - set_point - group__flacpp__metadata__level2.html - gad01b009dc3aecd5e881b7b425439643f - (uint32_t index, const ::FLAC__StreamMetadata_SeekPoint &point) - - - bool - insert_point - group__flacpp__metadata__level2.html - gabc1476cf5960660fa5c5d4a65db1441f - (uint32_t index, const ::FLAC__StreamMetadata_SeekPoint &point) - - - bool - delete_point - group__flacpp__metadata__level2.html - ga0d8260db8b7534cc66fe2b80380c91bd - (uint32_t index) - - - bool - is_legal - group__flacpp__metadata__level2.html - ga8a47e1f8b8331024c2ae977d8bd104d6 - () const - - - bool - template_append_placeholders - group__flacpp__metadata__level2.html - gae8e334f73f3d8870df2e948aa5de1234 - (uint32_t num) - - - bool - template_append_point - group__flacpp__metadata__level2.html - ga9c05d6c010988cf2f336ab1c02c3c618 - (FLAC__uint64 sample_number) - - - bool - template_append_points - group__flacpp__metadata__level2.html - gad3c644c5e7de6b944feee725d396b27e - (FLAC__uint64 sample_numbers[], uint32_t num) - - - bool - template_append_spaced_points - group__flacpp__metadata__level2.html - ga6ecfcb2478134b483790276b22a4f8b2 - (uint32_t num, FLAC__uint64 total_samples) - - - bool - template_append_spaced_points_by_samples - group__flacpp__metadata__level2.html - ga64bc1300d59e79f6c99356bf4a256383 - (uint32_t samples, FLAC__uint64 total_samples) - - - bool - template_sort - group__flacpp__metadata__level2.html - ga09cc5c101fc9c26655de9ec91dcb502f - (bool compact) - - - bool - operator== - group__flacpp__metadata__level2.html - ga5f1ce22db46834e315363e730f24ffaf - (const Prototype &) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gab8e067674ea0181dc0756bbb5b242c6e - (const Prototype &) const - - - bool - is_valid - group__flacpp__metadata__level2.html - ga0466615f2d7e725d1fc33bd1ae72ea5b - () const - - - bool - get_is_last - group__flacpp__metadata__level2.html - gad88ba607c1bb6b3729b4a729be181db8 - () const - - - ::FLAC__MetadataType - get_type - group__flacpp__metadata__level2.html - ga524f81715c9aae70ba8b1b7ee4565171 - () const - - - uint32_t - get_length - group__flacpp__metadata__level2.html - ga5d95592dea00bcf47dcdbc0b7224cf9e - () const - - - void - set_is_last - group__flacpp__metadata__level2.html - gaf40c7c078e408f7d6d0b5f521a013315 - (bool) - - - - operator const ::FLAC__StreamMetadata * - group__flacpp__metadata__level2.html - ga72cc341e319780e2dca66d7c28bd0200 - () const - - - Prototype & - assign_object - group__flacpp__metadata__level2.html - ga553ddf0187b31218ecfb0d7ba259fda0 - (::FLAC__StreamMetadata *object, bool copy) - - - virtual void - clear - group__flacpp__metadata__level2.html - gaa54338931745f7f1b1d8240441efedb8 - () - - - - FLAC::Metadata::SimpleIterator - classFLAC_1_1Metadata_1_1SimpleIterator.html - FLAC::Metadata::SimpleIterator::Status - - bool - is_valid - group__flacpp__metadata__level2.html - ga5d528419f9c71d92b71d1d79cff52207 - () const - - - bool - init - group__flacpp__metadata__level2.html - ga67dc75f18d282f41696467f1fbf5c3e8 - (const char *filename, bool read_only, bool preserve_file_stats) - - - Status - status - group__flacpp__metadata__level2.html - ga9e681b6ad35b10633002ecea5cab37c3 - () - - - bool - is_writable - group__flacpp__metadata__level2.html - ga70d7bb568dc6190f9cc5be089eaed03b - () const - - - bool - next - group__flacpp__metadata__level2.html - gab399f6b8c5e35a1d18588279613ea63c - () - - - bool - prev - group__flacpp__metadata__level2.html - ga75a859af156322f451045418876eb6a3 - () - - - bool - is_last - group__flacpp__metadata__level2.html - gac83c8401b2e58a3e4ce03a9996523c44 - () const - - - off_t - get_block_offset - group__flacpp__metadata__level2.html - gad3779538af5b3fe7cdd2188c79bc80b0 - () const - - - ::FLAC__MetadataType - get_block_type - group__flacpp__metadata__level2.html - ga30dff6debdbc72aceac7a69b9c3bea75 - () const - - - uint32_t - get_block_length - group__flacpp__metadata__level2.html - ga7e53cef599f3ff984a847a4a251afea5 - () const - - - bool - get_application_id - group__flacpp__metadata__level2.html - ga426d06a9d079f74e82eaa217f14997a5 - (FLAC__byte *id) - - - Prototype * - get_block - group__flacpp__metadata__level2.html - ga61de602276e5159253b21a19590d3584 - () - - - bool - set_block - group__flacpp__metadata__level2.html - ga0ebd4df55346cbcec9ace04f7d7b484d - (Prototype *block, bool use_padding=true) - - - bool - insert_block_after - group__flacpp__metadata__level2.html - ga1d0e512147967b7e12ac22914fbe3818 - (Prototype *block, bool use_padding=true) - - - bool - delete_block - group__flacpp__metadata__level2.html - ga67824deff81e2f49c2f51db6b71565e8 - (bool use_padding=true) - - - - FLAC::Metadata::SimpleIterator::Status - classFLAC_1_1Metadata_1_1SimpleIterator_1_1Status.html - - - FLAC::Metadata::StreamInfo - classFLAC_1_1Metadata_1_1StreamInfo.html - FLAC::Metadata::Prototype - - - StreamInfo - group__flacpp__metadata__level2.html - gab86611073f13dd3e7aea386bb6f1a7a4 - (const StreamInfo &object) - - - - StreamInfo - group__flacpp__metadata__level2.html - gaaf4d96124e2b323398f7edf1aaf28003 - (::FLAC__StreamMetadata *object, bool copy) - - - StreamInfo & - operator= - group__flacpp__metadata__level2.html - gafcb52c9e5798433c992adc03b78af255 - (const StreamInfo &object) - - - StreamInfo & - assign - group__flacpp__metadata__level2.html - ga273c99834dac03cdae2bd73c5e0e3711 - (::FLAC__StreamMetadata *object, bool copy) - - - bool - operator== - group__flacpp__metadata__level2.html - ga4010b479ff46aad5ddd363bf456fbfa1 - (const StreamInfo &object) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gaf0f86d918ae7416e4de77215df6e861b - (const StreamInfo &object) const - - - uint32_t - get_min_blocksize - group__flacpp__metadata__level2.html - gaa53c8d9f0c5c396a51bbf543093121cc - () const - - - bool - operator== - group__flacpp__metadata__level2.html - ga5f1ce22db46834e315363e730f24ffaf - (const Prototype &) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gab8e067674ea0181dc0756bbb5b242c6e - (const Prototype &) const - - - bool - is_valid - group__flacpp__metadata__level2.html - ga0466615f2d7e725d1fc33bd1ae72ea5b - () const - - - bool - get_is_last - group__flacpp__metadata__level2.html - gad88ba607c1bb6b3729b4a729be181db8 - () const - - - ::FLAC__MetadataType - get_type - group__flacpp__metadata__level2.html - ga524f81715c9aae70ba8b1b7ee4565171 - () const - - - uint32_t - get_length - group__flacpp__metadata__level2.html - ga5d95592dea00bcf47dcdbc0b7224cf9e - () const - - - void - set_is_last - group__flacpp__metadata__level2.html - gaf40c7c078e408f7d6d0b5f521a013315 - (bool) - - - - operator const ::FLAC__StreamMetadata * - group__flacpp__metadata__level2.html - ga72cc341e319780e2dca66d7c28bd0200 - () const - - - Prototype & - assign_object - group__flacpp__metadata__level2.html - ga553ddf0187b31218ecfb0d7ba259fda0 - (::FLAC__StreamMetadata *object, bool copy) - - - virtual void - clear - group__flacpp__metadata__level2.html - gaa54338931745f7f1b1d8240441efedb8 - () - - - - FLAC::Metadata::Unknown - classFLAC_1_1Metadata_1_1Unknown.html - FLAC::Metadata::Prototype - - - Unknown - group__flacpp__metadata__level2.html - ga686a799c353cf7a3dc95bb8899318a6b - (const Unknown &object) - - - - Unknown - group__flacpp__metadata__level2.html - ga2fb76f94e891c3eea7209a461cab4279 - (::FLAC__StreamMetadata *object, bool copy) - - - Unknown & - operator= - group__flacpp__metadata__level2.html - gad71a2703435fc641490fb827c6e5c90f - (const Unknown &object) - - - Unknown & - assign - group__flacpp__metadata__level2.html - gafd6e5eba4b7d20bcba9ac35a3e8c3ef3 - (::FLAC__StreamMetadata *object, bool copy) - - - bool - operator== - group__flacpp__metadata__level2.html - ga3a94274ea08f3ff252216b82c07b73e1 - (const Unknown &object) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gaa700239bfb0acd74e7e8ca0b1cdfcdb5 - (const Unknown &object) const - - - bool - set_data - group__flacpp__metadata__level2.html - gad9618a004195b86f5989f5f0d396d028 - (const FLAC__byte *data, uint32_t length) - - - bool - operator== - group__flacpp__metadata__level2.html - ga5f1ce22db46834e315363e730f24ffaf - (const Prototype &) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gab8e067674ea0181dc0756bbb5b242c6e - (const Prototype &) const - - - bool - is_valid - group__flacpp__metadata__level2.html - ga0466615f2d7e725d1fc33bd1ae72ea5b - () const - - - bool - get_is_last - group__flacpp__metadata__level2.html - gad88ba607c1bb6b3729b4a729be181db8 - () const - - - ::FLAC__MetadataType - get_type - group__flacpp__metadata__level2.html - ga524f81715c9aae70ba8b1b7ee4565171 - () const - - - uint32_t - get_length - group__flacpp__metadata__level2.html - ga5d95592dea00bcf47dcdbc0b7224cf9e - () const - - - void - set_is_last - group__flacpp__metadata__level2.html - gaf40c7c078e408f7d6d0b5f521a013315 - (bool) - - - - operator const ::FLAC__StreamMetadata * - group__flacpp__metadata__level2.html - ga72cc341e319780e2dca66d7c28bd0200 - () const - - - Prototype & - assign_object - group__flacpp__metadata__level2.html - ga553ddf0187b31218ecfb0d7ba259fda0 - (::FLAC__StreamMetadata *object, bool copy) - - - virtual void - clear - group__flacpp__metadata__level2.html - gaa54338931745f7f1b1d8240441efedb8 - () - - - - FLAC::Metadata::VorbisComment - classFLAC_1_1Metadata_1_1VorbisComment.html - FLAC::Metadata::Prototype - FLAC::Metadata::VorbisComment::Entry - - - VorbisComment - group__flacpp__metadata__level2.html - ga436a5c6a42a83a88206376805743fe3b - (const VorbisComment &object) - - - - VorbisComment - group__flacpp__metadata__level2.html - ga65a73f4665db16ac7aec76e9f5e699f2 - (::FLAC__StreamMetadata *object, bool copy) - - - VorbisComment & - operator= - group__flacpp__metadata__level2.html - ga4d4e9b792231b89df47d392713ebd169 - (const VorbisComment &object) - - - VorbisComment & - assign - group__flacpp__metadata__level2.html - ga2f0f25eb213a02f71a096ee06444228e - (::FLAC__StreamMetadata *object, bool copy) - - - bool - operator== - group__flacpp__metadata__level2.html - ga40e48312009df9d321a46df47fceb63b - (const VorbisComment &object) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gac882ee4619675b1231d38a58af5fc8a8 - (const VorbisComment &object) const - - - bool - set_vendor_string - group__flacpp__metadata__level2.html - gad8cffdb4c43ba01eaa9a3f7be0d5926a - (const FLAC__byte *string) - - - bool - resize_comments - group__flacpp__metadata__level2.html - gad924744735bfd0dad8a30aabe2865cbb - (uint32_t new_num_comments) - - - bool - set_comment - group__flacpp__metadata__level2.html - gad179979211b6f4ed4ca0e8df0760b343 - (uint32_t index, const Entry &entry) - - - bool - insert_comment - group__flacpp__metadata__level2.html - gab1de71f1c0acdc93c1ed39b6b5e09956 - (uint32_t index, const Entry &entry) - - - bool - append_comment - group__flacpp__metadata__level2.html - ga1126c7a0f25a2cf78efc8317d3a861f2 - (const Entry &entry) - - - bool - replace_comment - group__flacpp__metadata__level2.html - ga240eb83264d05d953395e75e18e15ee2 - (const Entry &entry, bool all) - - - bool - delete_comment - group__flacpp__metadata__level2.html - gaf79834672ef87d30faa4574755f05ef8 - (uint32_t index) - - - int - find_entry_from - group__flacpp__metadata__level2.html - ga1a8d3eec60ce932566ce847fb7fbb97d - (uint32_t offset, const char *field_name) - - - int - remove_entry_matching - group__flacpp__metadata__level2.html - gaf0770518f35fe18fb9a0cc5c0542c4b7 - (const char *field_name) - - - int - remove_entries_matching - group__flacpp__metadata__level2.html - gadde2dc584e31f29d67fcc6d15d2d1034 - (const char *field_name) - - - bool - operator== - group__flacpp__metadata__level2.html - ga5f1ce22db46834e315363e730f24ffaf - (const Prototype &) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gab8e067674ea0181dc0756bbb5b242c6e - (const Prototype &) const - - - bool - is_valid - group__flacpp__metadata__level2.html - ga0466615f2d7e725d1fc33bd1ae72ea5b - () const - - - bool - get_is_last - group__flacpp__metadata__level2.html - gad88ba607c1bb6b3729b4a729be181db8 - () const - - - ::FLAC__MetadataType - get_type - group__flacpp__metadata__level2.html - ga524f81715c9aae70ba8b1b7ee4565171 - () const - - - uint32_t - get_length - group__flacpp__metadata__level2.html - ga5d95592dea00bcf47dcdbc0b7224cf9e - () const - - - void - set_is_last - group__flacpp__metadata__level2.html - gaf40c7c078e408f7d6d0b5f521a013315 - (bool) - - - - operator const ::FLAC__StreamMetadata * - group__flacpp__metadata__level2.html - ga72cc341e319780e2dca66d7c28bd0200 - () const - - - Prototype & - assign_object - group__flacpp__metadata__level2.html - ga553ddf0187b31218ecfb0d7ba259fda0 - (::FLAC__StreamMetadata *object, bool copy) - - - virtual void - clear - group__flacpp__metadata__level2.html - gaa54338931745f7f1b1d8240441efedb8 - () - - - - FLAC::Metadata::VorbisComment::Entry - classFLAC_1_1Metadata_1_1VorbisComment_1_1Entry.html - - virtual bool - is_valid - group__flacpp__metadata__level2.html - ga75772bb6b5bf90da459e7fb247239b27 - () const - - - - FLAC__EntropyCodingMethod - structFLAC____EntropyCodingMethod.html - - - FLAC__EntropyCodingMethod_PartitionedRice - structFLAC____EntropyCodingMethod__PartitionedRice.html - - uint32_t - order - group__flac__format.html - gade950cdedc8096355882d77a05873586 - - - - const FLAC__EntropyCodingMethod_PartitionedRiceContents * - contents - group__flac__format.html - ga2fbfa1bd5656bf620c0bb9f8ba77f579 - - - - - FLAC__EntropyCodingMethod_PartitionedRiceContents - structFLAC____EntropyCodingMethod__PartitionedRiceContents.html - - uint32_t * - parameters - group__flac__format.html - ga4e372c3649352f965085054f1580ab67 - - - - uint32_t * - raw_bits - group__flac__format.html - ga8b1ff7a7f8b8ec51cd0a1dd21a8d06ae - - - - uint32_t - capacity_by_order - group__flac__format.html - ga753f44c8d74e17a258026cdeb9aed017 - - - - - FLAC__Frame - structFLAC____Frame.html - - - FLAC__FrameFooter - structFLAC____FrameFooter.html - - FLAC__uint16 - crc - group__flac__format.html - gabdd6d64bf281c49c720b97b955d4eee7 - - - - - FLAC__FrameHeader - structFLAC____FrameHeader.html - - uint32_t - blocksize - group__flac__format.html - ga1898caa360a783bfa799332573b5c735 - - - - uint32_t - sample_rate - group__flac__format.html - ga2f01343180309a48b91d03bcfd58a5cc - - - - uint32_t - channels - group__flac__format.html - ga9518ce587ec26d2c1e315edcc99c1e82 - - - - FLAC__ChannelAssignment - channel_assignment - group__flac__format.html - ga9a31f752e16da9d690f8d5ff85aed89c - - - - uint32_t - bits_per_sample - group__flac__format.html - gabd1db9449935817aedeab02d8aedd2fd - - - - FLAC__FrameNumberType - number_type - group__flac__format.html - ga7a62ec09e6f3029297179ef65377265f - - - - union FLAC__FrameHeader::@3 - number - group__flac__format.html - ga437756a1b78379eb8d825813f4036a51 - - - - FLAC__uint8 - crc - group__flac__format.html - ga980438c380697df6f332cb27dc4672c4 - - - - - FLAC__IOCallbacks - structFLAC____IOCallbacks.html - - FLAC__IOCallback_Read - read - group__flac__callbacks.html - ga6dd767bc254e31dc47c9a0d218e72190 - - - - FLAC__IOCallback_Write - write - group__flac__callbacks.html - gad64901e5a5710ee4c3c157c75d51ddc0 - - - - FLAC__IOCallback_Seek - seek - group__flac__callbacks.html - gaa1a6f4623965a2d9fcc09b92fabaa1ee - - - - FLAC__IOCallback_Tell - tell - group__flac__callbacks.html - ga8ff0d175a7b3e9318270e305918df827 - - - - FLAC__IOCallback_Eof - eof - group__flac__callbacks.html - ga4810838b77667dc02415c854b2103e66 - - - - FLAC__IOCallback_Close - close - group__flac__callbacks.html - ga8e447ae1999d9da9ebad5417f47223be - - - - - FLAC__StreamDecoder - structFLAC____StreamDecoder.html - - - FLAC__StreamEncoder - structFLAC____StreamEncoder.html - - - FLAC__StreamMetadata - structFLAC____StreamMetadata.html - - FLAC__MetadataType - type - group__flac__format.html - ga39fd0655464f2cc7c9c37ae715088aec - - - - FLAC__bool - is_last - group__flac__format.html - gaef40bbf85abe12e035f66f2d54ed316c - - - - uint32_t - length - group__flac__format.html - gabcdd1a9220a30da08e713c0ae6767c10 - - - - union FLAC__StreamMetadata::@4 - data - group__flac__format.html - gaaffe9c1f7369b7d52ffc85d1325ce1f4 - - - - - FLAC__StreamMetadata_Application - structFLAC____StreamMetadata__Application.html - - - FLAC__StreamMetadata_CueSheet - structFLAC____StreamMetadata__CueSheet.html - - char - media_catalog_number - group__flac__format.html - ga776e6057ac7939fba52edecd44ec45bc - [129] - - - FLAC__uint64 - lead_in - group__flac__format.html - ga43fdc0a538ef2c3e0926ee22814baf40 - - - - FLAC__bool - is_cd - group__flac__format.html - ga6af66f921aefc6f779fbc0ab6daeab8a - - - - uint32_t - num_tracks - group__flac__format.html - ga08291d25a5574a089746353ff1af844f - - - - FLAC__StreamMetadata_CueSheet_Track * - tracks - group__flac__format.html - ga5c0c3440b01b773684d56aeb1e424fab - - - - - FLAC__StreamMetadata_CueSheet_Index - structFLAC____StreamMetadata__CueSheet__Index.html - - FLAC__uint64 - offset - group__flac__format.html - gac221421bca83976925e2a41438157bb9 - - - - FLAC__byte - number - group__flac__format.html - ga71edc33c19a749f1dfb3d1429e08c77a - - - - - FLAC__StreamMetadata_CueSheet_Track - structFLAC____StreamMetadata__CueSheet__Track.html - - FLAC__uint64 - offset - group__flac__format.html - ga40e1c888253a56b6dc4885a44138d1bf - - - - FLAC__byte - number - group__flac__format.html - ga429103d63c44d1861b4dc0762726701a - - - - char - isrc - group__flac__format.html - ga4990c8b13969f4c62683d915ebbf5744 - [13] - - - uint32_t - type - group__flac__format.html - ga10b3f2b3b0374601f1bf49fce91ae544 - - - - uint32_t - pre_emphasis - group__flac__format.html - gad68cbedf46ac71af5c219263fc70719a - - - - FLAC__byte - num_indices - group__flac__format.html - ga5f1c1d7e3ddc533938b83951c7b3dda5 - - - - FLAC__StreamMetadata_CueSheet_Index * - indices - group__flac__format.html - ga14e0692a77b5b6689e208f48369edb90 - - - - - FLAC__StreamMetadata_Padding - structFLAC____StreamMetadata__Padding.html - - int - dummy - group__flac__format.html - ga5214437fcba7d6abdc3b2435dcaa4124 - - - - - FLAC__StreamMetadata_Picture - structFLAC____StreamMetadata__Picture.html - - FLAC__StreamMetadata_Picture_Type - type - group__flac__format.html - gaddc05a87a1da1ec7dd2301944ff2819c - - - - char * - mime_type - group__flac__format.html - ga9b4af2e10b627c0e79abf4cdd79f80e0 - - - - FLAC__byte * - description - group__flac__format.html - ga5bbfb168b265edfb0b29cfdb71fb413c - - - - FLAC__uint32 - width - group__flac__format.html - ga18dc6cdef9fa6c815450671f631a1e04 - - - - FLAC__uint32 - height - group__flac__format.html - ga76dbd1212d330807cda289660f5ee754 - - - - FLAC__uint32 - depth - group__flac__format.html - ga0f2092ddf28a6803e9c8adb7328c1967 - - - - FLAC__uint32 - colors - group__flac__format.html - gaf17c1738bab67eba049ee101acfd36f0 - - - - FLAC__uint32 - data_length - group__flac__format.html - gacb893f63a196f70263468770a90580a4 - - - - FLAC__byte * - data - group__flac__format.html - ga9c71b5d77920e6d3aee6893795c43605 - - - - - FLAC__StreamMetadata_SeekPoint - structFLAC____StreamMetadata__SeekPoint.html - - FLAC__uint64 - sample_number - group__flac__format.html - ga96a62923f1443fd3a5a3498e701e6ecf - - - - FLAC__uint64 - stream_offset - group__flac__format.html - ga6028398e99f937b002618af677d32c9f - - - - uint32_t - frame_samples - group__flac__format.html - gadd671150e8ba353cd4664dcf874557c4 - - - - - FLAC__StreamMetadata_SeekTable - structFLAC____StreamMetadata__SeekTable.html - - - FLAC__StreamMetadata_StreamInfo - structFLAC____StreamMetadata__StreamInfo.html - - - FLAC__StreamMetadata_Unknown - structFLAC____StreamMetadata__Unknown.html - - - FLAC__StreamMetadata_VorbisComment - structFLAC____StreamMetadata__VorbisComment.html - - - FLAC__StreamMetadata_VorbisComment_Entry - structFLAC____StreamMetadata__VorbisComment__Entry.html - - - FLAC__Subframe - structFLAC____Subframe.html - - - FLAC__Subframe_Constant - structFLAC____Subframe__Constant.html - - FLAC__int64 - value - group__flac__format.html - gaa2f5b8086802007a2a21c208a42259dd - - - - - FLAC__Subframe_Fixed - structFLAC____Subframe__Fixed.html - - FLAC__EntropyCodingMethod - entropy_coding_method - group__flac__format.html - ga0f17f8f756cd2c8acc0262ef14c37088 - - - - uint32_t - order - group__flac__format.html - ga86cd10934697bc18066f19922470e6c0 - - - - FLAC__int64 - warmup - group__flac__format.html - gaf85ef3bb17392a0ae8f41eeb98fb7856 - [FLAC__MAX_FIXED_ORDER] - - - const FLAC__int32 * - residual - group__flac__format.html - gab91be48874aec97177106a4086163188 - - - - - FLAC__Subframe_LPC - structFLAC____Subframe__LPC.html - - FLAC__EntropyCodingMethod - entropy_coding_method - group__flac__format.html - gadb1401b2f8af05132420145a99f68c6e - - - - uint32_t - order - group__flac__format.html - ga6307fecaed886af33803e1d39f4f56da - - - - uint32_t - qlp_coeff_precision - group__flac__format.html - ga51ea4f57973bf99624b6357d9abef6b3 - - - - int - quantization_level - group__flac__format.html - gaedcf1a3e5e62485e7ce250eda1f3e588 - - - - FLAC__int32 - qlp_coeff - group__flac__format.html - gad0b37ee925e2124a37fe3a513d5410b8 - [FLAC__MAX_LPC_ORDER] - - - FLAC__int64 - warmup - group__flac__format.html - gad2d508522eed805514803013cf65edd7 - [FLAC__MAX_LPC_ORDER] - - - const FLAC__int32 * - residual - group__flac__format.html - gacae4d0d439ea8900c5771eb967aec9bf - - - - - FLAC__Subframe_Verbatim - structFLAC____Subframe__Verbatim.html - - const FLAC__int32 * - int32 - group__flac__format.html - ga6bdc2b756ad4151110ec9f86b5fca3e5 - - - - const FLAC__int64 * - int64 - group__flac__format.html - ga20ca19c50b671487f5d1da78b07f1b66 - - - - - flacpp - FLAC C++ API - group__flacpp.html - flacpp_decoder - flacpp_encoder - flacpp_export - flacpp_metadata - - - flacpp_decoder - FLAC++/decoder.h: decoder classes - group__flacpp__decoder.html - FLAC::Decoder::Stream - FLAC::Decoder::File - - - flacpp_encoder - FLAC++/encoder.h: encoder classes - group__flacpp__encoder.html - FLAC::Encoder::Stream - FLAC::Encoder::File - - - flacpp_export - FLAC++/export.h: export symbols - group__flacpp__export.html - - #define - FLACPP_API - group__flacpp__export.html - gaec3a801bf18630403eda6dc2f8c4927a - - - - #define - FLACPP_API_VERSION_CURRENT - group__flacpp__export.html - gafc3064beba20c1795d8aaa801b79d3b6 - - - - #define - FLACPP_API_VERSION_REVISION - group__flacpp__export.html - gaebce36e5325dbdcdc1a9e61a44606efe - - - - #define - FLACPP_API_VERSION_AGE - group__flacpp__export.html - ga17d0e89a961696b32c2b11e08663543f - - - - - flacpp_metadata - FLAC++/metadata.h: metadata interfaces - group__flacpp__metadata.html - flacpp_metadata_object - - - flacpp_metadata_object - FLAC++/metadata.h: metadata object classes - group__flacpp__metadata__object.html - flacpp_metadata_level0 - FLAC::Metadata::Prototype - FLAC::Metadata::StreamInfo - FLAC::Metadata::Padding - FLAC::Metadata::Application - FLAC::Metadata::SeekTable - FLAC::Metadata::VorbisComment - FLAC::Metadata::CueSheet - FLAC::Metadata::Picture - FLAC::Metadata::Unknown - - Prototype * - clone - group__flacpp__metadata__object.html - gaa30b76bf93ffc9b031d47e8dd51add30 - (const Prototype *) - - - - flacpp_metadata_level0 - FLAC++/metadata.h: metadata level 0 interface - group__flacpp__metadata__level0.html - flacpp_metadata_level1 - - bool - get_streaminfo - group__flacpp__metadata__level0.html - ga8fa8da652f33edeb4dabb4ce39fda04b - (const char *filename, StreamInfo &streaminfo) - - - bool - get_tags - group__flacpp__metadata__level0.html - ga533a71ba745ca03068523a4a45fb0329 - (const char *filename, VorbisComment *&tags) - - - bool - get_tags - group__flacpp__metadata__level0.html - ga85166e6206f3d5635684de4257f2b00e - (const char *filename, VorbisComment &tags) - - - bool - get_cuesheet - group__flacpp__metadata__level0.html - ga4fad03d91f22d78acf35dd2f35df9ac7 - (const char *filename, CueSheet *&cuesheet) - - - bool - get_cuesheet - group__flacpp__metadata__level0.html - gaea8f05f89e36af143d73b4280f05cc0e - (const char *filename, CueSheet &cuesheet) - - - bool - get_picture - group__flacpp__metadata__level0.html - gaa44df95da4d3abc459fdc526a0d54a55 - (const char *filename, Picture *&picture, ::FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, uint32_t max_width, uint32_t max_height, uint32_t max_depth, uint32_t max_colors) - - - bool - get_picture - group__flacpp__metadata__level0.html - gaa6aea22f1ebeb671db19b73277babdea - (const char *filename, Picture &picture, ::FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, uint32_t max_width, uint32_t max_height, uint32_t max_depth, uint32_t max_colors) - - - - flacpp_metadata_level1 - FLAC++/metadata.h: metadata level 1 interface - group__flacpp__metadata__level1.html - flacpp_metadata_level2 - FLAC::Metadata::SimpleIterator - - - flacpp_metadata_level2 - FLAC++/metadata.h: metadata level 2 interface - group__flacpp__metadata__level2.html - FLAC::Metadata::VorbisComment::Entry - FLAC::Metadata::CueSheet::Track - FLAC::Metadata::SimpleIterator::Status - FLAC::Metadata::Chain - FLAC::Metadata::Chain::Status - FLAC::Metadata::Iterator - - - Prototype - group__flacpp__metadata__level2.html - gae49fa399a6273ccad7cb0e6f787a3f5c - (const Prototype &) - - - - Prototype - group__flacpp__metadata__level2.html - ga23ec8d118119578adb95de42fcbbaca2 - (::FLAC__StreamMetadata *object, bool copy) - - - Prototype & - operator= - group__flacpp__metadata__level2.html - gaa6e6fbd804baaba187f9e8859a9b05de - (const Prototype &) - - - Prototype & - assign_object - group__flacpp__metadata__level2.html - ga553ddf0187b31218ecfb0d7ba259fda0 - (::FLAC__StreamMetadata *object, bool copy) - - - virtual void - clear - group__flacpp__metadata__level2.html - gaa54338931745f7f1b1d8240441efedb8 - () - - - virtual - ~Prototype - group__flacpp__metadata__level2.html - ga698fa1529af534ab5d1d98d0979844f6 - () - - - bool - operator== - group__flacpp__metadata__level2.html - ga5f1ce22db46834e315363e730f24ffaf - (const Prototype &) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gab8e067674ea0181dc0756bbb5b242c6e - (const Prototype &) const - - - bool - is_valid - group__flacpp__metadata__level2.html - ga0466615f2d7e725d1fc33bd1ae72ea5b - () const - - - bool - get_is_last - group__flacpp__metadata__level2.html - gad88ba607c1bb6b3729b4a729be181db8 - () const - - - ::FLAC__MetadataType - get_type - group__flacpp__metadata__level2.html - ga524f81715c9aae70ba8b1b7ee4565171 - () const - - - uint32_t - get_length - group__flacpp__metadata__level2.html - ga5d95592dea00bcf47dcdbc0b7224cf9e - () const - - - void - set_is_last - group__flacpp__metadata__level2.html - gaf40c7c078e408f7d6d0b5f521a013315 - (bool) - - - - operator const ::FLAC__StreamMetadata * - group__flacpp__metadata__level2.html - ga72cc341e319780e2dca66d7c28bd0200 - () const - - - Prototype * - construct_block - group__flacpp__metadata__level2.html - ga71382f9536987249f089c8702e5b8233 - (::FLAC__StreamMetadata *object) - - - - StreamInfo - group__flacpp__metadata__level2.html - gab86611073f13dd3e7aea386bb6f1a7a4 - (const StreamInfo &object) - - - - StreamInfo - group__flacpp__metadata__level2.html - gaaf4d96124e2b323398f7edf1aaf28003 - (::FLAC__StreamMetadata *object, bool copy) - - - StreamInfo & - operator= - group__flacpp__metadata__level2.html - gafcb52c9e5798433c992adc03b78af255 - (const StreamInfo &object) - - - StreamInfo & - assign - group__flacpp__metadata__level2.html - ga273c99834dac03cdae2bd73c5e0e3711 - (::FLAC__StreamMetadata *object, bool copy) - - - bool - operator== - group__flacpp__metadata__level2.html - ga4010b479ff46aad5ddd363bf456fbfa1 - (const StreamInfo &object) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gaf0f86d918ae7416e4de77215df6e861b - (const StreamInfo &object) const - - - uint32_t - get_min_blocksize - group__flacpp__metadata__level2.html - gaa53c8d9f0c5c396a51bbf543093121cc - () const - - - - Padding - group__flacpp__metadata__level2.html - ga3a5665a824530dec2906d76e665573ee - (const Padding &object) - - - - Padding - group__flacpp__metadata__level2.html - ga358085e3cec897ed0b0c88c8ac04618d - (::FLAC__StreamMetadata *object, bool copy) - - - - Padding - group__flacpp__metadata__level2.html - ga86b26d7f7df2a1b3ee0215f2b9352274 - (uint32_t length) - - - Padding & - operator= - group__flacpp__metadata__level2.html - gafcfc83524d1d4a8e6227557f96b4b08d - (const Padding &object) - - - Padding & - assign - group__flacpp__metadata__level2.html - ga8712aef7b4d754838e331ed2512025b9 - (::FLAC__StreamMetadata *object, bool copy) - - - bool - operator== - group__flacpp__metadata__level2.html - ga1c400bb08e873eae7a1a8640a97d4cde - (const Padding &object) const - - - bool - operator!= - group__flacpp__metadata__level2.html - ga12654720889aec7a4694c97f2b1f75b7 - (const Padding &object) const - - - void - set_length - group__flacpp__metadata__level2.html - ga07dae9d71b724f27f4bfbea26d7ab8fc - (uint32_t length) - - - - Application - group__flacpp__metadata__level2.html - gac852c4aa3be004f1ffa4895ca54354a0 - (const Application &object) - - - - Application - group__flacpp__metadata__level2.html - ga354471e537af33ba0c86de4db988efd1 - (::FLAC__StreamMetadata *object, bool copy) - - - Application & - operator= - group__flacpp__metadata__level2.html - ga749891da34b3d709c16129bdbbea1879 - (const Application &object) - - - Application & - assign - group__flacpp__metadata__level2.html - gaf42f0ffe86877a68609f1032c859ae75 - (::FLAC__StreamMetadata *object, bool copy) - - - bool - operator== - group__flacpp__metadata__level2.html - ga89c2e1e78226550b47fceb2ab7fe1fa8 - (const Application &object) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gadf4f2c38053d0d39e735c5f30b9934cf - (const Application &object) const - - - bool - set_data - group__flacpp__metadata__level2.html - ga95eaa06ca65af25385cf05f4942100b8 - (const FLAC__byte *data, uint32_t length) - - - - SeekTable - group__flacpp__metadata__level2.html - ga7f93d054937829a85108cd423a56299f - (const SeekTable &object) - - - - SeekTable - group__flacpp__metadata__level2.html - gaccd82ef77dcc489280c0f46e443b16c7 - (::FLAC__StreamMetadata *object, bool copy) - - - SeekTable & - operator= - group__flacpp__metadata__level2.html - ga24b884eb73c52bd4a70f1519be39bbbc - (const SeekTable &object) - - - SeekTable & - assign - group__flacpp__metadata__level2.html - ga32328cf845281964ed733bc90015c0f9 - (::FLAC__StreamMetadata *object, bool copy) - - - bool - operator== - group__flacpp__metadata__level2.html - ga15966f2e33461ce14c3d98a41d47f94d - (const SeekTable &object) const - - - bool - operator!= - group__flacpp__metadata__level2.html - ga9b25b057f2fdbdc88e2db66d94ad0de4 - (const SeekTable &object) const - - - bool - resize_points - group__flacpp__metadata__level2.html - ga09783f913385728901ff93686456d647 - (uint32_t new_num_points) - - - void - set_point - group__flacpp__metadata__level2.html - gad01b009dc3aecd5e881b7b425439643f - (uint32_t index, const ::FLAC__StreamMetadata_SeekPoint &point) - - - bool - insert_point - group__flacpp__metadata__level2.html - gabc1476cf5960660fa5c5d4a65db1441f - (uint32_t index, const ::FLAC__StreamMetadata_SeekPoint &point) - - - bool - delete_point - group__flacpp__metadata__level2.html - ga0d8260db8b7534cc66fe2b80380c91bd - (uint32_t index) - - - bool - is_legal - group__flacpp__metadata__level2.html - ga8a47e1f8b8331024c2ae977d8bd104d6 - () const - - - bool - template_append_placeholders - group__flacpp__metadata__level2.html - gae8e334f73f3d8870df2e948aa5de1234 - (uint32_t num) - - - bool - template_append_point - group__flacpp__metadata__level2.html - ga9c05d6c010988cf2f336ab1c02c3c618 - (FLAC__uint64 sample_number) - - - bool - template_append_points - group__flacpp__metadata__level2.html - gad3c644c5e7de6b944feee725d396b27e - (FLAC__uint64 sample_numbers[], uint32_t num) - - - bool - template_append_spaced_points - group__flacpp__metadata__level2.html - ga6ecfcb2478134b483790276b22a4f8b2 - (uint32_t num, FLAC__uint64 total_samples) - - - bool - template_append_spaced_points_by_samples - group__flacpp__metadata__level2.html - ga64bc1300d59e79f6c99356bf4a256383 - (uint32_t samples, FLAC__uint64 total_samples) - - - bool - template_sort - group__flacpp__metadata__level2.html - ga09cc5c101fc9c26655de9ec91dcb502f - (bool compact) - - - virtual bool - is_valid - group__flacpp__metadata__level2.html - ga75772bb6b5bf90da459e7fb247239b27 - () const - - - - VorbisComment - group__flacpp__metadata__level2.html - ga436a5c6a42a83a88206376805743fe3b - (const VorbisComment &object) - - - - VorbisComment - group__flacpp__metadata__level2.html - ga65a73f4665db16ac7aec76e9f5e699f2 - (::FLAC__StreamMetadata *object, bool copy) - - - VorbisComment & - operator= - group__flacpp__metadata__level2.html - ga4d4e9b792231b89df47d392713ebd169 - (const VorbisComment &object) - - - VorbisComment & - assign - group__flacpp__metadata__level2.html - ga2f0f25eb213a02f71a096ee06444228e - (::FLAC__StreamMetadata *object, bool copy) - - - bool - operator== - group__flacpp__metadata__level2.html - ga40e48312009df9d321a46df47fceb63b - (const VorbisComment &object) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gac882ee4619675b1231d38a58af5fc8a8 - (const VorbisComment &object) const - - - bool - set_vendor_string - group__flacpp__metadata__level2.html - gad8cffdb4c43ba01eaa9a3f7be0d5926a - (const FLAC__byte *string) - - - bool - resize_comments - group__flacpp__metadata__level2.html - gad924744735bfd0dad8a30aabe2865cbb - (uint32_t new_num_comments) - - - bool - set_comment - group__flacpp__metadata__level2.html - gad179979211b6f4ed4ca0e8df0760b343 - (uint32_t index, const Entry &entry) - - - bool - insert_comment - group__flacpp__metadata__level2.html - gab1de71f1c0acdc93c1ed39b6b5e09956 - (uint32_t index, const Entry &entry) - - - bool - append_comment - group__flacpp__metadata__level2.html - ga1126c7a0f25a2cf78efc8317d3a861f2 - (const Entry &entry) - - - bool - replace_comment - group__flacpp__metadata__level2.html - ga240eb83264d05d953395e75e18e15ee2 - (const Entry &entry, bool all) - - - bool - delete_comment - group__flacpp__metadata__level2.html - gaf79834672ef87d30faa4574755f05ef8 - (uint32_t index) - - - int - find_entry_from - group__flacpp__metadata__level2.html - ga1a8d3eec60ce932566ce847fb7fbb97d - (uint32_t offset, const char *field_name) - - - int - remove_entry_matching - group__flacpp__metadata__level2.html - gaf0770518f35fe18fb9a0cc5c0542c4b7 - (const char *field_name) - - - int - remove_entries_matching - group__flacpp__metadata__level2.html - gadde2dc584e31f29d67fcc6d15d2d1034 - (const char *field_name) - - - virtual bool - is_valid - group__flacpp__metadata__level2.html - gac0fb597614c2327157e765ea278b014f - () const - - - - CueSheet - group__flacpp__metadata__level2.html - gaff87fa8ab761fc12c0f37b6ff033f74e - (const CueSheet &object) - - - - CueSheet - group__flacpp__metadata__level2.html - gadd934e1916c2427197f8a5654f7ffae9 - (::FLAC__StreamMetadata *object, bool copy) - - - CueSheet & - operator= - group__flacpp__metadata__level2.html - gae5a2121b375344645b2dd62a68fa22bf - (const CueSheet &object) - - - CueSheet & - assign - group__flacpp__metadata__level2.html - ga5ab1dd1f6d7e1c36165dc361296d9704 - (::FLAC__StreamMetadata *object, bool copy) - - - bool - operator== - group__flacpp__metadata__level2.html - gad101b9f069c4af9053718b408a9737f5 - (const CueSheet &object) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gad02b4b1f541c8607a233a248ec295db9 - (const CueSheet &object) const - - - bool - resize_indices - group__flacpp__metadata__level2.html - ga7dd7822a201fa2310410029a36f4f1ac - (uint32_t track_num, uint32_t new_num_indices) - - - bool - insert_index - group__flacpp__metadata__level2.html - gacebb3ac32324137091b965a9e9ba2edf - (uint32_t track_num, uint32_t index_num, const ::FLAC__StreamMetadata_CueSheet_Index &index) - - - bool - insert_blank_index - group__flacpp__metadata__level2.html - ga294125ebcaf6c1576759b74f4ba96aa6 - (uint32_t track_num, uint32_t index_num) - - - bool - delete_index - group__flacpp__metadata__level2.html - ga01c9f6ec36ba9b538ac3c9de993551f8 - (uint32_t track_num, uint32_t index_num) - - - bool - resize_tracks - group__flacpp__metadata__level2.html - ga8d574ef586ab17413dbf1cb45b630a69 - (uint32_t new_num_tracks) - - - bool - set_track - group__flacpp__metadata__level2.html - ga5854e1797bf5161d1dc7e9cca5201bc9 - (uint32_t i, const Track &track) - - - bool - insert_track - group__flacpp__metadata__level2.html - gaeef4dc2ff2f9cc102855aec900860ce6 - (uint32_t i, const Track &track) - - - bool - insert_blank_track - group__flacpp__metadata__level2.html - gabe22447cc77d2f12092b68493ad2fca5 - (uint32_t i) - - - bool - delete_track - group__flacpp__metadata__level2.html - ga742ea19be39cd5ad23aeac04671c44ae - (uint32_t i) - - - bool - is_legal - group__flacpp__metadata__level2.html - ga920da7efb6143683543440c2409b3d26 - (bool check_cd_da_subset=false, const char **violation=0) const - - - FLAC__uint32 - calculate_cddb_id - group__flacpp__metadata__level2.html - ga7f03abfc2473e54a766c888c8cd431b6 - () const - - - - Picture - group__flacpp__metadata__level2.html - ga368985afb060fe1024129ed808392183 - (const Picture &object) - - - - Picture - group__flacpp__metadata__level2.html - ga703d5d8a88e9764714ee2dd25806e381 - (::FLAC__StreamMetadata *object, bool copy) - - - Picture & - operator= - group__flacpp__metadata__level2.html - gacef320e703be17cdb153a7a7f9d5a2f4 - (const Picture &object) - - - Picture & - assign - group__flacpp__metadata__level2.html - ga4aff0f2e0bd5de1efa0f6d7f3f4362dc - (::FLAC__StreamMetadata *object, bool copy) - - - bool - operator== - group__flacpp__metadata__level2.html - ga1cc03a87e1ada7b81af2dfe487d86fa7 - (const Picture &object) const - - - bool - operator!= - group__flacpp__metadata__level2.html - ga3b0c4fa11c7c54427e7aa690c8998692 - (const Picture &object) const - - - FLAC__uint32 - get_colors - group__flacpp__metadata__level2.html - gab44cabf75add1973ebde9f5f7ed6b780 - () const - - - bool - set_mime_type - group__flacpp__metadata__level2.html - gafb4e53cb8ae62ea0d9ebd1afdca40c3f - (const char *string) - - - bool - set_description - group__flacpp__metadata__level2.html - ga1bbcd96802a16fc36ac1b6610cd7d4a3 - (const FLAC__byte *string) - - - void - set_colors - group__flacpp__metadata__level2.html - ga8e7dc667ccc55e60abe2b8a751656097 - (FLAC__uint32 value) const - - - bool - set_data - group__flacpp__metadata__level2.html - ga301630d1c8f7647d0f192e6a2a03e6ba - (const FLAC__byte *data, FLAC__uint32 data_length) - - - bool - is_legal - group__flacpp__metadata__level2.html - gaf11147e2041b46d679b077e6ac26bea0 - (const char **violation) - - - - Unknown - group__flacpp__metadata__level2.html - ga686a799c353cf7a3dc95bb8899318a6b - (const Unknown &object) - - - - Unknown - group__flacpp__metadata__level2.html - ga2fb76f94e891c3eea7209a461cab4279 - (::FLAC__StreamMetadata *object, bool copy) - - - Unknown & - operator= - group__flacpp__metadata__level2.html - gad71a2703435fc641490fb827c6e5c90f - (const Unknown &object) - - - Unknown & - assign - group__flacpp__metadata__level2.html - gafd6e5eba4b7d20bcba9ac35a3e8c3ef3 - (::FLAC__StreamMetadata *object, bool copy) - - - bool - operator== - group__flacpp__metadata__level2.html - ga3a94274ea08f3ff252216b82c07b73e1 - (const Unknown &object) const - - - bool - operator!= - group__flacpp__metadata__level2.html - gaa700239bfb0acd74e7e8ca0b1cdfcdb5 - (const Unknown &object) const - - - bool - set_data - group__flacpp__metadata__level2.html - gad9618a004195b86f5989f5f0d396d028 - (const FLAC__byte *data, uint32_t length) - - - bool - is_valid - group__flacpp__metadata__level2.html - ga5d528419f9c71d92b71d1d79cff52207 - () const - - - bool - init - group__flacpp__metadata__level2.html - ga67dc75f18d282f41696467f1fbf5c3e8 - (const char *filename, bool read_only, bool preserve_file_stats) - - - Status - status - group__flacpp__metadata__level2.html - ga9e681b6ad35b10633002ecea5cab37c3 - () - - - bool - is_writable - group__flacpp__metadata__level2.html - ga70d7bb568dc6190f9cc5be089eaed03b - () const - - - bool - next - group__flacpp__metadata__level2.html - gab399f6b8c5e35a1d18588279613ea63c - () - - - bool - prev - group__flacpp__metadata__level2.html - ga75a859af156322f451045418876eb6a3 - () - - - bool - is_last - group__flacpp__metadata__level2.html - gac83c8401b2e58a3e4ce03a9996523c44 - () const - - - off_t - get_block_offset - group__flacpp__metadata__level2.html - gad3779538af5b3fe7cdd2188c79bc80b0 - () const - - - ::FLAC__MetadataType - get_block_type - group__flacpp__metadata__level2.html - ga30dff6debdbc72aceac7a69b9c3bea75 - () const - - - uint32_t - get_block_length - group__flacpp__metadata__level2.html - ga7e53cef599f3ff984a847a4a251afea5 - () const - - - bool - get_application_id - group__flacpp__metadata__level2.html - ga426d06a9d079f74e82eaa217f14997a5 - (FLAC__byte *id) - - - Prototype * - get_block - group__flacpp__metadata__level2.html - ga61de602276e5159253b21a19590d3584 - () - - - bool - set_block - group__flacpp__metadata__level2.html - ga0ebd4df55346cbcec9ace04f7d7b484d - (Prototype *block, bool use_padding=true) - - - bool - insert_block_after - group__flacpp__metadata__level2.html - ga1d0e512147967b7e12ac22914fbe3818 - (Prototype *block, bool use_padding=true) - - - bool - delete_block - group__flacpp__metadata__level2.html - ga67824deff81e2f49c2f51db6b71565e8 - (bool use_padding=true) - - - bool - is_valid - group__flacpp__metadata__level2.html - ga62ff055714c8ce75d907ae58738113a4 - () const - - - Status - status - group__flacpp__metadata__level2.html - ga02d7a4adc89e37b28eaccbccfe5da5b0 - () - - - bool - read - group__flacpp__metadata__level2.html - ga509bf6a75a12df65bc77947a4765d9c1 - (const char *filename, bool is_ogg=false) - - - bool - read - group__flacpp__metadata__level2.html - ga030c805328fc8b2da947830959dafb5b - (FLAC__IOHandle handle, FLAC__IOCallbacks callbacks, bool is_ogg=false) - - - bool - check_if_tempfile_needed - group__flacpp__metadata__level2.html - ga1d54ed419365faf5429caa84b35265c3 - (bool use_padding) - - - bool - write - group__flacpp__metadata__level2.html - ga2341690885e2312013afc561e6fafd81 - (bool use_padding=true, bool preserve_file_stats=false) - - - bool - write - group__flacpp__metadata__level2.html - ga0ef47e1634bca2d269ac49fc164306b5 - (bool use_padding, ::FLAC__IOHandle handle, ::FLAC__IOCallbacks callbacks) - - - bool - write - group__flacpp__metadata__level2.html - ga37b863c4d490fea96f67294f03fbe975 - (bool use_padding, ::FLAC__IOHandle handle, ::FLAC__IOCallbacks callbacks, ::FLAC__IOHandle temp_handle, ::FLAC__IOCallbacks temp_callbacks) - - - void - merge_padding - group__flacpp__metadata__level2.html - gaef51a0414284f468a2d73c07b540641d - () - - - void - sort_padding - group__flacpp__metadata__level2.html - ga779eaac12da7e7edac67089053e5907f - () - - - bool - is_valid - group__flacpp__metadata__level2.html - ga42057c663e277d83cc91763730d38b0f - () const - - - void - init - group__flacpp__metadata__level2.html - gab5713af7318f10a46bd8b26ce586947c - (Chain &chain) - - - bool - next - group__flacpp__metadata__level2.html - ga1d2871fc1fdcc5dffee1eafd7019f4a0 - () - - - bool - prev - group__flacpp__metadata__level2.html - gade6ee6b67b22115959e2adfc65d5d3b4 - () - - - ::FLAC__MetadataType - get_block_type - group__flacpp__metadata__level2.html - gaa25cb3c27e4d6250f98605f89b0fa904 - () const - - - Prototype * - get_block - group__flacpp__metadata__level2.html - ga9fb167ff8f0b058e244353a21541f3d7 - () - - - bool - set_block - group__flacpp__metadata__level2.html - ga3123daf89fca2a8981c9f361f466a418 - (Prototype *block) - - - bool - delete_block - group__flacpp__metadata__level2.html - ga67adaa4ae39cf405ee0f4674ca8836dd - (bool replace_with_padding) - - - bool - insert_block_before - group__flacpp__metadata__level2.html - ga86de6d0b21ac08b74a2ea8c1a9adce36 - (Prototype *block) - - - bool - insert_block_after - group__flacpp__metadata__level2.html - ga73e7a3f7192f369cb3a19d078da504ab - (Prototype *block) - - - - porting - Porting Guide for New Versions - group__porting.html - porting_1_1_2_to_1_1_3 - porting_1_1_3_to_1_1_4 - porting_1_1_4_to_1_2_0 - porting_1_3_4_to_1_4_0 - - - porting_1_1_2_to_1_1_3 - Porting from FLAC 1.1.2 to 1.1.3 - group__porting__1__1__2__to__1__1__3.html - - - porting_1_1_3_to_1_1_4 - Porting from FLAC 1.1.3 to 1.1.4 - group__porting__1__1__3__to__1__1__4.html - - - porting_1_1_4_to_1_2_0 - Porting from FLAC 1.1.4 to 1.2.0 - group__porting__1__1__4__to__1__2__0.html - - - porting_1_3_4_to_1_4_0 - Porting from FLAC 1.3.4 to 1.4.0 - group__porting__1__3__4__to__1__4__0.html - porting_1_3_4_to_1_4_0_summary - porting_1_3_4_to_1_4_0_breaking - porting_1_3_4_to_1_4_0_additions - - - flac - FLAC C API - group__flac.html - flac_callbacks - flac_export - flac_format - flac_metadata - flac_decoder - flac_encoder - - - flac_callbacks - FLAC/callback.h: I/O callback structures - group__flac__callbacks.html - FLAC__IOCallbacks - - void * - FLAC__IOHandle - group__flac__callbacks.html - ga4c329c3168dee6e352384c5e9306260d - - - - size_t(* - FLAC__IOCallback_Read - group__flac__callbacks.html - ga49d95218a6c09b215cd92cc96de71bf9 - )(void *ptr, size_t size, size_t nmemb, FLAC__IOHandle handle) - - - size_t(* - FLAC__IOCallback_Write - group__flac__callbacks.html - gad991792235879aecae289b56a112e1b8 - )(const void *ptr, size_t size, size_t nmemb, FLAC__IOHandle handle) - - - int(* - FLAC__IOCallback_Seek - group__flac__callbacks.html - gab3942bbbd6ae09bcefe7cb3a0060c49c - )(FLAC__IOHandle handle, FLAC__int64 offset, int whence) - - - FLAC__int64(* - FLAC__IOCallback_Tell - group__flac__callbacks.html - ga45314930cabc2e9c04867eae6bca309f - )(FLAC__IOHandle handle) - - - int(* - FLAC__IOCallback_Eof - group__flac__callbacks.html - ga00ae3b3d373e691908e9539ebf720675 - )(FLAC__IOHandle handle) - - - int(* - FLAC__IOCallback_Close - group__flac__callbacks.html - ga0032267fac38220689778833e08f7387 - )(FLAC__IOHandle handle) - - - FLAC__IOCallback_Read - read - group__flac__callbacks.html - ga6dd767bc254e31dc47c9a0d218e72190 - - - - FLAC__IOCallback_Write - write - group__flac__callbacks.html - gad64901e5a5710ee4c3c157c75d51ddc0 - - - - FLAC__IOCallback_Seek - seek - group__flac__callbacks.html - gaa1a6f4623965a2d9fcc09b92fabaa1ee - - - - FLAC__IOCallback_Tell - tell - group__flac__callbacks.html - ga8ff0d175a7b3e9318270e305918df827 - - - - FLAC__IOCallback_Eof - eof - group__flac__callbacks.html - ga4810838b77667dc02415c854b2103e66 - - - - FLAC__IOCallback_Close - close - group__flac__callbacks.html - ga8e447ae1999d9da9ebad5417f47223be - - - - - flac_export - FLAC/export.h: export symbols - group__flac__export.html - - #define - FLAC_API - group__flac__export.html - ga56ca07df8a23310707732b1c0007d6f5 - - - - #define - FLAC_API_VERSION_CURRENT - group__flac__export.html - ga31180fe15eea416cd8957cfca1a4c4f8 - - - - #define - FLAC_API_VERSION_REVISION - group__flac__export.html - ga811641dd9f8c542d9260240e7fbe8e93 - - - - #define - FLAC_API_VERSION_AGE - group__flac__export.html - ga1add3e09c8dfd57e8c921f299f0bbec1 - - - - int - FLAC_API_SUPPORTS_OGG_FLAC - group__flac__export.html - ga84ffcb0af1038c60eb3e21fd002093cf - - - - - flac_format - FLAC/format.h: format components - group__flac__format.html - FLAC__EntropyCodingMethod_PartitionedRiceContents - FLAC__EntropyCodingMethod_PartitionedRice - FLAC__EntropyCodingMethod - FLAC__Subframe_Constant - FLAC__Subframe_Verbatim - FLAC__Subframe_Fixed - FLAC__Subframe_LPC - FLAC__Subframe - FLAC__FrameHeader - FLAC__FrameFooter - FLAC__Frame - FLAC__StreamMetadata_StreamInfo - FLAC__StreamMetadata_Padding - FLAC__StreamMetadata_Application - FLAC__StreamMetadata_SeekPoint - FLAC__StreamMetadata_SeekTable - FLAC__StreamMetadata_VorbisComment_Entry - FLAC__StreamMetadata_VorbisComment - FLAC__StreamMetadata_CueSheet_Index - FLAC__StreamMetadata_CueSheet_Track - FLAC__StreamMetadata_CueSheet - FLAC__StreamMetadata_Picture - FLAC__StreamMetadata_Unknown - FLAC__StreamMetadata - - #define - FLAC__MAX_METADATA_TYPE_CODE - group__flac__format.html - ga626a412545818c2271fa2202c02ff1d6 - - - - #define - FLAC__MIN_BLOCK_SIZE - group__flac__format.html - gaa5a85c2ea434221ce684be3469517003 - - - - #define - FLAC__MAX_BLOCK_SIZE - group__flac__format.html - gaef78bc1b04f721e7b4563381f5514e8d - - - - #define - FLAC__SUBSET_MAX_BLOCK_SIZE_48000HZ - group__flac__format.html - ga8f6ba2c28fbfcf52326d115c95b0a751 - - - - #define - FLAC__MAX_CHANNELS - group__flac__format.html - ga488aa5678a58d08f984f5d39185b763d - - - - #define - FLAC__MIN_BITS_PER_SAMPLE - group__flac__format.html - ga30b0f21abbb2cdfd461fe04b425b5438 - - - - #define - FLAC__MAX_BITS_PER_SAMPLE - group__flac__format.html - gad0156d56751e80241fa349d1e25064a6 - - - - #define - FLAC__REFERENCE_CODEC_MAX_BITS_PER_SAMPLE - group__flac__format.html - ga0fc418d96053d385fd2f56dce8007fbc - - - - #define - FLAC__MAX_SAMPLE_RATE - group__flac__format.html - ga99abeef0c05c6bc76eacfa865abbfa70 - - - - #define - FLAC__MAX_LPC_ORDER - group__flac__format.html - ga16108d413f524329f338cff6e05f3aff - - - - #define - FLAC__SUBSET_MAX_LPC_ORDER_48000HZ - group__flac__format.html - ga9791efa78147196820c86a6041d7774d - - - - #define - FLAC__MIN_QLP_COEFF_PRECISION - group__flac__format.html - gaf52033b2950b9396dd92b167b3bbe4db - - - - #define - FLAC__MAX_QLP_COEFF_PRECISION - group__flac__format.html - ga6aa38a4bc5b9d96a78253ccb8b08bd1f - - - - #define - FLAC__MAX_FIXED_ORDER - group__flac__format.html - gabd0d5d6fe71b337244712b244ae7cb0f - - - - #define - FLAC__MAX_RICE_PARTITION_ORDER - group__flac__format.html - ga78a2e97e230b2aa7f99edc94a466f5bb - - - - #define - FLAC__SUBSET_MAX_RICE_PARTITION_ORDER - group__flac__format.html - gab19dec1b56de482ccfeb5f9843f60a14 - - - - #define - FLAC__STREAM_SYNC_LENGTH - group__flac__format.html - gae7ddaf298d3ceb83aae6301908675c1d - - - - #define - FLAC__STREAM_METADATA_STREAMINFO_LENGTH - group__flac__format.html - ga06dfae7260da40e4c5f8fc4d531b326c - - - - #define - FLAC__STREAM_METADATA_SEEKPOINT_LENGTH - group__flac__format.html - gabdf85aa2c9a483378dfe850b85ab93ef - - - - #define - FLAC__STREAM_METADATA_HEADER_LENGTH - group__flac__format.html - ga706a29b8a14902c457783bfd4fd7bab2 - - - - struct FLAC__StreamMetadata - FLAC__StreamMetadata - group__flac__format.html - ga37ced8d328607ea72b2e51c8ef9e2e58 - - - - - FLAC__EntropyCodingMethodType - group__flac__format.html - ga951733d2ea01943514290012cd622d3a - - - - FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE - group__flac__format.html - gga951733d2ea01943514290012cd622d3aa5253f8b8edc61220739f229a299775dd - - - - FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2 - group__flac__format.html - gga951733d2ea01943514290012cd622d3aa202960a608ee91f9f11c2575b9ecc5aa - - - - - FLAC__SubframeType - group__flac__format.html - ga1f431eaf213e74d7747589932d263348 - - - - FLAC__SUBFRAME_TYPE_CONSTANT - group__flac__format.html - gga1f431eaf213e74d7747589932d263348a9bf56d836aeffb11d614e29ea1cdf2a9 - - - - FLAC__SUBFRAME_TYPE_VERBATIM - group__flac__format.html - gga1f431eaf213e74d7747589932d263348a8520596ef07d6c8577f07025f137657b - - - - FLAC__SUBFRAME_TYPE_FIXED - group__flac__format.html - gga1f431eaf213e74d7747589932d263348a6b3cce73039a513f9afefdc8e4f664a5 - - - - FLAC__SUBFRAME_TYPE_LPC - group__flac__format.html - gga1f431eaf213e74d7747589932d263348a31437462c3e4c3a5a214a91eff8cc3af - - - - - FLAC__VerbatimSubframeDataType - group__flac__format.html - gabf8b5851429eae13f26267bafe7c5d32 - - - - FLAC__VERBATIM_SUBFRAME_DATA_TYPE_INT32 - group__flac__format.html - ggabf8b5851429eae13f26267bafe7c5d32a9c1ed26317d9c2fe252bc92a4d1c6e4a - - - - FLAC__VERBATIM_SUBFRAME_DATA_TYPE_INT64 - group__flac__format.html - ggabf8b5851429eae13f26267bafe7c5d32aaf4bfde2c07ab557250a2bdc63e7ad6a - - - - - FLAC__ChannelAssignment - group__flac__format.html - ga79855f8525672e37f299bbe02952ef9c - - - - FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT - group__flac__format.html - gga79855f8525672e37f299bbe02952ef9ca3c554e4c8512c2de31dfd3305f8b31b3 - - - - FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE - group__flac__format.html - gga79855f8525672e37f299bbe02952ef9ca28d41295b20593561dc9934cc977d5cb - - - - FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE - group__flac__format.html - gga79855f8525672e37f299bbe02952ef9cad155b61582140b2b90362005f1a93e2e - - - - FLAC__CHANNEL_ASSIGNMENT_MID_SIDE - group__flac__format.html - gga79855f8525672e37f299bbe02952ef9ca85c1512c0473b5ede364a9943759a80c - - - - - FLAC__FrameNumberType - group__flac__format.html - ga8fe9ebc78386cd2a3d23b7b8e3818e1c - - - - FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER - group__flac__format.html - gga8fe9ebc78386cd2a3d23b7b8e3818e1ca0b9cbf3853f0ae105cf9b5360164f794 - - - - FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER - group__flac__format.html - gga8fe9ebc78386cd2a3d23b7b8e3818e1ca9220ce93dcc151e5edd5db7e7155b35a - - - - - FLAC__MetadataType - group__flac__format.html - gac71714ba8ddbbd66d26bb78a427fac01 - - - - FLAC__METADATA_TYPE_STREAMINFO - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01acffa517e969ba6a868dcf10e5da75c28 - - - - FLAC__METADATA_TYPE_PADDING - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01a6dcb741fc0aef389580f110e88beb896 - - - - FLAC__METADATA_TYPE_APPLICATION - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01a2b287a22a1ac9440b309127884c8d41b - - - - FLAC__METADATA_TYPE_SEEKTABLE - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01a5f6323e489be1318f0e3747960ebdd91 - - - - FLAC__METADATA_TYPE_VORBIS_COMMENT - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01ad013576bc5196b907547739518605520 - - - - FLAC__METADATA_TYPE_CUESHEET - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01a0b3f07ae60609126562cd0233ce00a65 - - - - FLAC__METADATA_TYPE_PICTURE - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01acf28ae2788366617c1aeab81d5961c6e - - - - FLAC__METADATA_TYPE_UNDEFINED - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01acf6ac61fcc866608f5583c275dc34d47 - - - - FLAC__MAX_METADATA_TYPE - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01a1a2f283a3dd9e7b46181d7a114ec5805 - - - - - FLAC__StreamMetadata_Picture_Type - group__flac__format.html - gaf6d3e836cee023e0b8d897f1fdc9825d - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825dadd6d6af32499b1973e48c9e8f13357ce - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da5eca52e5cfcb718f33f5fce9b1021a49 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825daaf44b9d5fb75dde6941463e5029aa351 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da3e20b405fd4e835ff3a4465b8bcb7c36 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da9ae132f2ee7d3baf35f94a9dc9640f62 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825dad3cb471b7925ae5034d9fd9ecfafb87a - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825dac994edc4166107ab5790e49f0b57ffd9 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da1282e252e20553c39907074052960f42 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da4cead70f8720f180fc220e6df8d55cce - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825dae01a47af0b0c4d89500b755ebca866ce - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_BAND - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da8515523b4c9ab65ffef7db98bc09ceb1 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da5ea1554bc96deb45731bc5897600d1c2 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da86159eda8969514f5992b3e341103f22 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825dac96e810cdd81465709b4a3a03289e89c - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da8cee3bb376ed1044b3a7e20b9c971ff1 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da4d4dc6904984370501865988d948de3f - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da7adc2b194968b51768721de7bda39df9 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_FISH - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825dabbf0d7c519ae8ba8cec7d1f165f67b0f - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da89ba412c9d89c937c28afdab508d047a - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da751716a4528a78a8d53f435c816c4917 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da31d75150a4079482fe122e703eff9141 - - - - FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE - group__flac__format.html - gga951733d2ea01943514290012cd622d3aa5253f8b8edc61220739f229a299775dd - - - - FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2 - group__flac__format.html - gga951733d2ea01943514290012cd622d3aa202960a608ee91f9f11c2575b9ecc5aa - - - - FLAC__SUBFRAME_TYPE_CONSTANT - group__flac__format.html - gga1f431eaf213e74d7747589932d263348a9bf56d836aeffb11d614e29ea1cdf2a9 - - - - FLAC__SUBFRAME_TYPE_VERBATIM - group__flac__format.html - gga1f431eaf213e74d7747589932d263348a8520596ef07d6c8577f07025f137657b - - - - FLAC__SUBFRAME_TYPE_FIXED - group__flac__format.html - gga1f431eaf213e74d7747589932d263348a6b3cce73039a513f9afefdc8e4f664a5 - - - - FLAC__SUBFRAME_TYPE_LPC - group__flac__format.html - gga1f431eaf213e74d7747589932d263348a31437462c3e4c3a5a214a91eff8cc3af - - - - FLAC__VERBATIM_SUBFRAME_DATA_TYPE_INT32 - group__flac__format.html - ggabf8b5851429eae13f26267bafe7c5d32a9c1ed26317d9c2fe252bc92a4d1c6e4a - - - - FLAC__VERBATIM_SUBFRAME_DATA_TYPE_INT64 - group__flac__format.html - ggabf8b5851429eae13f26267bafe7c5d32aaf4bfde2c07ab557250a2bdc63e7ad6a - - - - FLAC__CHANNEL_ASSIGNMENT_INDEPENDENT - group__flac__format.html - gga79855f8525672e37f299bbe02952ef9ca3c554e4c8512c2de31dfd3305f8b31b3 - - - - FLAC__CHANNEL_ASSIGNMENT_LEFT_SIDE - group__flac__format.html - gga79855f8525672e37f299bbe02952ef9ca28d41295b20593561dc9934cc977d5cb - - - - FLAC__CHANNEL_ASSIGNMENT_RIGHT_SIDE - group__flac__format.html - gga79855f8525672e37f299bbe02952ef9cad155b61582140b2b90362005f1a93e2e - - - - FLAC__CHANNEL_ASSIGNMENT_MID_SIDE - group__flac__format.html - gga79855f8525672e37f299bbe02952ef9ca85c1512c0473b5ede364a9943759a80c - - - - FLAC__FRAME_NUMBER_TYPE_FRAME_NUMBER - group__flac__format.html - gga8fe9ebc78386cd2a3d23b7b8e3818e1ca0b9cbf3853f0ae105cf9b5360164f794 - - - - FLAC__FRAME_NUMBER_TYPE_SAMPLE_NUMBER - group__flac__format.html - gga8fe9ebc78386cd2a3d23b7b8e3818e1ca9220ce93dcc151e5edd5db7e7155b35a - - - - FLAC__METADATA_TYPE_STREAMINFO - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01acffa517e969ba6a868dcf10e5da75c28 - - - - FLAC__METADATA_TYPE_PADDING - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01a6dcb741fc0aef389580f110e88beb896 - - - - FLAC__METADATA_TYPE_APPLICATION - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01a2b287a22a1ac9440b309127884c8d41b - - - - FLAC__METADATA_TYPE_SEEKTABLE - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01a5f6323e489be1318f0e3747960ebdd91 - - - - FLAC__METADATA_TYPE_VORBIS_COMMENT - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01ad013576bc5196b907547739518605520 - - - - FLAC__METADATA_TYPE_CUESHEET - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01a0b3f07ae60609126562cd0233ce00a65 - - - - FLAC__METADATA_TYPE_PICTURE - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01acf28ae2788366617c1aeab81d5961c6e - - - - FLAC__METADATA_TYPE_UNDEFINED - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01acf6ac61fcc866608f5583c275dc34d47 - - - - FLAC__MAX_METADATA_TYPE - group__flac__format.html - ggac71714ba8ddbbd66d26bb78a427fac01a1a2f283a3dd9e7b46181d7a114ec5805 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_OTHER - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825dadd6d6af32499b1973e48c9e8f13357ce - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON_STANDARD - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da5eca52e5cfcb718f33f5fce9b1021a49 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_FILE_ICON - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825daaf44b9d5fb75dde6941463e5029aa351 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_FRONT_COVER - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da3e20b405fd4e835ff3a4465b8bcb7c36 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_BACK_COVER - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da9ae132f2ee7d3baf35f94a9dc9640f62 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_LEAFLET_PAGE - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825dad3cb471b7925ae5034d9fd9ecfafb87a - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_MEDIA - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825dac994edc4166107ab5790e49f0b57ffd9 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_LEAD_ARTIST - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da1282e252e20553c39907074052960f42 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_ARTIST - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da4cead70f8720f180fc220e6df8d55cce - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_CONDUCTOR - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825dae01a47af0b0c4d89500b755ebca866ce - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_BAND - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da8515523b4c9ab65ffef7db98bc09ceb1 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_COMPOSER - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da5ea1554bc96deb45731bc5897600d1c2 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_LYRICIST - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da86159eda8969514f5992b3e341103f22 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_RECORDING_LOCATION - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825dac96e810cdd81465709b4a3a03289e89c - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_RECORDING - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da8cee3bb376ed1044b3a7e20b9c971ff1 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_DURING_PERFORMANCE - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da4d4dc6904984370501865988d948de3f - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_VIDEO_SCREEN_CAPTURE - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da7adc2b194968b51768721de7bda39df9 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_FISH - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825dabbf0d7c519ae8ba8cec7d1f165f67b0f - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_ILLUSTRATION - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da89ba412c9d89c937c28afdab508d047a - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_BAND_LOGOTYPE - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da751716a4528a78a8d53f435c816c4917 - - - - FLAC__STREAM_METADATA_PICTURE_TYPE_PUBLISHER_LOGOTYPE - group__flac__format.html - ggaf6d3e836cee023e0b8d897f1fdc9825da31d75150a4079482fe122e703eff9141 - - - - FLAC__bool - FLAC__format_sample_rate_is_valid - group__flac__format.html - ga48100669b8e8613f1e226c3925f701a8 - (uint32_t sample_rate) - - - FLAC__bool - FLAC__format_blocksize_is_subset - group__flac__format.html - ga4e71651ff9b90b50480f86050d78c16b - (uint32_t blocksize, uint32_t sample_rate) - - - FLAC__bool - FLAC__format_sample_rate_is_subset - group__flac__format.html - gae048df385980088b4c29c52aa7207306 - (uint32_t sample_rate) - - - FLAC__bool - FLAC__format_vorbiscomment_entry_name_is_legal - group__flac__format.html - gae5fb55cd5977ebf178c5b38da831c057 - (const char *name) - - - FLAC__bool - FLAC__format_vorbiscomment_entry_value_is_legal - group__flac__format.html - ga1a5061a12c836cc2ff3967088afda1c4 - (const FLAC__byte *value, uint32_t length) - - - FLAC__bool - FLAC__format_vorbiscomment_entry_is_legal - group__flac__format.html - ga1439057dbc3f0719309620caaf82c1b1 - (const FLAC__byte *entry, uint32_t length) - - - FLAC__bool - FLAC__format_seektable_is_legal - group__flac__format.html - ga02ed0843553fb8f718fe8e7c54d12244 - (const FLAC__StreamMetadata_SeekTable *seek_table) - - - uint32_t - FLAC__format_seektable_sort - group__flac__format.html - ga2285adb37d91c41b1f9a5c3b1b35e886 - (FLAC__StreamMetadata_SeekTable *seek_table) - - - FLAC__bool - FLAC__format_cuesheet_is_legal - group__flac__format.html - gaa9ed0fa4ed04dbfdaa163d0f5308c080 - (const FLAC__StreamMetadata_CueSheet *cue_sheet, FLAC__bool check_cd_da_subset, const char **violation) - - - FLAC__bool - FLAC__format_picture_is_legal - group__flac__format.html - ga82ca3ffc97c106c61882134f1a7fb1be - (const FLAC__StreamMetadata_Picture *picture, const char **violation) - - - const char * - FLAC__VERSION_STRING - group__flac__format.html - ga52e2616f9a0b94881cd7711c18d62a35 - - - - const char * - FLAC__VENDOR_STRING - group__flac__format.html - gad5cccab0de3adda58914edf3c31fd64f - - - - const FLAC__byte - FLAC__STREAM_SYNC_STRING - group__flac__format.html - ga3f275a3a6056e0d53df3b72b03adde4b - [4] - - - const uint32_t - FLAC__STREAM_SYNC - group__flac__format.html - gaf836406a1f4c1b37ef6e4023f65c127f - - - - const uint32_t - FLAC__STREAM_SYNC_LEN - group__flac__format.html - gaa95eb3cb07b7d503de94521a155af6bc - - - - const char *const - FLAC__EntropyCodingMethodTypeString - group__flac__format.html - ga41603ac35eed8c77c2f2e0b12067d88a - [] - - - uint32_t * - parameters - group__flac__format.html - ga4e372c3649352f965085054f1580ab67 - - - - uint32_t * - raw_bits - group__flac__format.html - ga8b1ff7a7f8b8ec51cd0a1dd21a8d06ae - - - - uint32_t - capacity_by_order - group__flac__format.html - ga753f44c8d74e17a258026cdeb9aed017 - - - - uint32_t - order - group__flac__format.html - gade950cdedc8096355882d77a05873586 - - - - const FLAC__EntropyCodingMethod_PartitionedRiceContents * - contents - group__flac__format.html - ga2fbfa1bd5656bf620c0bb9f8ba77f579 - - - - const uint32_t - FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ORDER_LEN - group__flac__format.html - ga12fe0569d6d11d6e6ba8d3342196ccc6 - - - - const uint32_t - FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_PARAMETER_LEN - group__flac__format.html - ga0c00e7f349eabc3d25dab7223cc5af15 - - - - const uint32_t - FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_PARAMETER_LEN - group__flac__format.html - ga6d5cfd610e45402ac02d5786bda8a755 - - - - const uint32_t - FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_RAW_LEN - group__flac__format.html - ga7aed9c761b806bfd787c077da0ab9a07 - - - - const uint32_t - FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE_ESCAPE_PARAMETER - group__flac__format.html - ga80fb6cc2fb05edcea2a7e3ae004096a9 - - - - const uint32_t - FLAC__ENTROPY_CODING_METHOD_PARTITIONED_RICE2_ESCAPE_PARAMETER - group__flac__format.html - ga12e2bed2777e9beb187498ca116bcb0a - - - - const uint32_t - FLAC__ENTROPY_CODING_METHOD_TYPE_LEN - group__flac__format.html - ga18e9f8910a79bebe138a76a1a923076f - - - - const char *const - FLAC__SubframeTypeString - group__flac__format.html - ga78d78f45f123cfbb50cebd61b96097df - [] - - - FLAC__int64 - value - group__flac__format.html - gaa2f5b8086802007a2a21c208a42259dd - - - - const FLAC__int32 * - int32 - group__flac__format.html - ga6bdc2b756ad4151110ec9f86b5fca3e5 - - - - const FLAC__int32 * - int32 - group__flac__format.html - ga2e692ef67b97800f7a13c0fd035bfc3b - - - - const FLAC__int64 * - int64 - group__flac__format.html - ga20ca19c50b671487f5d1da78b07f1b66 - - - - const FLAC__int64 * - int64 - group__flac__format.html - ga9a0fa9100d8d356ca936bfaca3e9d371 - - - - FLAC__EntropyCodingMethod - entropy_coding_method - group__flac__format.html - ga0f17f8f756cd2c8acc0262ef14c37088 - - - - uint32_t - order - group__flac__format.html - ga86cd10934697bc18066f19922470e6c0 - - - - FLAC__int64 - warmup - group__flac__format.html - gaf85ef3bb17392a0ae8f41eeb98fb7856 - [FLAC__MAX_FIXED_ORDER] - - - const FLAC__int32 * - residual - group__flac__format.html - gab91be48874aec97177106a4086163188 - - - - FLAC__EntropyCodingMethod - entropy_coding_method - group__flac__format.html - gadb1401b2f8af05132420145a99f68c6e - - - - uint32_t - order - group__flac__format.html - ga6307fecaed886af33803e1d39f4f56da - - - - uint32_t - qlp_coeff_precision - group__flac__format.html - ga51ea4f57973bf99624b6357d9abef6b3 - - - - int - quantization_level - group__flac__format.html - gaedcf1a3e5e62485e7ce250eda1f3e588 - - - - FLAC__int32 - qlp_coeff - group__flac__format.html - gad0b37ee925e2124a37fe3a513d5410b8 - [FLAC__MAX_LPC_ORDER] - - - FLAC__int64 - warmup - group__flac__format.html - gad2d508522eed805514803013cf65edd7 - [FLAC__MAX_LPC_ORDER] - - - const FLAC__int32 * - residual - group__flac__format.html - gacae4d0d439ea8900c5771eb967aec9bf - - - - const uint32_t - FLAC__SUBFRAME_LPC_QLP_COEFF_PRECISION_LEN - group__flac__format.html - ga303c4e38674249f42ec8735354622463 - - - - const uint32_t - FLAC__SUBFRAME_LPC_QLP_SHIFT_LEN - group__flac__format.html - ga918e00beab5d7826e37b6397520df4c8 - - - - const uint32_t - FLAC__SUBFRAME_ZERO_PAD_LEN - group__flac__format.html - ga8f4ad64ca91dd750a38b5c2d30838fdc - - - - const uint32_t - FLAC__SUBFRAME_TYPE_LEN - group__flac__format.html - ga65c51d6c43f33179072d7225768e14a2 - - - - const uint32_t - FLAC__SUBFRAME_WASTED_BITS_FLAG_LEN - group__flac__format.html - gaf2e0e7e4f28e357646ad7e5dfcc90f2c - - - - const uint32_t - FLAC__SUBFRAME_TYPE_CONSTANT_BYTE_ALIGNED_MASK - group__flac__format.html - gacb235be931ef14cee71ad37bc1924667 - - - - const uint32_t - FLAC__SUBFRAME_TYPE_VERBATIM_BYTE_ALIGNED_MASK - group__flac__format.html - ga93b8d9b7b76ff5cefa8ce8965a9dca9c - - - - const uint32_t - FLAC__SUBFRAME_TYPE_FIXED_BYTE_ALIGNED_MASK - group__flac__format.html - gac7884342f77d4f16f1921a0cc7a2d3ef - - - - const uint32_t - FLAC__SUBFRAME_TYPE_LPC_BYTE_ALIGNED_MASK - group__flac__format.html - ga5c1baa1525de2749f74c174fad422266 - - - - const char *const - FLAC__ChannelAssignmentString - group__flac__format.html - gab1a1d3929a4e5a5aff2c15010742aa21 - [] - - - const char *const - FLAC__FrameNumberTypeString - group__flac__format.html - ga931a0e63c0f2b31fab801e1dd693fa4e - [] - - - uint32_t - blocksize - group__flac__format.html - ga1898caa360a783bfa799332573b5c735 - - - - uint32_t - sample_rate - group__flac__format.html - ga2f01343180309a48b91d03bcfd58a5cc - - - - uint32_t - channels - group__flac__format.html - ga9518ce587ec26d2c1e315edcc99c1e82 - - - - FLAC__ChannelAssignment - channel_assignment - group__flac__format.html - ga9a31f752e16da9d690f8d5ff85aed89c - - - - uint32_t - bits_per_sample - group__flac__format.html - gabd1db9449935817aedeab02d8aedd2fd - - - - FLAC__FrameNumberType - number_type - group__flac__format.html - ga7a62ec09e6f3029297179ef65377265f - - - - union FLAC__FrameHeader::@3 - number - group__flac__format.html - ga437756a1b78379eb8d825813f4036a51 - - - - FLAC__uint8 - crc - group__flac__format.html - ga980438c380697df6f332cb27dc4672c4 - - - - const uint32_t - FLAC__FRAME_HEADER_SYNC - group__flac__format.html - ga7af18147ae3a5bb75136843f6e271a4d - - - - const uint32_t - FLAC__FRAME_HEADER_SYNC_LEN - group__flac__format.html - gab3821624c367fac8d994d0ab43229c13 - - - - const uint32_t - FLAC__FRAME_HEADER_RESERVED_LEN - group__flac__format.html - gaed36cf061a5112a72d33b5fdb2941cf4 - - - - const uint32_t - FLAC__FRAME_HEADER_BLOCKING_STRATEGY_LEN - group__flac__format.html - ga73711753949d786e168222b2cf9502dd - - - - const uint32_t - FLAC__FRAME_HEADER_BLOCK_SIZE_LEN - group__flac__format.html - gaf9b185ee73ab9166498aa087f506c895 - - - - const uint32_t - FLAC__FRAME_HEADER_SAMPLE_RATE_LEN - group__flac__format.html - ga8c686e8933c321c9d386db6a6f0d5f70 - - - - const uint32_t - FLAC__FRAME_HEADER_CHANNEL_ASSIGNMENT_LEN - group__flac__format.html - ga8d2909446c32443619b9967188a07fb7 - - - - const uint32_t - FLAC__FRAME_HEADER_BITS_PER_SAMPLE_LEN - group__flac__format.html - ga47f63b74fff6e3396d6203d1022062be - - - - const uint32_t - FLAC__FRAME_HEADER_ZERO_PAD_LEN - group__flac__format.html - ga3d73f3519e9ec387c1cf5d54bdfb022f - - - - const uint32_t - FLAC__FRAME_HEADER_CRC_LEN - group__flac__format.html - gac0478a55947c6fb97f53f6a9222a0952 - - - - FLAC__uint16 - crc - group__flac__format.html - gabdd6d64bf281c49c720b97b955d4eee7 - - - - const uint32_t - FLAC__FRAME_FOOTER_CRC_LEN - group__flac__format.html - ga3e74578ca10d5a2a80766040443665f3 - - - - const char *const - FLAC__MetadataTypeString - group__flac__format.html - gaa9ad23f06a579d1110d61d54c8c999f0 - [] - - - const uint32_t - FLAC__STREAM_METADATA_STREAMINFO_MIN_BLOCK_SIZE_LEN - group__flac__format.html - ga08f9ac0cd9e3fe8db67a16c011b1c9f0 - - - - const uint32_t - FLAC__STREAM_METADATA_STREAMINFO_MAX_BLOCK_SIZE_LEN - group__flac__format.html - ga60a3c8fc22960cec9adb6e22b866d61c - - - - const uint32_t - FLAC__STREAM_METADATA_STREAMINFO_MIN_FRAME_SIZE_LEN - group__flac__format.html - gaab054a54f7725f6fc250321f245e1f9d - - - - const uint32_t - FLAC__STREAM_METADATA_STREAMINFO_MAX_FRAME_SIZE_LEN - group__flac__format.html - gafb35eac8504f1903654cb28f924c5c22 - - - - const uint32_t - FLAC__STREAM_METADATA_STREAMINFO_SAMPLE_RATE_LEN - group__flac__format.html - gaac031487db3e1961cb5d48f0ce5107b8 - - - - const uint32_t - FLAC__STREAM_METADATA_STREAMINFO_CHANNELS_LEN - group__flac__format.html - gab7c3111fe0e73ac3b323ba881d02a8b1 - - - - const uint32_t - FLAC__STREAM_METADATA_STREAMINFO_BITS_PER_SAMPLE_LEN - group__flac__format.html - gaae73b50a208bc0b9479b56b5be546f69 - - - - const uint32_t - FLAC__STREAM_METADATA_STREAMINFO_TOTAL_SAMPLES_LEN - group__flac__format.html - ga0d6496e976945999313c9029dba46b2b - - - - const uint32_t - FLAC__STREAM_METADATA_STREAMINFO_MD5SUM_LEN - group__flac__format.html - ga651ba492225f315a70286eccd3c3184b - - - - int - dummy - group__flac__format.html - ga5214437fcba7d6abdc3b2435dcaa4124 - - - - const uint32_t - FLAC__STREAM_METADATA_APPLICATION_ID_LEN - group__flac__format.html - ga8040c7fa72cfc55c74e43d620e64a805 - - - - FLAC__uint64 - sample_number - group__flac__format.html - ga96a62923f1443fd3a5a3498e701e6ecf - - - - FLAC__uint64 - stream_offset - group__flac__format.html - ga6028398e99f937b002618af677d32c9f - - - - uint32_t - frame_samples - group__flac__format.html - gadd671150e8ba353cd4664dcf874557c4 - - - - const uint32_t - FLAC__STREAM_METADATA_SEEKPOINT_SAMPLE_NUMBER_LEN - group__flac__format.html - ga9e95bd97ef2fa28b1d5bbd3917160f9d - - - - const uint32_t - FLAC__STREAM_METADATA_SEEKPOINT_STREAM_OFFSET_LEN - group__flac__format.html - gaaa177c78a35cdd323845928326274f63 - - - - const uint32_t - FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN - group__flac__format.html - ga62341e0615038b3eade3c7691f410cca - - - - const FLAC__uint64 - FLAC__STREAM_METADATA_SEEKPOINT_PLACEHOLDER - group__flac__format.html - gad5d58774aea926635e6841c411d60566 - - - - const uint32_t - FLAC__STREAM_METADATA_VORBIS_COMMENT_ENTRY_LENGTH_LEN - group__flac__format.html - ga7ff8c3f4693944031b9ac8ff99093df6 - - - - const uint32_t - FLAC__STREAM_METADATA_VORBIS_COMMENT_NUM_COMMENTS_LEN - group__flac__format.html - ga2019f140758b10d086e438e43a257036 - - - - FLAC__uint64 - offset - group__flac__format.html - gac221421bca83976925e2a41438157bb9 - - - - FLAC__byte - number - group__flac__format.html - ga71edc33c19a749f1dfb3d1429e08c77a - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_INDEX_OFFSET_LEN - group__flac__format.html - gab448a7b0ee7c06c6fa23155d29c37ccb - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_INDEX_NUMBER_LEN - group__flac__format.html - ga9d3b4268a36fa8a5d5f8cf2ee704ceb2 - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_INDEX_RESERVED_LEN - group__flac__format.html - ga978b9c0ec4220d22a6bd4aab75fb9949 - - - - FLAC__uint64 - offset - group__flac__format.html - ga40e1c888253a56b6dc4885a44138d1bf - - - - FLAC__byte - number - group__flac__format.html - ga429103d63c44d1861b4dc0762726701a - - - - char - isrc - group__flac__format.html - ga4990c8b13969f4c62683d915ebbf5744 - [13] - - - uint32_t - type - group__flac__format.html - ga10b3f2b3b0374601f1bf49fce91ae544 - - - - uint32_t - pre_emphasis - group__flac__format.html - gad68cbedf46ac71af5c219263fc70719a - - - - FLAC__byte - num_indices - group__flac__format.html - ga5f1c1d7e3ddc533938b83951c7b3dda5 - - - - FLAC__StreamMetadata_CueSheet_Index * - indices - group__flac__format.html - ga14e0692a77b5b6689e208f48369edb90 - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_TRACK_OFFSET_LEN - group__flac__format.html - gad09fd65eb06250d671d05eb8e999cc89 - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_TRACK_NUMBER_LEN - group__flac__format.html - gac4fb0980ac6a409916e4122ba25ae8fd - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_TRACK_ISRC_LEN - group__flac__format.html - ga76dc2c2ae2385f2ab0752f16f7f9d4c1 - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_TRACK_TYPE_LEN - group__flac__format.html - gaf7f2927d240eeab1214a88bceb5deae6 - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_TRACK_PRE_EMPHASIS_LEN - group__flac__format.html - ga715d4e09605238e3b40afdbdaf4717b7 - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_TRACK_RESERVED_LEN - group__flac__format.html - ga06b1d7142a95fa837eff737ee8f825be - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_TRACK_NUM_INDICES_LEN - group__flac__format.html - ga4b4231131e11b216e34e49d12f210363 - - - - char - media_catalog_number - group__flac__format.html - ga776e6057ac7939fba52edecd44ec45bc - [129] - - - FLAC__uint64 - lead_in - group__flac__format.html - ga43fdc0a538ef2c3e0926ee22814baf40 - - - - FLAC__bool - is_cd - group__flac__format.html - ga6af66f921aefc6f779fbc0ab6daeab8a - - - - uint32_t - num_tracks - group__flac__format.html - ga08291d25a5574a089746353ff1af844f - - - - FLAC__StreamMetadata_CueSheet_Track * - tracks - group__flac__format.html - ga5c0c3440b01b773684d56aeb1e424fab - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN - group__flac__format.html - gaae2030a18d8421dc476ff18c95f773d7 - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN - group__flac__format.html - ga397890e4c43ca950d2236250d69a92f7 - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN - group__flac__format.html - ga285c570708526c7ebcb742c982e5d5fd - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN - group__flac__format.html - gacb9458a79b7d214e8758cc5ad4e2b18a - - - - const uint32_t - FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN - group__flac__format.html - gaa30d6a1d38397b4851add1bb2a6d145c - - - - const char *const - FLAC__StreamMetadata_Picture_TypeString - group__flac__format.html - ga2d27672452696cb97fd39db1cf43486b - [] - - - FLAC__StreamMetadata_Picture_Type - type - group__flac__format.html - gaddc05a87a1da1ec7dd2301944ff2819c - - - - char * - mime_type - group__flac__format.html - ga9b4af2e10b627c0e79abf4cdd79f80e0 - - - - FLAC__byte * - description - group__flac__format.html - ga5bbfb168b265edfb0b29cfdb71fb413c - - - - FLAC__uint32 - width - group__flac__format.html - ga18dc6cdef9fa6c815450671f631a1e04 - - - - FLAC__uint32 - height - group__flac__format.html - ga76dbd1212d330807cda289660f5ee754 - - - - FLAC__uint32 - depth - group__flac__format.html - ga0f2092ddf28a6803e9c8adb7328c1967 - - - - FLAC__uint32 - colors - group__flac__format.html - gaf17c1738bab67eba049ee101acfd36f0 - - - - FLAC__uint32 - data_length - group__flac__format.html - gacb893f63a196f70263468770a90580a4 - - - - FLAC__byte * - data - group__flac__format.html - ga9c71b5d77920e6d3aee6893795c43605 - - - - const uint32_t - FLAC__STREAM_METADATA_PICTURE_TYPE_LEN - group__flac__format.html - ga9a91512adcf0f8293c0a8793ce8b246c - - - - const uint32_t - FLAC__STREAM_METADATA_PICTURE_MIME_TYPE_LENGTH_LEN - group__flac__format.html - ga5186600f0920191cb61e55b2c7628287 - - - - const uint32_t - FLAC__STREAM_METADATA_PICTURE_DESCRIPTION_LENGTH_LEN - group__flac__format.html - ga6d71497d949952f8d8b16f482ebcf555 - - - - const uint32_t - FLAC__STREAM_METADATA_PICTURE_WIDTH_LEN - group__flac__format.html - ga2819d0e2a032fd5947a1259e40b5f52a - - - - const uint32_t - FLAC__STREAM_METADATA_PICTURE_HEIGHT_LEN - group__flac__format.html - gaf537b699909721adca031b6e3826ce22 - - - - const uint32_t - FLAC__STREAM_METADATA_PICTURE_DEPTH_LEN - group__flac__format.html - ga553826edf5d175f81f162e3049c386ea - - - - const uint32_t - FLAC__STREAM_METADATA_PICTURE_COLORS_LEN - group__flac__format.html - ga3f810c75aad1f5a0c9d1d85c56998b5b - - - - const uint32_t - FLAC__STREAM_METADATA_PICTURE_DATA_LENGTH_LEN - group__flac__format.html - gafd1dd421206189d123f644ff3717cb12 - - - - FLAC__MetadataType - type - group__flac__format.html - ga39fd0655464f2cc7c9c37ae715088aec - - - - FLAC__bool - is_last - group__flac__format.html - gaef40bbf85abe12e035f66f2d54ed316c - - - - uint32_t - length - group__flac__format.html - gabcdd1a9220a30da08e713c0ae6767c10 - - - - union FLAC__StreamMetadata::@4 - data - group__flac__format.html - gaaffe9c1f7369b7d52ffc85d1325ce1f4 - - - - const uint32_t - FLAC__STREAM_METADATA_IS_LAST_LEN - group__flac__format.html - gaa51331191b62fb15793b0a35ea8821e1 - - - - const uint32_t - FLAC__STREAM_METADATA_TYPE_LEN - group__flac__format.html - gaec6fd2f0de2c3f88b7bb0449d178043c - - - - const uint32_t - FLAC__STREAM_METADATA_LENGTH_LEN - group__flac__format.html - ga90cbf669f1c3400813ee4ecdd3462ca3 - - - - - flac_metadata - FLAC/metadata.h: metadata interfaces - group__flac__metadata.html - flac_metadata_level0 - - - flac_metadata_level0 - FLAC/metadata.h: metadata level 0 interface - group__flac__metadata__level0.html - flac_metadata_level1 - - FLAC__bool - FLAC__metadata_get_streaminfo - group__flac__metadata__level0.html - ga804b42d9da714199b4b383ce51078d51 - (const char *filename, FLAC__StreamMetadata *streaminfo) - - - FLAC__bool - FLAC__metadata_get_tags - group__flac__metadata__level0.html - ga1626af09cd39d4fa37d5b46ebe3790fd - (const char *filename, FLAC__StreamMetadata **tags) - - - FLAC__bool - FLAC__metadata_get_cuesheet - group__flac__metadata__level0.html - ga0f47949dca514506718276205a4fae0b - (const char *filename, FLAC__StreamMetadata **cuesheet) - - - FLAC__bool - FLAC__metadata_get_picture - group__flac__metadata__level0.html - gab9f69e48c5a33cacb924d13986bfb852 - (const char *filename, FLAC__StreamMetadata **picture, FLAC__StreamMetadata_Picture_Type type, const char *mime_type, const FLAC__byte *description, uint32_t max_width, uint32_t max_height, uint32_t max_depth, uint32_t max_colors) - - - - flac_metadata_level1 - FLAC/metadata.h: metadata level 1 interface - group__flac__metadata__level1.html - flac_metadata_level2 - - struct FLAC__Metadata_SimpleIterator - FLAC__Metadata_SimpleIterator - group__flac__metadata__level1.html - ga6accccddbb867dfc2eece9ee3ffecb3a - - - - - FLAC__Metadata_SimpleIteratorStatus - group__flac__metadata__level1.html - gac926e7d2773a05066115cac9048bbec9 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a33aadd73194c0d7e307d643237e0ddcd - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a0a3933cb38c8957a8d5c3d1afb4766f9 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a20e835bbb74b4d039e598617f68d2af6 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_A_FLAC_FILE - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a7785f77a612be8956fbe7cab73497220 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9af055d8c0c663e72134fe2db8037b6880 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a14c897124887858109200723826f85b7 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a088df964f0852dd7e19304e920c3ee8e - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a2ad85a32e291d1e918692d68cc22fd40 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9ac2337299c2347ca311caeaa7d71d857c - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_RENAME_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a2e073843fa99419d76a0b210da96ceb6 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a4f855433038c576da127fc1de9d18f9b - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9aa8386ed0a20d7e91b0022d203ec3cdec - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_INTERNAL_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a9d821ae65a1c5de619daa88c850906df - - - - FLAC__Metadata_SimpleIterator * - FLAC__metadata_simple_iterator_new - group__flac__metadata__level1.html - ga9b2ea79894c7e5df712e0ca7d4e0e56d - (void) - - - void - FLAC__metadata_simple_iterator_delete - group__flac__metadata__level1.html - ga4619be06f51429fea71e5b98900cec3e - (FLAC__Metadata_SimpleIterator *iterator) - - - FLAC__Metadata_SimpleIteratorStatus - FLAC__metadata_simple_iterator_status - group__flac__metadata__level1.html - gae8fd236fe6049c61f7f3b4a6ecbcd240 - (FLAC__Metadata_SimpleIterator *iterator) - - - FLAC__bool - FLAC__metadata_simple_iterator_init - group__flac__metadata__level1.html - gaba8daf276fd7da863a2522ac050125fd - (FLAC__Metadata_SimpleIterator *iterator, const char *filename, FLAC__bool read_only, FLAC__bool preserve_file_stats) - - - FLAC__bool - FLAC__metadata_simple_iterator_is_writable - group__flac__metadata__level1.html - ga5150ecd8668c610f79192a2838667790 - (const FLAC__Metadata_SimpleIterator *iterator) - - - FLAC__bool - FLAC__metadata_simple_iterator_next - group__flac__metadata__level1.html - gabb7de0a1067efae353e0792dc6e51905 - (FLAC__Metadata_SimpleIterator *iterator) - - - FLAC__bool - FLAC__metadata_simple_iterator_prev - group__flac__metadata__level1.html - ga6db5313b31120b28e210ae721d6525a8 - (FLAC__Metadata_SimpleIterator *iterator) - - - FLAC__bool - FLAC__metadata_simple_iterator_is_last - group__flac__metadata__level1.html - ga9eb215059840960de69aa84469ba954f - (const FLAC__Metadata_SimpleIterator *iterator) - - - off_t - FLAC__metadata_simple_iterator_get_block_offset - group__flac__metadata__level1.html - gade0a61723420daeb4bc226713671c6f0 - (const FLAC__Metadata_SimpleIterator *iterator) - - - FLAC__MetadataType - FLAC__metadata_simple_iterator_get_block_type - group__flac__metadata__level1.html - ga17b61d17e83432913abf4334d6e0c073 - (const FLAC__Metadata_SimpleIterator *iterator) - - - uint32_t - FLAC__metadata_simple_iterator_get_block_length - group__flac__metadata__level1.html - gaf29b9a7f2e2c762756c1444e55a119fa - (const FLAC__Metadata_SimpleIterator *iterator) - - - FLAC__bool - FLAC__metadata_simple_iterator_get_application_id - group__flac__metadata__level1.html - gad4fea2d7d98d16e75e6d8260f690a5dc - (FLAC__Metadata_SimpleIterator *iterator, FLAC__byte *id) - - - FLAC__StreamMetadata * - FLAC__metadata_simple_iterator_get_block - group__flac__metadata__level1.html - ga6c2a2f978e61dc6634d2c991c58174cf - (FLAC__Metadata_SimpleIterator *iterator) - - - FLAC__bool - FLAC__metadata_simple_iterator_set_block - group__flac__metadata__level1.html - gae1dd863561606658f88c492682de7b80 - (FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding) - - - FLAC__bool - FLAC__metadata_simple_iterator_insert_block_after - group__flac__metadata__level1.html - ga7a0c00e93bb37324a20926e92e604102 - (FLAC__Metadata_SimpleIterator *iterator, FLAC__StreamMetadata *block, FLAC__bool use_padding) - - - FLAC__bool - FLAC__metadata_simple_iterator_delete_block - group__flac__metadata__level1.html - gac3116c8e6e7f59914ae22c0c4c6b0a23 - (FLAC__Metadata_SimpleIterator *iterator, FLAC__bool use_padding) - - - const char *const - FLAC__Metadata_SimpleIteratorStatusString - group__flac__metadata__level1.html - gaa2a8b972800c34f9f5807cadf6ecdb57 - [] - - - - flac_metadata_level2 - FLAC/metadata.h: metadata level 2 interface - group__flac__metadata__level2.html - flac_metadata_object - - struct FLAC__Metadata_Chain - FLAC__Metadata_Chain - group__flac__metadata__level2.html - gaec6993c60b88f222a52af86f8f47bfdf - - - - struct FLAC__Metadata_Iterator - FLAC__Metadata_Iterator - group__flac__metadata__level2.html - ga9f3e135a07cdef7e51597646aa7b89b2 - - - - - FLAC__Metadata_ChainStatus - group__flac__metadata__level2.html - gafe2a924893b0800b020bea8160fd4531 - - - - FLAC__METADATA_CHAIN_STATUS_OK - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a293be942ec54576f2b3c73613af968e9 - - - - FLAC__METADATA_CHAIN_STATUS_ILLEGAL_INPUT - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a1be9400982f411173af46bf0c3acbdc7 - - - - FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a43d2741a650576052fa3615d8cd64d86 - - - - FLAC__METADATA_CHAIN_STATUS_NOT_A_FLAC_FILE - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a99748a4b12ed10f9368375cc8deeb143 - - - - FLAC__METADATA_CHAIN_STATUS_NOT_WRITABLE - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531ac469c6543ebb117e99064572c16672d4 - - - - FLAC__METADATA_CHAIN_STATUS_BAD_METADATA - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a8efd2c76dc06308eb6eba59e1bc6300b - - - - FLAC__METADATA_CHAIN_STATUS_READ_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a0525de5fb5d8aeeb4e848e33a8d503c6 - - - - FLAC__METADATA_CHAIN_STATUS_SEEK_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a5814bc26bcf92143198b8e7f028f43a2 - - - - FLAC__METADATA_CHAIN_STATUS_WRITE_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a66460c735e4745788b40889329e8489f - - - - FLAC__METADATA_CHAIN_STATUS_RENAME_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531af4ecf22bc3e5adf78a9c765f856efb0d - - - - FLAC__METADATA_CHAIN_STATUS_UNLINK_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a1cd3138ed493f6a0f5b95fb8481edd1e - - - - FLAC__METADATA_CHAIN_STATUS_MEMORY_ALLOCATION_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531ab12ec938f7556a163c609194ee0aede0 - - - - FLAC__METADATA_CHAIN_STATUS_INTERNAL_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a36b9bcf93da8e0f111738a65eab36e9d - - - - FLAC__METADATA_CHAIN_STATUS_INVALID_CALLBACKS - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531ab8a6aa5f115db3f07ad2ed4adbcbe060 - - - - FLAC__METADATA_CHAIN_STATUS_READ_WRITE_MISMATCH - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a0d9e64ad6514c88b8ea9e9171c42ec9a - - - - FLAC__METADATA_CHAIN_STATUS_WRONG_WRITE_CALL - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531af86670707345e2d02cc84aec059459d0 - - - - FLAC__Metadata_Chain * - FLAC__metadata_chain_new - group__flac__metadata__level2.html - ga04c441b6c2bec6db0b7a1998cd10846c - (void) - - - void - FLAC__metadata_chain_delete - group__flac__metadata__level2.html - ga46b6c67f30db2955798dfb5556f63aa3 - (FLAC__Metadata_Chain *chain) - - - FLAC__Metadata_ChainStatus - FLAC__metadata_chain_status - group__flac__metadata__level2.html - ga8e74773f8ca2bb2bc0b56a65ca0299f4 - (FLAC__Metadata_Chain *chain) - - - FLAC__bool - FLAC__metadata_chain_read - group__flac__metadata__level2.html - ga5a4f2056c30f78af5a79f6b64d5bfdcd - (FLAC__Metadata_Chain *chain, const char *filename) - - - FLAC__bool - FLAC__metadata_chain_read_ogg - group__flac__metadata__level2.html - ga3995010aab28a483ad9905669e5c4954 - (FLAC__Metadata_Chain *chain, const char *filename) - - - FLAC__bool - FLAC__metadata_chain_read_with_callbacks - group__flac__metadata__level2.html - ga595f55b611ed588d4d55a9b2eb9d2add - (FLAC__Metadata_Chain *chain, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks) - - - FLAC__bool - FLAC__metadata_chain_read_ogg_with_callbacks - group__flac__metadata__level2.html - gaccc2f991722682d3c31d36f51985066c - (FLAC__Metadata_Chain *chain, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks) - - - FLAC__bool - FLAC__metadata_chain_check_if_tempfile_needed - group__flac__metadata__level2.html - ga46602f64d423cfe5d5f8a4155f8a97e2 - (FLAC__Metadata_Chain *chain, FLAC__bool use_padding) - - - FLAC__bool - FLAC__metadata_chain_write - group__flac__metadata__level2.html - ga46bf9cf7d426078101b9297ba80bb835 - (FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__bool preserve_file_stats) - - - FLAC__bool - FLAC__metadata_chain_write_with_callbacks - group__flac__metadata__level2.html - ga70532b3705294dc891d8db649a4d4843 - (FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks) - - - FLAC__bool - FLAC__metadata_chain_write_with_callbacks_and_tempfile - group__flac__metadata__level2.html - ga72facaa621e8d798036a4a7da3643e41 - (FLAC__Metadata_Chain *chain, FLAC__bool use_padding, FLAC__IOHandle handle, FLAC__IOCallbacks callbacks, FLAC__IOHandle temp_handle, FLAC__IOCallbacks temp_callbacks) - - - void - FLAC__metadata_chain_merge_padding - group__flac__metadata__level2.html - ga0a43897914edb751cb87f7e281aff3dc - (FLAC__Metadata_Chain *chain) - - - void - FLAC__metadata_chain_sort_padding - group__flac__metadata__level2.html - ga82b66fe71c727adb9cf80a1da9834ce5 - (FLAC__Metadata_Chain *chain) - - - FLAC__Metadata_Iterator * - FLAC__metadata_iterator_new - group__flac__metadata__level2.html - gab41f9cbda6240979672501e00a30d606 - (void) - - - void - FLAC__metadata_iterator_delete - group__flac__metadata__level2.html - ga374c246e1aeafd803d29a6e99b226241 - (FLAC__Metadata_Iterator *iterator) - - - void - FLAC__metadata_iterator_init - group__flac__metadata__level2.html - ga2e93196b17a1c73e949e661e33d7311a - (FLAC__Metadata_Iterator *iterator, FLAC__Metadata_Chain *chain) - - - FLAC__bool - FLAC__metadata_iterator_next - group__flac__metadata__level2.html - ga60449d0c1d76a73978159e3aa5e79459 - (FLAC__Metadata_Iterator *iterator) - - - FLAC__bool - FLAC__metadata_iterator_prev - group__flac__metadata__level2.html - gaa28df1c5aa56726f573f90e4bae2fe50 - (FLAC__Metadata_Iterator *iterator) - - - FLAC__MetadataType - FLAC__metadata_iterator_get_block_type - group__flac__metadata__level2.html - ga83ecb59ffa16bfbb1e286e64f9270de1 - (const FLAC__Metadata_Iterator *iterator) - - - FLAC__StreamMetadata * - FLAC__metadata_iterator_get_block - group__flac__metadata__level2.html - ga1b7286a89bd17f120bbd9952d657e574 - (FLAC__Metadata_Iterator *iterator) - - - FLAC__bool - FLAC__metadata_iterator_set_block - group__flac__metadata__level2.html - gaf61795b21300a2b0c9940c11974aab53 - (FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block) - - - FLAC__bool - FLAC__metadata_iterator_delete_block - group__flac__metadata__level2.html - gadf860af967d2ee483be01fc0ed8767a9 - (FLAC__Metadata_Iterator *iterator, FLAC__bool replace_with_padding) - - - FLAC__bool - FLAC__metadata_iterator_insert_block_before - group__flac__metadata__level2.html - ga8ac45e2df8b6fd6f5db345c4293aa435 - (FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block) - - - FLAC__bool - FLAC__metadata_iterator_insert_block_after - group__flac__metadata__level2.html - ga55e53757f91696e2578196a2799fc632 - (FLAC__Metadata_Iterator *iterator, FLAC__StreamMetadata *block) - - - const char *const - FLAC__Metadata_ChainStatusString - group__flac__metadata__level2.html - ga6498d1976b0d9fa3f8f6295c02e622dd - [] - - - - flac_metadata_object - FLAC/metadata.h: metadata object methods - group__flac__metadata__object.html - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a33aadd73194c0d7e307d643237e0ddcd - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a0a3933cb38c8957a8d5c3d1afb4766f9 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ERROR_OPENING_FILE - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a20e835bbb74b4d039e598617f68d2af6 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_A_FLAC_FILE - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a7785f77a612be8956fbe7cab73497220 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_NOT_WRITABLE - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9af055d8c0c663e72134fe2db8037b6880 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_BAD_METADATA - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a14c897124887858109200723826f85b7 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_READ_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a088df964f0852dd7e19304e920c3ee8e - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_SEEK_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a2ad85a32e291d1e918692d68cc22fd40 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_WRITE_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9ac2337299c2347ca311caeaa7d71d857c - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_RENAME_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a2e073843fa99419d76a0b210da96ceb6 - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_UNLINK_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a4f855433038c576da127fc1de9d18f9b - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_MEMORY_ALLOCATION_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9aa8386ed0a20d7e91b0022d203ec3cdec - - - - FLAC__METADATA_SIMPLE_ITERATOR_STATUS_INTERNAL_ERROR - group__flac__metadata__level1.html - ggac926e7d2773a05066115cac9048bbec9a9d821ae65a1c5de619daa88c850906df - - - - FLAC__METADATA_CHAIN_STATUS_OK - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a293be942ec54576f2b3c73613af968e9 - - - - FLAC__METADATA_CHAIN_STATUS_ILLEGAL_INPUT - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a1be9400982f411173af46bf0c3acbdc7 - - - - FLAC__METADATA_CHAIN_STATUS_ERROR_OPENING_FILE - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a43d2741a650576052fa3615d8cd64d86 - - - - FLAC__METADATA_CHAIN_STATUS_NOT_A_FLAC_FILE - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a99748a4b12ed10f9368375cc8deeb143 - - - - FLAC__METADATA_CHAIN_STATUS_NOT_WRITABLE - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531ac469c6543ebb117e99064572c16672d4 - - - - FLAC__METADATA_CHAIN_STATUS_BAD_METADATA - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a8efd2c76dc06308eb6eba59e1bc6300b - - - - FLAC__METADATA_CHAIN_STATUS_READ_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a0525de5fb5d8aeeb4e848e33a8d503c6 - - - - FLAC__METADATA_CHAIN_STATUS_SEEK_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a5814bc26bcf92143198b8e7f028f43a2 - - - - FLAC__METADATA_CHAIN_STATUS_WRITE_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a66460c735e4745788b40889329e8489f - - - - FLAC__METADATA_CHAIN_STATUS_RENAME_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531af4ecf22bc3e5adf78a9c765f856efb0d - - - - FLAC__METADATA_CHAIN_STATUS_UNLINK_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a1cd3138ed493f6a0f5b95fb8481edd1e - - - - FLAC__METADATA_CHAIN_STATUS_MEMORY_ALLOCATION_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531ab12ec938f7556a163c609194ee0aede0 - - - - FLAC__METADATA_CHAIN_STATUS_INTERNAL_ERROR - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a36b9bcf93da8e0f111738a65eab36e9d - - - - FLAC__METADATA_CHAIN_STATUS_INVALID_CALLBACKS - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531ab8a6aa5f115db3f07ad2ed4adbcbe060 - - - - FLAC__METADATA_CHAIN_STATUS_READ_WRITE_MISMATCH - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531a0d9e64ad6514c88b8ea9e9171c42ec9a - - - - FLAC__METADATA_CHAIN_STATUS_WRONG_WRITE_CALL - group__flac__metadata__level2.html - ggafe2a924893b0800b020bea8160fd4531af86670707345e2d02cc84aec059459d0 - - - - FLAC__StreamMetadata * - FLAC__metadata_object_new - group__flac__metadata__object.html - gaf5cbd34fb2e2bfd2277bc9706b584577 - (FLAC__MetadataType type) - - - FLAC__StreamMetadata * - FLAC__metadata_object_clone - group__flac__metadata__object.html - gaf81a1eff588f66493ad5f247d94cdd19 - (const FLAC__StreamMetadata *object) - - - void - FLAC__metadata_object_delete - group__flac__metadata__object.html - ga6b3159744a1e5c4ce9d349fd0ebae800 - (FLAC__StreamMetadata *object) - - - FLAC__bool - FLAC__metadata_object_is_equal - group__flac__metadata__object.html - ga6853bcafe731b1db37105d49f3085349 - (const FLAC__StreamMetadata *block1, const FLAC__StreamMetadata *block2) - - - FLAC__bool - FLAC__metadata_object_application_set_data - group__flac__metadata__object.html - ga11f340e8877c58d231b09841182d66e5 - (FLAC__StreamMetadata *object, FLAC__byte *data, uint32_t length, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_seektable_resize_points - group__flac__metadata__object.html - ga7352bb944c594f447d3ab316244a9895 - (FLAC__StreamMetadata *object, uint32_t new_num_points) - - - void - FLAC__metadata_object_seektable_set_point - group__flac__metadata__object.html - gac258246fdda91e14110a186c1d8dcc8c - (FLAC__StreamMetadata *object, uint32_t point_num, FLAC__StreamMetadata_SeekPoint point) - - - FLAC__bool - FLAC__metadata_object_seektable_insert_point - group__flac__metadata__object.html - ga5ba4c8024988af5985877f9e0b3fef38 - (FLAC__StreamMetadata *object, uint32_t point_num, FLAC__StreamMetadata_SeekPoint point) - - - FLAC__bool - FLAC__metadata_object_seektable_delete_point - group__flac__metadata__object.html - gaa138480c7ea602a31109d3870b41a12f - (FLAC__StreamMetadata *object, uint32_t point_num) - - - FLAC__bool - FLAC__metadata_object_seektable_is_legal - group__flac__metadata__object.html - gacd3e1b83fabc1dabccb725b2876c8f53 - (const FLAC__StreamMetadata *object) - - - FLAC__bool - FLAC__metadata_object_seektable_template_append_placeholders - group__flac__metadata__object.html - gac509d8cb126d06f4bd73505b6c432338 - (FLAC__StreamMetadata *object, uint32_t num) - - - FLAC__bool - FLAC__metadata_object_seektable_template_append_point - group__flac__metadata__object.html - ga0b3aca4fbebc206cd79f13ac36f653f0 - (FLAC__StreamMetadata *object, FLAC__uint64 sample_number) - - - FLAC__bool - FLAC__metadata_object_seektable_template_append_points - group__flac__metadata__object.html - ga409f80cb3938814ae307e609faabccc4 - (FLAC__StreamMetadata *object, FLAC__uint64 sample_numbers[], uint32_t num) - - - FLAC__bool - FLAC__metadata_object_seektable_template_append_spaced_points - group__flac__metadata__object.html - gab899d58863aa6e974b3ed4ddd2ebf09e - (FLAC__StreamMetadata *object, uint32_t num, FLAC__uint64 total_samples) - - - FLAC__bool - FLAC__metadata_object_seektable_template_append_spaced_points_by_samples - group__flac__metadata__object.html - gab91c8b020a1da37d7524051ae82328cb - (FLAC__StreamMetadata *object, uint32_t samples, FLAC__uint64 total_samples) - - - FLAC__bool - FLAC__metadata_object_seektable_template_sort - group__flac__metadata__object.html - gafb0449b639ba5c618826d893c2961260 - (FLAC__StreamMetadata *object, FLAC__bool compact) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_set_vendor_string - group__flac__metadata__object.html - ga5cf1a57afab200b4b67730a77d3ee162 - (FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_resize_comments - group__flac__metadata__object.html - gab44132276cbec9abcadbacafbcd5f92a - (FLAC__StreamMetadata *object, uint32_t new_num_comments) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_set_comment - group__flac__metadata__object.html - ga0661d2b99c0e37fd8c5aa673eb302c03 - (FLAC__StreamMetadata *object, uint32_t comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_insert_comment - group__flac__metadata__object.html - ga395fcb4900cd5710e67dc96a9a9cca70 - (FLAC__StreamMetadata *object, uint32_t comment_num, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_append_comment - group__flac__metadata__object.html - ga889b8b9c5bbd1070a1214c3da8b72863 - (FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_replace_comment - group__flac__metadata__object.html - ga0608308e8c4c09aa610747d8dff90a34 - (FLAC__StreamMetadata *object, FLAC__StreamMetadata_VorbisComment_Entry entry, FLAC__bool all, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_delete_comment - group__flac__metadata__object.html - gac9f51ea4151eb8960e56f31beaa94bd3 - (FLAC__StreamMetadata *object, uint32_t comment_num) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair - group__flac__metadata__object.html - gab644c34515c04630c62a7645fab2947e - (FLAC__StreamMetadata_VorbisComment_Entry *entry, const char *field_name, const char *field_value) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_entry_to_name_value_pair - group__flac__metadata__object.html - ga29079764fabda53cb3e890e6d05c8345 - (const FLAC__StreamMetadata_VorbisComment_Entry entry, char **field_name, char **field_value) - - - FLAC__bool - FLAC__metadata_object_vorbiscomment_entry_matches - group__flac__metadata__object.html - gaad491f6e73bfb7c5a97b75eda7f4392a - (const FLAC__StreamMetadata_VorbisComment_Entry entry, const char *field_name, uint32_t field_name_length) - - - int - FLAC__metadata_object_vorbiscomment_find_entry_from - group__flac__metadata__object.html - gaeaf925bf881fd4e93bf68ce09b935175 - (const FLAC__StreamMetadata *object, uint32_t offset, const char *field_name) - - - int - FLAC__metadata_object_vorbiscomment_remove_entry_matching - group__flac__metadata__object.html - ga017d743b3200a27b8567ef33592224b8 - (FLAC__StreamMetadata *object, const char *field_name) - - - int - FLAC__metadata_object_vorbiscomment_remove_entries_matching - group__flac__metadata__object.html - ga5a3ff5856098c449622ba850684aec75 - (FLAC__StreamMetadata *object, const char *field_name) - - - FLAC__StreamMetadata_CueSheet_Track * - FLAC__metadata_object_cuesheet_track_new - group__flac__metadata__object.html - ga0a22d0a0ca22f209669cb9731b5b2a6e - (void) - - - FLAC__StreamMetadata_CueSheet_Track * - FLAC__metadata_object_cuesheet_track_clone - group__flac__metadata__object.html - gac1efa12615b7f44c09bafdef0a0b3ac8 - (const FLAC__StreamMetadata_CueSheet_Track *object) - - - void - FLAC__metadata_object_cuesheet_track_delete - group__flac__metadata__object.html - gaa533fd7b72fa079e783de4b155b241ce - (FLAC__StreamMetadata_CueSheet_Track *object) - - - FLAC__bool - FLAC__metadata_object_cuesheet_track_resize_indices - group__flac__metadata__object.html - ga003c90292bc93a877060c34a486fc2b4 - (FLAC__StreamMetadata *object, uint32_t track_num, uint32_t new_num_indices) - - - FLAC__bool - FLAC__metadata_object_cuesheet_track_insert_index - group__flac__metadata__object.html - ga2d66b56b6ebda795ccee86968029e6ad - (FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num, FLAC__StreamMetadata_CueSheet_Index index) - - - FLAC__bool - FLAC__metadata_object_cuesheet_track_insert_blank_index - group__flac__metadata__object.html - ga49ff698f47d914f4e9e45032b3433fba - (FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num) - - - FLAC__bool - FLAC__metadata_object_cuesheet_track_delete_index - group__flac__metadata__object.html - gabc751423461062096470b31613468feb - (FLAC__StreamMetadata *object, uint32_t track_num, uint32_t index_num) - - - FLAC__bool - FLAC__metadata_object_cuesheet_resize_tracks - group__flac__metadata__object.html - ga9c2edc662e4109c0f8ab5fd72bddaccf - (FLAC__StreamMetadata *object, uint32_t new_num_tracks) - - - FLAC__bool - FLAC__metadata_object_cuesheet_set_track - group__flac__metadata__object.html - gab5f4c6e58c5aa72223e80e7dcdeecfe9 - (FLAC__StreamMetadata *object, uint32_t track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_cuesheet_insert_track - group__flac__metadata__object.html - gaa5e7694a181545251f263fcb672abf3d - (FLAC__StreamMetadata *object, uint32_t track_num, FLAC__StreamMetadata_CueSheet_Track *track, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_cuesheet_insert_blank_track - group__flac__metadata__object.html - ga7ccabeffadad2c13522439f1337718ca - (FLAC__StreamMetadata *object, uint32_t track_num) - - - FLAC__bool - FLAC__metadata_object_cuesheet_delete_track - group__flac__metadata__object.html - ga241f5d623483b5aebc3a721cce3fa8ec - (FLAC__StreamMetadata *object, uint32_t track_num) - - - FLAC__bool - FLAC__metadata_object_cuesheet_is_legal - group__flac__metadata__object.html - ga1a443d9299ce69694ad59bec4519d7b2 - (const FLAC__StreamMetadata *object, FLAC__bool check_cd_da_subset, const char **violation) - - - FLAC__uint32 - FLAC__metadata_object_cuesheet_calculate_cddb_id - group__flac__metadata__object.html - gaff2f825950b3e4dda4c8ddbf8e2f7ecd - (const FLAC__StreamMetadata *object) - - - FLAC__bool - FLAC__metadata_object_picture_set_mime_type - group__flac__metadata__object.html - ga4511ae9ca994c9f4ab035a3c1aa98f45 - (FLAC__StreamMetadata *object, char *mime_type, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_picture_set_description - group__flac__metadata__object.html - ga293fe7d8b8b9e49d2414db0925b0f442 - (FLAC__StreamMetadata *object, FLAC__byte *description, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_picture_set_data - group__flac__metadata__object.html - ga00c330534ef8336ed92b30f9e676bb5f - (FLAC__StreamMetadata *object, FLAC__byte *data, FLAC__uint32 length, FLAC__bool copy) - - - FLAC__bool - FLAC__metadata_object_picture_is_legal - group__flac__metadata__object.html - ga88268a5186e37d4b98b4df7870561128 - (const FLAC__StreamMetadata *object, const char **violation) - - - - flac_decoder - FLAC/ *_decoder.h: decoder interfaces - group__flac__decoder.html - flac_stream_decoder - - - flac_stream_decoder - FLAC/stream_decoder.h: stream decoder interface - group__flac__stream__decoder.html - FLAC__StreamDecoder - - FLAC__StreamDecoderReadStatus(* - FLAC__StreamDecoderReadCallback - group__flac__stream__decoder.html - ga25d4321dc2f122d35ddc9061f44beae7 - )(const FLAC__StreamDecoder *decoder, FLAC__byte buffer[], size_t *bytes, void *client_data) - - - FLAC__StreamDecoderSeekStatus(* - FLAC__StreamDecoderSeekCallback - group__flac__stream__decoder.html - ga4c18b0216e0f7a83d7e4e7001230545d - )(const FLAC__StreamDecoder *decoder, FLAC__uint64 absolute_byte_offset, void *client_data) - - - FLAC__StreamDecoderTellStatus(* - FLAC__StreamDecoderTellCallback - group__flac__stream__decoder.html - gafdf1852486617a40c285c0d76d451a5a - )(const FLAC__StreamDecoder *decoder, FLAC__uint64 *absolute_byte_offset, void *client_data) - - - FLAC__StreamDecoderLengthStatus(* - FLAC__StreamDecoderLengthCallback - group__flac__stream__decoder.html - ga5363f3b46e3f7d6a73385f6560f7e7ef - )(const FLAC__StreamDecoder *decoder, FLAC__uint64 *stream_length, void *client_data) - - - FLAC__bool(* - FLAC__StreamDecoderEofCallback - group__flac__stream__decoder.html - ga4eac094fc609363532d90cf8374b4f7e - )(const FLAC__StreamDecoder *decoder, void *client_data) - - - FLAC__StreamDecoderWriteStatus(* - FLAC__StreamDecoderWriteCallback - group__flac__stream__decoder.html - ga61e48dc2c0d2f6c5519290ff046874a4 - )(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 *const buffer[], void *client_data) - - - void(* - FLAC__StreamDecoderMetadataCallback - group__flac__stream__decoder.html - ga6aa87c01744c1c601b7f371f627b6e14 - )(const FLAC__StreamDecoder *decoder, const FLAC__StreamMetadata *metadata, void *client_data) - - - void(* - FLAC__StreamDecoderErrorCallback - group__flac__stream__decoder.html - gac896ee6a12668e9015fab4fbc6aae996 - )(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus status, void *client_data) - - - - FLAC__StreamDecoderState - group__flac__stream__decoder.html - ga3adb6891c5871a87cd5bbae6c770ba2d - - - - FLAC__STREAM_DECODER_SEARCH_FOR_METADATA - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2dacf4455f4f681a6737a553e10f614704a - - - - FLAC__STREAM_DECODER_READ_METADATA - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2da4c1853ed1babdcede9a908e12cf7ccf7 - - - - FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2daccff915757978117720ba1613d088ddf - - - - FLAC__STREAM_DECODER_READ_FRAME - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2da06dc6158a51a8eb9537b65f2fbb6dc49 - - - - FLAC__STREAM_DECODER_END_OF_STREAM - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2da28ce845052d9d1a780f4107e97f4c853 - - - - FLAC__STREAM_DECODER_OGG_ERROR - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2da3bc0343f47153c5779baf7f37f6e95cf - - - - FLAC__STREAM_DECODER_SEEK_ERROR - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2daf2c6efcabdfe889081c2260e6681db49 - - - - FLAC__STREAM_DECODER_ABORTED - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2dadb52ab4785bd2eb84a95e8aa82311cd5 - - - - FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2da0d08c527252420813e6a6d6d3e19324a - - - - FLAC__STREAM_DECODER_UNINITIALIZED - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2da565eaf4d5e68b440ecec771cb22d3427 - - - - - FLAC__StreamDecoderInitStatus - group__flac__stream__decoder.html - gaaed54a24ac6310d29c5cafba79759c44 - - - - FLAC__STREAM_DECODER_INIT_STATUS_OK - group__flac__stream__decoder.html - ggaaed54a24ac6310d29c5cafba79759c44ac94c7e9396f30642f34805e5d626e011 - - - - FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER - group__flac__stream__decoder.html - ggaaed54a24ac6310d29c5cafba79759c44a8f2188c616c9bc09638eece3ae55f152 - - - - FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS - group__flac__stream__decoder.html - ggaaed54a24ac6310d29c5cafba79759c44a798ad4b6c4e556fd4cb1afbc29562eca - - - - FLAC__STREAM_DECODER_INIT_STATUS_MEMORY_ALLOCATION_ERROR - group__flac__stream__decoder.html - ggaaed54a24ac6310d29c5cafba79759c44a0110567f0715c6f87357388bc7fa98f9 - - - - FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE - group__flac__stream__decoder.html - ggaaed54a24ac6310d29c5cafba79759c44a8184c306e0cd2565a8c5adc1381cb469 - - - - FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED - group__flac__stream__decoder.html - ggaaed54a24ac6310d29c5cafba79759c44a98bc501c9b2fb5d92d8bb0b3321d504f - - - - - FLAC__StreamDecoderReadStatus - group__flac__stream__decoder.html - gad793ead451206c64a91dc0b851027b93 - - - - FLAC__STREAM_DECODER_READ_STATUS_CONTINUE - group__flac__stream__decoder.html - ggad793ead451206c64a91dc0b851027b93a9a5be0fcf0279b98b2fd462bc4871d06 - - - - FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM - group__flac__stream__decoder.html - ggad793ead451206c64a91dc0b851027b93a0a0687d25dc9f7163e6e5e294672170f - - - - FLAC__STREAM_DECODER_READ_STATUS_ABORT - group__flac__stream__decoder.html - ggad793ead451206c64a91dc0b851027b93a923123aebb349e35662e35a7621b7535 - - - - - FLAC__StreamDecoderSeekStatus - group__flac__stream__decoder.html - gac8d269e3c7af1a5889d3bd38409ed67d - - - - FLAC__STREAM_DECODER_SEEK_STATUS_OK - group__flac__stream__decoder.html - ggac8d269e3c7af1a5889d3bd38409ed67daca58132d896ad7755827d3f2b72488cc - - - - FLAC__STREAM_DECODER_SEEK_STATUS_ERROR - group__flac__stream__decoder.html - ggac8d269e3c7af1a5889d3bd38409ed67da969ce92a42a2a95609452e9cf01fcc09 - - - - FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED - group__flac__stream__decoder.html - ggac8d269e3c7af1a5889d3bd38409ed67da4a01f1e48baf015e78535cc20683ec53 - - - - - FLAC__StreamDecoderTellStatus - group__flac__stream__decoder.html - ga83708207969383bd7b5c1e9148528845 - - - - FLAC__STREAM_DECODER_TELL_STATUS_OK - group__flac__stream__decoder.html - gga83708207969383bd7b5c1e9148528845a516a202ebf4bb61d4a1fb5b029a104dd - - - - FLAC__STREAM_DECODER_TELL_STATUS_ERROR - group__flac__stream__decoder.html - gga83708207969383bd7b5c1e9148528845aceefd3feb853d5e68a149f2bdd1a9db1 - - - - FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED - group__flac__stream__decoder.html - gga83708207969383bd7b5c1e9148528845add75538234493c9f7a20a846a223ca91 - - - - - FLAC__StreamDecoderLengthStatus - group__flac__stream__decoder.html - gad5860157c2bb34501b8b9370472d727a - - - - FLAC__STREAM_DECODER_LENGTH_STATUS_OK - group__flac__stream__decoder.html - ggad5860157c2bb34501b8b9370472d727aaef01bfcdc3099686e106d8f88397653d - - - - FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR - group__flac__stream__decoder.html - ggad5860157c2bb34501b8b9370472d727aab000e31c0c20c0d19df4f2203b01ea23 - - - - FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED - group__flac__stream__decoder.html - ggad5860157c2bb34501b8b9370472d727aae35949f46f887e6d826fe0fe4b2a32c1 - - - - - FLAC__StreamDecoderWriteStatus - group__flac__stream__decoder.html - ga73f67eb9e0ab57945afe038751bc62c8 - - - - FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE - group__flac__stream__decoder.html - gga73f67eb9e0ab57945afe038751bc62c8acea48326e0ab8370d2814f4126fcb84e - - - - FLAC__STREAM_DECODER_WRITE_STATUS_ABORT - group__flac__stream__decoder.html - gga73f67eb9e0ab57945afe038751bc62c8a23bd6bfec34af704e0d5ea273f14d95d - - - - - FLAC__StreamDecoderErrorStatus - group__flac__stream__decoder.html - ga130e70bd9a73d3c2416247a3e5132ecf - - - - FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC - group__flac__stream__decoder.html - gga130e70bd9a73d3c2416247a3e5132ecfa3ceec2a553dc142ad487ae88eb6f7222 - - - - FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER - group__flac__stream__decoder.html - gga130e70bd9a73d3c2416247a3e5132ecfae393a9b91a6b2f23398675b5b57e1e86 - - - - FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH - group__flac__stream__decoder.html - gga130e70bd9a73d3c2416247a3e5132ecfa208fe77a04e6ff684e50f0eae1214e26 - - - - FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM - group__flac__stream__decoder.html - gga130e70bd9a73d3c2416247a3e5132ecfa8b6864ad65edd8fea039838b6d3e5575 - - - - FLAC__STREAM_DECODER_ERROR_STATUS_BAD_METADATA - group__flac__stream__decoder.html - gga130e70bd9a73d3c2416247a3e5132ecfa67ee497c6fe564b50d7a7964ef5cd30a - - - - FLAC__STREAM_DECODER_SEARCH_FOR_METADATA - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2dacf4455f4f681a6737a553e10f614704a - - - - FLAC__STREAM_DECODER_READ_METADATA - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2da4c1853ed1babdcede9a908e12cf7ccf7 - - - - FLAC__STREAM_DECODER_SEARCH_FOR_FRAME_SYNC - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2daccff915757978117720ba1613d088ddf - - - - FLAC__STREAM_DECODER_READ_FRAME - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2da06dc6158a51a8eb9537b65f2fbb6dc49 - - - - FLAC__STREAM_DECODER_END_OF_STREAM - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2da28ce845052d9d1a780f4107e97f4c853 - - - - FLAC__STREAM_DECODER_OGG_ERROR - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2da3bc0343f47153c5779baf7f37f6e95cf - - - - FLAC__STREAM_DECODER_SEEK_ERROR - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2daf2c6efcabdfe889081c2260e6681db49 - - - - FLAC__STREAM_DECODER_ABORTED - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2dadb52ab4785bd2eb84a95e8aa82311cd5 - - - - FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2da0d08c527252420813e6a6d6d3e19324a - - - - FLAC__STREAM_DECODER_UNINITIALIZED - group__flac__stream__decoder.html - gga3adb6891c5871a87cd5bbae6c770ba2da565eaf4d5e68b440ecec771cb22d3427 - - - - FLAC__STREAM_DECODER_INIT_STATUS_OK - group__flac__stream__decoder.html - ggaaed54a24ac6310d29c5cafba79759c44ac94c7e9396f30642f34805e5d626e011 - - - - FLAC__STREAM_DECODER_INIT_STATUS_UNSUPPORTED_CONTAINER - group__flac__stream__decoder.html - ggaaed54a24ac6310d29c5cafba79759c44a8f2188c616c9bc09638eece3ae55f152 - - - - FLAC__STREAM_DECODER_INIT_STATUS_INVALID_CALLBACKS - group__flac__stream__decoder.html - ggaaed54a24ac6310d29c5cafba79759c44a798ad4b6c4e556fd4cb1afbc29562eca - - - - FLAC__STREAM_DECODER_INIT_STATUS_MEMORY_ALLOCATION_ERROR - group__flac__stream__decoder.html - ggaaed54a24ac6310d29c5cafba79759c44a0110567f0715c6f87357388bc7fa98f9 - - - - FLAC__STREAM_DECODER_INIT_STATUS_ERROR_OPENING_FILE - group__flac__stream__decoder.html - ggaaed54a24ac6310d29c5cafba79759c44a8184c306e0cd2565a8c5adc1381cb469 - - - - FLAC__STREAM_DECODER_INIT_STATUS_ALREADY_INITIALIZED - group__flac__stream__decoder.html - ggaaed54a24ac6310d29c5cafba79759c44a98bc501c9b2fb5d92d8bb0b3321d504f - - - - FLAC__STREAM_DECODER_READ_STATUS_CONTINUE - group__flac__stream__decoder.html - ggad793ead451206c64a91dc0b851027b93a9a5be0fcf0279b98b2fd462bc4871d06 - - - - FLAC__STREAM_DECODER_READ_STATUS_END_OF_STREAM - group__flac__stream__decoder.html - ggad793ead451206c64a91dc0b851027b93a0a0687d25dc9f7163e6e5e294672170f - - - - FLAC__STREAM_DECODER_READ_STATUS_ABORT - group__flac__stream__decoder.html - ggad793ead451206c64a91dc0b851027b93a923123aebb349e35662e35a7621b7535 - - - - FLAC__STREAM_DECODER_SEEK_STATUS_OK - group__flac__stream__decoder.html - ggac8d269e3c7af1a5889d3bd38409ed67daca58132d896ad7755827d3f2b72488cc - - - - FLAC__STREAM_DECODER_SEEK_STATUS_ERROR - group__flac__stream__decoder.html - ggac8d269e3c7af1a5889d3bd38409ed67da969ce92a42a2a95609452e9cf01fcc09 - - - - FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED - group__flac__stream__decoder.html - ggac8d269e3c7af1a5889d3bd38409ed67da4a01f1e48baf015e78535cc20683ec53 - - - - FLAC__STREAM_DECODER_TELL_STATUS_OK - group__flac__stream__decoder.html - gga83708207969383bd7b5c1e9148528845a516a202ebf4bb61d4a1fb5b029a104dd - - - - FLAC__STREAM_DECODER_TELL_STATUS_ERROR - group__flac__stream__decoder.html - gga83708207969383bd7b5c1e9148528845aceefd3feb853d5e68a149f2bdd1a9db1 - - - - FLAC__STREAM_DECODER_TELL_STATUS_UNSUPPORTED - group__flac__stream__decoder.html - gga83708207969383bd7b5c1e9148528845add75538234493c9f7a20a846a223ca91 - - - - FLAC__STREAM_DECODER_LENGTH_STATUS_OK - group__flac__stream__decoder.html - ggad5860157c2bb34501b8b9370472d727aaef01bfcdc3099686e106d8f88397653d - - - - FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR - group__flac__stream__decoder.html - ggad5860157c2bb34501b8b9370472d727aab000e31c0c20c0d19df4f2203b01ea23 - - - - FLAC__STREAM_DECODER_LENGTH_STATUS_UNSUPPORTED - group__flac__stream__decoder.html - ggad5860157c2bb34501b8b9370472d727aae35949f46f887e6d826fe0fe4b2a32c1 - - - - FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE - group__flac__stream__decoder.html - gga73f67eb9e0ab57945afe038751bc62c8acea48326e0ab8370d2814f4126fcb84e - - - - FLAC__STREAM_DECODER_WRITE_STATUS_ABORT - group__flac__stream__decoder.html - gga73f67eb9e0ab57945afe038751bc62c8a23bd6bfec34af704e0d5ea273f14d95d - - - - FLAC__STREAM_DECODER_ERROR_STATUS_LOST_SYNC - group__flac__stream__decoder.html - gga130e70bd9a73d3c2416247a3e5132ecfa3ceec2a553dc142ad487ae88eb6f7222 - - - - FLAC__STREAM_DECODER_ERROR_STATUS_BAD_HEADER - group__flac__stream__decoder.html - gga130e70bd9a73d3c2416247a3e5132ecfae393a9b91a6b2f23398675b5b57e1e86 - - - - FLAC__STREAM_DECODER_ERROR_STATUS_FRAME_CRC_MISMATCH - group__flac__stream__decoder.html - gga130e70bd9a73d3c2416247a3e5132ecfa208fe77a04e6ff684e50f0eae1214e26 - - - - FLAC__STREAM_DECODER_ERROR_STATUS_UNPARSEABLE_STREAM - group__flac__stream__decoder.html - gga130e70bd9a73d3c2416247a3e5132ecfa8b6864ad65edd8fea039838b6d3e5575 - - - - FLAC__STREAM_DECODER_ERROR_STATUS_BAD_METADATA - group__flac__stream__decoder.html - gga130e70bd9a73d3c2416247a3e5132ecfa67ee497c6fe564b50d7a7964ef5cd30a - - - - FLAC__StreamDecoder * - FLAC__stream_decoder_new - group__flac__stream__decoder.html - gad6ef19e729b5edd44ee9dabc8a6ed92c - (void) - - - void - FLAC__stream_decoder_delete - group__flac__stream__decoder.html - gad9cf299956da091111d13e83517d8c44 - (FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_set_ogg_serial_number - group__flac__stream__decoder.html - ga7fd232e7a2b5070bd26450487edbc2a1 - (FLAC__StreamDecoder *decoder, long serial_number) - - - FLAC__bool - FLAC__stream_decoder_set_md5_checking - group__flac__stream__decoder.html - ga8f402243eed54f400ddd2f296ff54497 - (FLAC__StreamDecoder *decoder, FLAC__bool value) - - - FLAC__bool - FLAC__stream_decoder_set_metadata_respond - group__flac__stream__decoder.html - gad4e685f3d055f70fbaed9ffa4f70f74b - (FLAC__StreamDecoder *decoder, FLAC__MetadataType type) - - - FLAC__bool - FLAC__stream_decoder_set_metadata_respond_application - group__flac__stream__decoder.html - gaee1196ff5fa97df9810f708dc2bc8326 - (FLAC__StreamDecoder *decoder, const FLAC__byte id[4]) - - - FLAC__bool - FLAC__stream_decoder_set_metadata_respond_all - group__flac__stream__decoder.html - ga1ce03d8f305a818ff9a573473af99dc4 - (FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_set_metadata_ignore - group__flac__stream__decoder.html - gad75f067720da89c4e9d96dedc45f73e6 - (FLAC__StreamDecoder *decoder, FLAC__MetadataType type) - - - FLAC__bool - FLAC__stream_decoder_set_metadata_ignore_application - group__flac__stream__decoder.html - gaab41e8bc505b24df4912de53de06b085 - (FLAC__StreamDecoder *decoder, const FLAC__byte id[4]) - - - FLAC__bool - FLAC__stream_decoder_set_metadata_ignore_all - group__flac__stream__decoder.html - gaa1307f07fae5d7a4a0c18beeae7ec5e6 - (FLAC__StreamDecoder *decoder) - - - FLAC__StreamDecoderState - FLAC__stream_decoder_get_state - group__flac__stream__decoder.html - gaf99dac2d9255f7db4df8a6d9974a9a9a - (const FLAC__StreamDecoder *decoder) - - - const char * - FLAC__stream_decoder_get_resolved_state_string - group__flac__stream__decoder.html - ga36a2a4af3e2e458091b523190e4aedf6 - (const FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_get_md5_checking - group__flac__stream__decoder.html - gae27a6b30b55beda03559c12a5df21537 - (const FLAC__StreamDecoder *decoder) - - - FLAC__uint64 - FLAC__stream_decoder_get_total_samples - group__flac__stream__decoder.html - ga930d9b591fcfaea74359c722cdfb980c - (const FLAC__StreamDecoder *decoder) - - - uint32_t - FLAC__stream_decoder_get_channels - group__flac__stream__decoder.html - ga802d5f4c48a711b690d6d66d2e3f20a5 - (const FLAC__StreamDecoder *decoder) - - - FLAC__ChannelAssignment - FLAC__stream_decoder_get_channel_assignment - group__flac__stream__decoder.html - gae62fdf93c1fedd5fea9258ecdc78bb53 - (const FLAC__StreamDecoder *decoder) - - - uint32_t - FLAC__stream_decoder_get_bits_per_sample - group__flac__stream__decoder.html - ga689893cde90c171ca343192e92679842 - (const FLAC__StreamDecoder *decoder) - - - uint32_t - FLAC__stream_decoder_get_sample_rate - group__flac__stream__decoder.html - ga95f7cdfefba169d964e3c08672a0f0ad - (const FLAC__StreamDecoder *decoder) - - - uint32_t - FLAC__stream_decoder_get_blocksize - group__flac__stream__decoder.html - gafe07ad9949cc54944fd369fe9335c4bc - (const FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_get_decode_position - group__flac__stream__decoder.html - gaffd9b0d0832ed01e6d75930b5391def5 - (const FLAC__StreamDecoder *decoder, FLAC__uint64 *position) - - - const void * - FLAC__stream_decoder_get_client_data - group__flac__stream__decoder.html - gaf61add658612b497da0673128b364b70 - (FLAC__StreamDecoder *decoder) - - - FLAC__StreamDecoderInitStatus - FLAC__stream_decoder_init_stream - group__flac__stream__decoder.html - ga150d381abc5249168e439bc076544b29 - (FLAC__StreamDecoder *decoder, FLAC__StreamDecoderReadCallback read_callback, FLAC__StreamDecoderSeekCallback seek_callback, FLAC__StreamDecoderTellCallback tell_callback, FLAC__StreamDecoderLengthCallback length_callback, FLAC__StreamDecoderEofCallback eof_callback, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data) - - - FLAC__StreamDecoderInitStatus - FLAC__stream_decoder_init_ogg_stream - group__flac__stream__decoder.html - ga1b043adeb805c779c1e97cb68959d1ab - (FLAC__StreamDecoder *decoder, FLAC__StreamDecoderReadCallback read_callback, FLAC__StreamDecoderSeekCallback seek_callback, FLAC__StreamDecoderTellCallback tell_callback, FLAC__StreamDecoderLengthCallback length_callback, FLAC__StreamDecoderEofCallback eof_callback, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data) - - - FLAC__StreamDecoderInitStatus - FLAC__stream_decoder_init_FILE - group__flac__stream__decoder.html - ga80aa83631460a53263c84e654586dff0 - (FLAC__StreamDecoder *decoder, FILE *file, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data) - - - FLAC__StreamDecoderInitStatus - FLAC__stream_decoder_init_ogg_FILE - group__flac__stream__decoder.html - ga4cc7fbaf905c24d6db48b53b7942fe72 - (FLAC__StreamDecoder *decoder, FILE *file, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data) - - - FLAC__StreamDecoderInitStatus - FLAC__stream_decoder_init_file - group__flac__stream__decoder.html - ga4021ead5cff29fd589c915756f902f1a - (FLAC__StreamDecoder *decoder, const char *filename, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data) - - - FLAC__StreamDecoderInitStatus - FLAC__stream_decoder_init_ogg_file - group__flac__stream__decoder.html - ga548f15d7724f3bff7f2608abe8b12f6c - (FLAC__StreamDecoder *decoder, const char *filename, FLAC__StreamDecoderWriteCallback write_callback, FLAC__StreamDecoderMetadataCallback metadata_callback, FLAC__StreamDecoderErrorCallback error_callback, void *client_data) - - - FLAC__bool - FLAC__stream_decoder_finish - group__flac__stream__decoder.html - ga96c47c96920f363cd0972b54067818a9 - (FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_flush - group__flac__stream__decoder.html - ga95570a455e582b2ab46ab9bb529f26ac - (FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_reset - group__flac__stream__decoder.html - gaa4183c2d925d5a5edddde9d1ca145725 - (FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_process_single - group__flac__stream__decoder.html - ga9d6df4a39892c05955122cf7f987f856 - (FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_process_until_end_of_metadata - group__flac__stream__decoder.html - ga027ffb5b75dc39b3d26f55c5e6b42682 - (FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_process_until_end_of_stream - group__flac__stream__decoder.html - ga89a0723812fa6ef7cdb173715f1bc81f - (FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_skip_single_frame - group__flac__stream__decoder.html - ga85b666aba976f29e8dd9d7956fce4301 - (FLAC__StreamDecoder *decoder) - - - FLAC__bool - FLAC__stream_decoder_seek_absolute - group__flac__stream__decoder.html - ga6a2eb6072b9fafefc3f80f1959805ccb - (FLAC__StreamDecoder *decoder, FLAC__uint64 sample) - - - const char *const - FLAC__StreamDecoderStateString - group__flac__stream__decoder.html - gac192360ac435614394bf43235cb7981e - [] - - - const char *const - FLAC__StreamDecoderInitStatusString - group__flac__stream__decoder.html - ga0effa1d3031c3206a1719faf984a4f21 - [] - - - const char *const - FLAC__StreamDecoderReadStatusString - group__flac__stream__decoder.html - gab1ee941839b05045ae1d73ee0fdcb8c9 - [] - - - const char *const - FLAC__StreamDecoderSeekStatusString - group__flac__stream__decoder.html - gac49aff0593584b7ed5fd0b2508f824fc - [] - - - const char *const - FLAC__StreamDecoderTellStatusString - group__flac__stream__decoder.html - ga3c1b7d5a174d6c2e6bcf1b9a87b5a5cb - [] - - - const char *const - FLAC__StreamDecoderLengthStatusString - group__flac__stream__decoder.html - ga792933fa9e8b65bfcac62d82e52415f5 - [] - - - const char *const - FLAC__StreamDecoderWriteStatusString - group__flac__stream__decoder.html - ga9df7f0fd8cf9888f97a52b5f3f33cdb0 - [] - - - const char *const - FLAC__StreamDecoderErrorStatusString - group__flac__stream__decoder.html - gac428c69b084529322df05ee793440b88 - [] - - - - flac_encoder - FLAC/ *_encoder.h: encoder interfaces - group__flac__encoder.html - flac_stream_encoder - - - flac_stream_encoder - FLAC/stream_encoder.h: stream encoder interface - group__flac__stream__encoder.html - FLAC__StreamEncoder - - FLAC__StreamEncoderReadStatus(* - FLAC__StreamEncoderReadCallback - group__flac__stream__encoder.html - ga18b7941b93bae067192732e913536d44 - )(const FLAC__StreamEncoder *encoder, FLAC__byte buffer[], size_t *bytes, void *client_data) - - - FLAC__StreamEncoderWriteStatus(* - FLAC__StreamEncoderWriteCallback - group__flac__stream__encoder.html - ga2998a0af774d793928a7cc3bbc84dcdf - )(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame, void *client_data) - - - FLAC__StreamEncoderSeekStatus(* - FLAC__StreamEncoderSeekCallback - group__flac__stream__encoder.html - ga70b85349d5242e4401c4d8ddf6d9bbca - )(const FLAC__StreamEncoder *encoder, FLAC__uint64 absolute_byte_offset, void *client_data) - - - FLAC__StreamEncoderTellStatus(* - FLAC__StreamEncoderTellCallback - group__flac__stream__encoder.html - gabefdf2279e1d0347d9f98f46da4e415b - )(const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_byte_offset, void *client_data) - - - void(* - FLAC__StreamEncoderMetadataCallback - group__flac__stream__encoder.html - ga091fbf3340d85bcbda1090c31bc320cf - )(const FLAC__StreamEncoder *encoder, const FLAC__StreamMetadata *metadata, void *client_data) - - - void(* - FLAC__StreamEncoderProgressCallback - group__flac__stream__encoder.html - ga42a5fab5f91c1b0c3f7098499285f277 - )(const FLAC__StreamEncoder *encoder, FLAC__uint64 bytes_written, FLAC__uint64 samples_written, uint32_t frames_written, uint32_t total_frames_estimate, void *client_data) - - - - FLAC__StreamEncoderState - group__flac__stream__encoder.html - gac5e9db4fc32ca2fa74abd9c8a87c02a5 - - - - FLAC__STREAM_ENCODER_OK - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a3a6666ae61a64d955341cec285695bf6 - - - - FLAC__STREAM_ENCODER_UNINITIALIZED - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a04912e04a3c57d3c53de34742f96d635 - - - - FLAC__STREAM_ENCODER_OGG_ERROR - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5abb312cc8318c7a541cadacd23ceb3bbb - - - - FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a4cb80be4f83eb71f04e74968af1d259e - - - - FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a011e3d8b2d02a940bfd0e59c05cf5ae0 - - - - FLAC__STREAM_ENCODER_CLIENT_ERROR - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a8c2b2e9efb43a4f9b25b1d2bd9af5f23 - - - - FLAC__STREAM_ENCODER_IO_ERROR - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5af0e4738522e05a7248435c7148f58f91 - - - - FLAC__STREAM_ENCODER_FRAMING_ERROR - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a2c2937b7f1600a4ac7c84fc70ab34cf1 - - - - FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a35db99d9958bd6c2301a04715fbc44fd - - - - - FLAC__StreamEncoderInitStatus - group__flac__stream__encoder.html - ga3bb869620af2b188d77982a5c30b047d - - - - FLAC__STREAM_ENCODER_INIT_STATUS_OK - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da20501dce552da74c5df935eeaa0c9ee3 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da9c64e5f9020d8799e1cd9d39d50e6955 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_UNSUPPORTED_CONTAINER - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da8a822b011de88b67c114505ffef39327 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047dac2cf461f02e20513003b8cadeae03f9f - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_NUMBER_OF_CHANNELS - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da0541c4f827f081b9f1c54c9441e4aa65 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047dad6d2631f464183c0c165155200882e6b - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_SAMPLE_RATE - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da6fdcde9e18c37450c79e8f12b9d9c134 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BLOCK_SIZE - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da652c445f1bd8b6cfb963a30bf416c95a - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_MAX_LPC_ORDER - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da38a69e94b3333e4ba779d2ff8f43f64e - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_QLP_COEFF_PRECISION - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da5be80403bd7a43450139442e0f34ad7e - - - - FLAC__STREAM_ENCODER_INIT_STATUS_BLOCK_SIZE_TOO_SMALL_FOR_LPC_ORDER - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da62a17a3ed3c05ddf8ea7f6fecbd4e4a1 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047daa793405c858c7606539082750080a47e - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_METADATA - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047daa85afdd1849c75a19594416cef63e3e9 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047dab4e7b50d176a127575df90383cb15e1d - - - - - FLAC__StreamEncoderReadStatus - group__flac__stream__encoder.html - ga2e81f007fb0a7414c0bbb453f37ea37f - - - - FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE - group__flac__stream__encoder.html - gga2e81f007fb0a7414c0bbb453f37ea37fa4bdd691d3666f19ec96ff99402347a2e - - - - FLAC__STREAM_ENCODER_READ_STATUS_END_OF_STREAM - group__flac__stream__encoder.html - gga2e81f007fb0a7414c0bbb453f37ea37fa562fef84bf86a9a39682e23066d9cfee - - - - FLAC__STREAM_ENCODER_READ_STATUS_ABORT - group__flac__stream__encoder.html - gga2e81f007fb0a7414c0bbb453f37ea37fa69b94eeab60e07d5fd33f2b3c8b85759 - - - - FLAC__STREAM_ENCODER_READ_STATUS_UNSUPPORTED - group__flac__stream__encoder.html - gga2e81f007fb0a7414c0bbb453f37ea37fa9bb730b8f6354cc1e810017a2f700316 - - - - - FLAC__StreamEncoderWriteStatus - group__flac__stream__encoder.html - ga3737471fd49730bb8cf9b182bdeda05e - - - - FLAC__STREAM_ENCODER_WRITE_STATUS_OK - group__flac__stream__encoder.html - gga3737471fd49730bb8cf9b182bdeda05ea5622e0199f0203c402fcb7b4ca76f808 - - - - FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR - group__flac__stream__encoder.html - gga3737471fd49730bb8cf9b182bdeda05ea18e7cd6a443fb8bd303c3ba89946bc85 - - - - - FLAC__StreamEncoderSeekStatus - group__flac__stream__encoder.html - ga6d5be3489f45fcf0c252022c65d87aca - - - - FLAC__STREAM_ENCODER_SEEK_STATUS_OK - group__flac__stream__encoder.html - gga6d5be3489f45fcf0c252022c65d87acaa99853066610d798627888ec2e5afa667 - - - - FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR - group__flac__stream__encoder.html - gga6d5be3489f45fcf0c252022c65d87acaabf93227938b4e1bf3656fe4ba4159c60 - - - - FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED - group__flac__stream__encoder.html - gga6d5be3489f45fcf0c252022c65d87acaa8930179a426134caf30a70147448f037 - - - - - FLAC__StreamEncoderTellStatus - group__flac__stream__encoder.html - gab628f63181250eb977a28bf12b7dd9ff - - - - FLAC__STREAM_ENCODER_TELL_STATUS_OK - group__flac__stream__encoder.html - ggab628f63181250eb977a28bf12b7dd9ffa48e071d89494ac8f5471e7c0d7a6f43b - - - - FLAC__STREAM_ENCODER_TELL_STATUS_ERROR - group__flac__stream__encoder.html - ggab628f63181250eb977a28bf12b7dd9ffaf638882e04d7c58e6c29dcc7f410864b - - - - FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED - group__flac__stream__encoder.html - ggab628f63181250eb977a28bf12b7dd9ffa9d6bbd317f85fd2d6fc72f64e3cb56e7 - - - - FLAC__STREAM_ENCODER_OK - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a3a6666ae61a64d955341cec285695bf6 - - - - FLAC__STREAM_ENCODER_UNINITIALIZED - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a04912e04a3c57d3c53de34742f96d635 - - - - FLAC__STREAM_ENCODER_OGG_ERROR - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5abb312cc8318c7a541cadacd23ceb3bbb - - - - FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a4cb80be4f83eb71f04e74968af1d259e - - - - FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a011e3d8b2d02a940bfd0e59c05cf5ae0 - - - - FLAC__STREAM_ENCODER_CLIENT_ERROR - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a8c2b2e9efb43a4f9b25b1d2bd9af5f23 - - - - FLAC__STREAM_ENCODER_IO_ERROR - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5af0e4738522e05a7248435c7148f58f91 - - - - FLAC__STREAM_ENCODER_FRAMING_ERROR - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a2c2937b7f1600a4ac7c84fc70ab34cf1 - - - - FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR - group__flac__stream__encoder.html - ggac5e9db4fc32ca2fa74abd9c8a87c02a5a35db99d9958bd6c2301a04715fbc44fd - - - - FLAC__STREAM_ENCODER_INIT_STATUS_OK - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da20501dce552da74c5df935eeaa0c9ee3 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_ENCODER_ERROR - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da9c64e5f9020d8799e1cd9d39d50e6955 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_UNSUPPORTED_CONTAINER - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da8a822b011de88b67c114505ffef39327 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_CALLBACKS - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047dac2cf461f02e20513003b8cadeae03f9f - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_NUMBER_OF_CHANNELS - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da0541c4f827f081b9f1c54c9441e4aa65 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BITS_PER_SAMPLE - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047dad6d2631f464183c0c165155200882e6b - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_SAMPLE_RATE - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da6fdcde9e18c37450c79e8f12b9d9c134 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_BLOCK_SIZE - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da652c445f1bd8b6cfb963a30bf416c95a - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_MAX_LPC_ORDER - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da38a69e94b3333e4ba779d2ff8f43f64e - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_QLP_COEFF_PRECISION - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da5be80403bd7a43450139442e0f34ad7e - - - - FLAC__STREAM_ENCODER_INIT_STATUS_BLOCK_SIZE_TOO_SMALL_FOR_LPC_ORDER - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047da62a17a3ed3c05ddf8ea7f6fecbd4e4a1 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047daa793405c858c7606539082750080a47e - - - - FLAC__STREAM_ENCODER_INIT_STATUS_INVALID_METADATA - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047daa85afdd1849c75a19594416cef63e3e9 - - - - FLAC__STREAM_ENCODER_INIT_STATUS_ALREADY_INITIALIZED - group__flac__stream__encoder.html - gga3bb869620af2b188d77982a5c30b047dab4e7b50d176a127575df90383cb15e1d - - - - FLAC__STREAM_ENCODER_READ_STATUS_CONTINUE - group__flac__stream__encoder.html - gga2e81f007fb0a7414c0bbb453f37ea37fa4bdd691d3666f19ec96ff99402347a2e - - - - FLAC__STREAM_ENCODER_READ_STATUS_END_OF_STREAM - group__flac__stream__encoder.html - gga2e81f007fb0a7414c0bbb453f37ea37fa562fef84bf86a9a39682e23066d9cfee - - - - FLAC__STREAM_ENCODER_READ_STATUS_ABORT - group__flac__stream__encoder.html - gga2e81f007fb0a7414c0bbb453f37ea37fa69b94eeab60e07d5fd33f2b3c8b85759 - - - - FLAC__STREAM_ENCODER_READ_STATUS_UNSUPPORTED - group__flac__stream__encoder.html - gga2e81f007fb0a7414c0bbb453f37ea37fa9bb730b8f6354cc1e810017a2f700316 - - - - FLAC__STREAM_ENCODER_WRITE_STATUS_OK - group__flac__stream__encoder.html - gga3737471fd49730bb8cf9b182bdeda05ea5622e0199f0203c402fcb7b4ca76f808 - - - - FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR - group__flac__stream__encoder.html - gga3737471fd49730bb8cf9b182bdeda05ea18e7cd6a443fb8bd303c3ba89946bc85 - - - - FLAC__STREAM_ENCODER_SEEK_STATUS_OK - group__flac__stream__encoder.html - gga6d5be3489f45fcf0c252022c65d87acaa99853066610d798627888ec2e5afa667 - - - - FLAC__STREAM_ENCODER_SEEK_STATUS_ERROR - group__flac__stream__encoder.html - gga6d5be3489f45fcf0c252022c65d87acaabf93227938b4e1bf3656fe4ba4159c60 - - - - FLAC__STREAM_ENCODER_SEEK_STATUS_UNSUPPORTED - group__flac__stream__encoder.html - gga6d5be3489f45fcf0c252022c65d87acaa8930179a426134caf30a70147448f037 - - - - FLAC__STREAM_ENCODER_TELL_STATUS_OK - group__flac__stream__encoder.html - ggab628f63181250eb977a28bf12b7dd9ffa48e071d89494ac8f5471e7c0d7a6f43b - - - - FLAC__STREAM_ENCODER_TELL_STATUS_ERROR - group__flac__stream__encoder.html - ggab628f63181250eb977a28bf12b7dd9ffaf638882e04d7c58e6c29dcc7f410864b - - - - FLAC__STREAM_ENCODER_TELL_STATUS_UNSUPPORTED - group__flac__stream__encoder.html - ggab628f63181250eb977a28bf12b7dd9ffa9d6bbd317f85fd2d6fc72f64e3cb56e7 - - - - FLAC__StreamEncoder * - FLAC__stream_encoder_new - group__flac__stream__encoder.html - ga15ae6918f32fd6a57426de9888c884bd - (void) - - - void - FLAC__stream_encoder_delete - group__flac__stream__encoder.html - ga7212e6846f543618b6289666de216b29 - (FLAC__StreamEncoder *encoder) - - - FLAC__bool - FLAC__stream_encoder_set_ogg_serial_number - group__flac__stream__encoder.html - gaf4f75f7689b6b3fff16b03028aa38326 - (FLAC__StreamEncoder *encoder, long serial_number) - - - FLAC__bool - FLAC__stream_encoder_set_verify - group__flac__stream__encoder.html - ga795be6527a9eb1219331afef2f182a41 - (FLAC__StreamEncoder *encoder, FLAC__bool value) - - - FLAC__bool - FLAC__stream_encoder_set_streamable_subset - group__flac__stream__encoder.html - ga35a18815a58141b88db02317892d059b - (FLAC__StreamEncoder *encoder, FLAC__bool value) - - - FLAC__bool - FLAC__stream_encoder_set_channels - group__flac__stream__encoder.html - ga9ec612a48f81805eafdb059548cdaf92 - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_bits_per_sample - group__flac__stream__encoder.html - ga7453fc29d7e86b499f23b1adfba98da1 - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_sample_rate - group__flac__stream__encoder.html - gaa6b6537875900a6e0f4418a504f55f25 - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_compression_level - group__flac__stream__encoder.html - gaacc01aab02849119f929b8516420fcd3 - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_blocksize - group__flac__stream__encoder.html - gac35cb1b5614464658262e684c4ac3a2f - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_do_mid_side_stereo - group__flac__stream__encoder.html - ga3bff001a1efc2e4eb520c954066330f4 - (FLAC__StreamEncoder *encoder, FLAC__bool value) - - - FLAC__bool - FLAC__stream_encoder_set_loose_mid_side_stereo - group__flac__stream__encoder.html - ga7965d51b93f14cbd6ad5bb9d34f10536 - (FLAC__StreamEncoder *encoder, FLAC__bool value) - - - FLAC__bool - FLAC__stream_encoder_set_apodization - group__flac__stream__encoder.html - ga6598f09ac782a1f2a5743ddf247c81c8 - (FLAC__StreamEncoder *encoder, const char *specification) - - - FLAC__bool - FLAC__stream_encoder_set_max_lpc_order - group__flac__stream__encoder.html - gad8a0ff058c46f9ce95dc0508f4bdfb0c - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_qlp_coeff_precision - group__flac__stream__encoder.html - ga179751f915a3d6fc2ca4b33a67bb8780 - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_do_qlp_coeff_prec_search - group__flac__stream__encoder.html - ga495890067203958e5d67a641f8757b1c - (FLAC__StreamEncoder *encoder, FLAC__bool value) - - - FLAC__bool - FLAC__stream_encoder_set_do_escape_coding - group__flac__stream__encoder.html - gaed594c373d829f77808a935c54a25fa4 - (FLAC__StreamEncoder *encoder, FLAC__bool value) - - - FLAC__bool - FLAC__stream_encoder_set_do_exhaustive_model_search - group__flac__stream__encoder.html - ga054313e7f6eaf5c6122d82c6a8b3b808 - (FLAC__StreamEncoder *encoder, FLAC__bool value) - - - FLAC__bool - FLAC__stream_encoder_set_min_residual_partition_order - group__flac__stream__encoder.html - ga8f2ed5a2b35bfea13e6605b0fe55f0fa - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_max_residual_partition_order - group__flac__stream__encoder.html - gab9e02bfbbb1d4fcdb666e2e9a678b4f6 - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_rice_parameter_search_dist - group__flac__stream__encoder.html - ga2cc4a05caba8a4058f744d9eb8732caa - (FLAC__StreamEncoder *encoder, uint32_t value) - - - FLAC__bool - FLAC__stream_encoder_set_total_samples_estimate - group__flac__stream__encoder.html - gab943094585d1c0a4bec497e73567cf85 - (FLAC__StreamEncoder *encoder, FLAC__uint64 value) - - - FLAC__bool - FLAC__stream_encoder_set_metadata - group__flac__stream__encoder.html - ga80d57f9069e354cbf1a15a3e3ad9ca78 - (FLAC__StreamEncoder *encoder, FLAC__StreamMetadata **metadata, uint32_t num_blocks) - - - FLAC__bool - FLAC__stream_encoder_set_limit_min_bitrate - group__flac__stream__encoder.html - gac8c5f361b441d528b7a6791b66bb9d40 - (FLAC__StreamEncoder *encoder, FLAC__bool value) - - - FLAC__StreamEncoderState - FLAC__stream_encoder_get_state - group__flac__stream__encoder.html - ga0803321b37189dc5eea4fe1cea25c29a - (const FLAC__StreamEncoder *encoder) - - - FLAC__StreamDecoderState - FLAC__stream_encoder_get_verify_decoder_state - group__flac__stream__encoder.html - ga820704b95a711e77d55363e8753f9f9f - (const FLAC__StreamEncoder *encoder) - - - const char * - FLAC__stream_encoder_get_resolved_state_string - group__flac__stream__encoder.html - gafa6fb6a95471c2c5bd188aa0e988b16f - (const FLAC__StreamEncoder *encoder) - - - void - FLAC__stream_encoder_get_verify_decoder_error_stats - group__flac__stream__encoder.html - ga28373aaf2c47336828d5672696c36662 - (const FLAC__StreamEncoder *encoder, FLAC__uint64 *absolute_sample, uint32_t *frame_number, uint32_t *channel, uint32_t *sample, FLAC__int32 *expected, FLAC__int32 *got) - - - FLAC__bool - FLAC__stream_encoder_get_verify - group__flac__stream__encoder.html - ga9efc4964992e001bcec0a8eaedee8d60 - (const FLAC__StreamEncoder *encoder) - - - FLAC__bool - FLAC__stream_encoder_get_streamable_subset - group__flac__stream__encoder.html - ga201e64032ea4298b2379c93652b28245 - (const FLAC__StreamEncoder *encoder) - - - uint32_t - FLAC__stream_encoder_get_channels - group__flac__stream__encoder.html - ga412401503141dd42e37831140f78cfa1 - (const FLAC__StreamEncoder *encoder) - - - uint32_t - FLAC__stream_encoder_get_bits_per_sample - group__flac__stream__encoder.html - ga169bbf662b2a2df017b93f663deadd1d - (const FLAC__StreamEncoder *encoder) - - - uint32_t - FLAC__stream_encoder_get_sample_rate - group__flac__stream__encoder.html - gae56f27536528f13375ffdd23fa9045f7 - (const FLAC__StreamEncoder *encoder) - - - uint32_t - FLAC__stream_encoder_get_blocksize - group__flac__stream__encoder.html - gaf8a9715b2d09a6876b8dc104bfd70cdc - (const FLAC__StreamEncoder *encoder) - - - FLAC__bool - FLAC__stream_encoder_get_do_mid_side_stereo - group__flac__stream__encoder.html - ga32da1f89997ab94ce5d677fcd7e24d56 - (const FLAC__StreamEncoder *encoder) - - - FLAC__bool - FLAC__stream_encoder_get_loose_mid_side_stereo - group__flac__stream__encoder.html - ga1455859cf3d233bd4dfff86af010f4fa - (const FLAC__StreamEncoder *encoder) - - - uint32_t - FLAC__stream_encoder_get_max_lpc_order - group__flac__stream__encoder.html - ga5e1d1c9acd3d5a17106b51f0c0107567 - (const FLAC__StreamEncoder *encoder) - - - uint32_t - FLAC__stream_encoder_get_qlp_coeff_precision - group__flac__stream__encoder.html - ga909830fb7f4a0a35710452df39c269a3 - (const FLAC__StreamEncoder *encoder) - - - FLAC__bool - FLAC__stream_encoder_get_do_qlp_coeff_prec_search - group__flac__stream__encoder.html - ga65bee5a769d4c5fdc95b81c2fb95061c - (const FLAC__StreamEncoder *encoder) - - - FLAC__bool - FLAC__stream_encoder_get_do_escape_coding - group__flac__stream__encoder.html - ga0c944049800991422c1bfb3b1c0567a5 - (const FLAC__StreamEncoder *encoder) - - - FLAC__bool - FLAC__stream_encoder_get_do_exhaustive_model_search - group__flac__stream__encoder.html - ga7bc8b32f58df5564db4b6114cb11042d - (const FLAC__StreamEncoder *encoder) - - - uint32_t - FLAC__stream_encoder_get_min_residual_partition_order - group__flac__stream__encoder.html - ga4fa722297092aeaebc9d9e743a327d14 - (const FLAC__StreamEncoder *encoder) - - - uint32_t - FLAC__stream_encoder_get_max_residual_partition_order - group__flac__stream__encoder.html - ga6f5dfbfb5c6e569c4bae5555c9bf87e6 - (const FLAC__StreamEncoder *encoder) - - - uint32_t - FLAC__stream_encoder_get_rice_parameter_search_dist - group__flac__stream__encoder.html - gaca0e38f283b2772b92da7cb4495d909a - (const FLAC__StreamEncoder *encoder) - - - FLAC__uint64 - FLAC__stream_encoder_get_total_samples_estimate - group__flac__stream__encoder.html - gaa22d8935bd985b9cccf6592160ffc6f2 - (const FLAC__StreamEncoder *encoder) - - - FLAC__bool - FLAC__stream_encoder_get_limit_min_bitrate - group__flac__stream__encoder.html - ga741c26084d203ac24d16c875b5d902ac - (const FLAC__StreamEncoder *encoder) - - - FLAC__StreamEncoderInitStatus - FLAC__stream_encoder_init_stream - group__flac__stream__encoder.html - ga7d801879812b48fcbc40f409800c453c - (FLAC__StreamEncoder *encoder, FLAC__StreamEncoderWriteCallback write_callback, FLAC__StreamEncoderSeekCallback seek_callback, FLAC__StreamEncoderTellCallback tell_callback, FLAC__StreamEncoderMetadataCallback metadata_callback, void *client_data) - - - FLAC__StreamEncoderInitStatus - FLAC__stream_encoder_init_ogg_stream - group__flac__stream__encoder.html - ga9d1981bcd30b8db4d73b5466be5570f5 - (FLAC__StreamEncoder *encoder, FLAC__StreamEncoderReadCallback read_callback, FLAC__StreamEncoderWriteCallback write_callback, FLAC__StreamEncoderSeekCallback seek_callback, FLAC__StreamEncoderTellCallback tell_callback, FLAC__StreamEncoderMetadataCallback metadata_callback, void *client_data) - - - FLAC__StreamEncoderInitStatus - FLAC__stream_encoder_init_FILE - group__flac__stream__encoder.html - ga12789a1c4a4e31cd2e7187259fe127f8 - (FLAC__StreamEncoder *encoder, FILE *file, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data) - - - FLAC__StreamEncoderInitStatus - FLAC__stream_encoder_init_ogg_FILE - group__flac__stream__encoder.html - ga57fc668f50ffd99a93df326bfab5e2b1 - (FLAC__StreamEncoder *encoder, FILE *file, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data) - - - FLAC__StreamEncoderInitStatus - FLAC__stream_encoder_init_file - group__flac__stream__encoder.html - ga9d5117c2ac0eeb572784116bf2eb541b - (FLAC__StreamEncoder *encoder, const char *filename, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data) - - - FLAC__StreamEncoderInitStatus - FLAC__stream_encoder_init_ogg_file - group__flac__stream__encoder.html - ga4891de2f56045941ae222b61b0fd83a4 - (FLAC__StreamEncoder *encoder, const char *filename, FLAC__StreamEncoderProgressCallback progress_callback, void *client_data) - - - FLAC__bool - FLAC__stream_encoder_finish - group__flac__stream__encoder.html - ga3522f9de5af29807df1b9780a418b7f3 - (FLAC__StreamEncoder *encoder) - - - FLAC__bool - FLAC__stream_encoder_process - group__flac__stream__encoder.html - ga87b9c361292da5c5928a8fb5fda7c423 - (FLAC__StreamEncoder *encoder, const FLAC__int32 *const buffer[], uint32_t samples) - - - FLAC__bool - FLAC__stream_encoder_process_interleaved - group__flac__stream__encoder.html - ga6e31c221f7e23345267c52f53c046c24 - (FLAC__StreamEncoder *encoder, const FLAC__int32 buffer[], uint32_t samples) - - - const char *const - FLAC__StreamEncoderStateString - group__flac__stream__encoder.html - ga1410b7a076b0c8401682f9f812b66df5 - [] - - - const char *const - FLAC__StreamEncoderInitStatusString - group__flac__stream__encoder.html - ga0ec1fa7b3f55b4f07a2727846c285776 - [] - - - const char *const - FLAC__StreamEncoderReadStatusString - group__flac__stream__encoder.html - ga1654422c81846b9b399ac5fb98df61dd - [] - - - const char *const - FLAC__StreamEncoderWriteStatusString - group__flac__stream__encoder.html - ga9f64480accd01525cbfa25c11e6bb74e - [] - - - const char *const - FLAC__StreamEncoderSeekStatusString - group__flac__stream__encoder.html - gabb137b2d787756bf97398f0b60e54c20 - [] - - - const char *const - FLAC__StreamEncoderTellStatusString - group__flac__stream__encoder.html - gaf8ab921ae968be2be255be1f136e1eec - [] - - - - index - FLAC - index.html - intro - c_api - cpp_api - getting_started - porting_guide - embedded_developers - - diff -Nru flac-1.4.2+ds/doc/images/Makefile.am flac-1.4.3+ds1/doc/images/Makefile.am --- flac-1.4.2+ds/doc/images/Makefile.am 2022-10-21 17:13:30.811792000 +0000 +++ flac-1.4.3+ds1/doc/images/Makefile.am 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/doc/images/Makefile.in flac-1.4.3+ds1/doc/images/Makefile.in --- flac-1.4.2+ds/doc/images/Makefile.in 2022-10-21 17:54:45.231833700 +0000 +++ flac-1.4.3+ds1/doc/images/Makefile.in 2023-06-22 08:50:44.249745886 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -113,14 +113,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -268,6 +268,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/doc/Makefile.am flac-1.4.3+ds1/doc/Makefile.am --- flac-1.4.2+ds/doc/Makefile.am 2022-10-21 17:13:30.766600700 +0000 +++ flac-1.4.3+ds1/doc/Makefile.am 2023-06-15 09:52:54.138861224 +0000 @@ -1,6 +1,6 @@ # flac - Command-line FLAC encoder/decoder # Copyright (C) 2002-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/doc/Makefile.in flac-1.4.3+ds1/doc/Makefile.in --- flac-1.4.2+ds/doc/Makefile.in 2022-10-21 17:54:45.189540100 +0000 +++ flac-1.4.3+ds1/doc/Makefile.in 2023-06-22 08:50:44.221745791 +0000 @@ -16,7 +16,7 @@ # flac - Command-line FLAC encoder/decoder # Copyright (C) 2002-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -113,14 +113,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -326,6 +326,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/examples/c/decode/file/main.c flac-1.4.3+ds1/examples/c/decode/file/main.c --- flac-1.4.2+ds/examples/c/decode/file/main.c 2022-10-21 17:13:30.930893400 +0000 +++ flac-1.4.3+ds1/examples/c/decode/file/main.c 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ /* example_c_decode_file - Simple FLAC file decoder using libFLAC * Copyright (C) 2007-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/examples/c/decode/file/Makefile.am flac-1.4.3+ds1/examples/c/decode/file/Makefile.am --- flac-1.4.2+ds/examples/c/decode/file/Makefile.am 2022-10-21 17:13:30.920919700 +0000 +++ flac-1.4.3+ds1/examples/c/decode/file/Makefile.am 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ # example_c_decode_file - Simple FLAC file decoder using libFLAC # Copyright (C) 2007-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/examples/c/decode/file/Makefile.in flac-1.4.3+ds1/examples/c/decode/file/Makefile.in --- flac-1.4.2+ds/examples/c/decode/file/Makefile.in 2022-10-21 17:54:45.471128200 +0000 +++ flac-1.4.3+ds1/examples/c/decode/file/Makefile.in 2023-06-22 08:50:44.321746130 +0000 @@ -16,7 +16,7 @@ # example_c_decode_file - Simple FLAC file decoder using libFLAC # Copyright (C) 2007-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -114,14 +114,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -288,6 +288,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/examples/c/decode/Makefile.am flac-1.4.3+ds1/examples/c/decode/Makefile.am --- flac-1.4.2+ds/examples/c/decode/Makefile.am 2022-10-21 17:13:30.917928200 +0000 +++ flac-1.4.3+ds1/examples/c/decode/Makefile.am 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/examples/c/decode/Makefile.in flac-1.4.3+ds1/examples/c/decode/Makefile.in --- flac-1.4.2+ds/examples/c/decode/Makefile.in 2022-10-21 17:54:45.361939700 +0000 +++ flac-1.4.3+ds1/examples/c/decode/Makefile.in 2023-06-22 08:50:44.285746007 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -296,6 +296,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/examples/c/encode/file/main.c flac-1.4.3+ds1/examples/c/encode/file/main.c --- flac-1.4.2+ds/examples/c/encode/file/main.c 2022-10-21 17:13:30.949150900 +0000 +++ flac-1.4.3+ds1/examples/c/encode/file/main.c 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ /* example_c_encode_file - Simple FLAC file encoder using libFLAC * Copyright (C) 2007-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/examples/c/encode/file/Makefile.am flac-1.4.3+ds1/examples/c/encode/file/Makefile.am --- flac-1.4.2+ds/examples/c/encode/file/Makefile.am 2022-10-21 17:13:30.936877100 +0000 +++ flac-1.4.3+ds1/examples/c/encode/file/Makefile.am 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ # example_c_encode_file - Simple FLAC file encoder using libFLAC # Copyright (C) 2007-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/examples/c/encode/file/Makefile.in flac-1.4.3+ds1/examples/c/encode/file/Makefile.in --- flac-1.4.2+ds/examples/c/encode/file/Makefile.in 2022-10-21 17:54:45.585064300 +0000 +++ flac-1.4.3+ds1/examples/c/encode/file/Makefile.in 2023-06-22 08:50:44.349746224 +0000 @@ -16,7 +16,7 @@ # example_c_encode_file - Simple FLAC file encoder using libFLAC # Copyright (C) 2007-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -114,14 +114,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -288,6 +288,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/examples/c/encode/Makefile.am flac-1.4.3+ds1/examples/c/encode/Makefile.am --- flac-1.4.2+ds/examples/c/encode/Makefile.am 2022-10-21 17:13:30.933885200 +0000 +++ flac-1.4.3+ds1/examples/c/encode/Makefile.am 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/examples/c/encode/Makefile.in flac-1.4.3+ds1/examples/c/encode/Makefile.in --- flac-1.4.2+ds/examples/c/encode/Makefile.in 2022-10-21 17:54:45.517202800 +0000 +++ flac-1.4.3+ds1/examples/c/encode/Makefile.in 2023-06-22 08:50:44.333746170 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -296,6 +296,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/examples/c/Makefile.am flac-1.4.3+ds1/examples/c/Makefile.am --- flac-1.4.2+ds/examples/c/Makefile.am 2022-10-21 17:13:30.907001400 +0000 +++ flac-1.4.3+ds1/examples/c/Makefile.am 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/examples/c/Makefile.in flac-1.4.3+ds1/examples/c/Makefile.in --- flac-1.4.2+ds/examples/c/Makefile.in 2022-10-21 17:54:45.318099200 +0000 +++ flac-1.4.3+ds1/examples/c/Makefile.in 2023-06-22 08:50:44.273745966 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -296,6 +296,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/examples/cpp/decode/file/main.cpp flac-1.4.3+ds1/examples/cpp/decode/file/main.cpp --- flac-1.4.2+ds/examples/cpp/decode/file/main.cpp 2022-10-21 17:13:30.972089800 +0000 +++ flac-1.4.3+ds1/examples/cpp/decode/file/main.cpp 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ /* example_cpp_decode_file - Simple FLAC file decoder using libFLAC * Copyright (C) 2007-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/examples/cpp/decode/file/Makefile.am flac-1.4.3+ds1/examples/cpp/decode/file/Makefile.am --- flac-1.4.2+ds/examples/cpp/decode/file/Makefile.am 2022-10-21 17:13:30.962117000 +0000 +++ flac-1.4.3+ds1/examples/cpp/decode/file/Makefile.am 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ # example_cpp_decode_file - Simple FLAC file decoder using libFLAC # Copyright (C) 2007-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/examples/cpp/decode/file/Makefile.in flac-1.4.3+ds1/examples/cpp/decode/file/Makefile.in --- flac-1.4.2+ds/examples/cpp/decode/file/Makefile.in 2022-10-21 17:54:45.749141300 +0000 +++ flac-1.4.3+ds1/examples/cpp/decode/file/Makefile.in 2023-06-22 08:50:44.385746346 +0000 @@ -16,7 +16,7 @@ # example_cpp_decode_file - Simple FLAC file decoder using libFLAC # Copyright (C) 2007-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -114,14 +114,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -290,6 +290,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/examples/cpp/decode/Makefile.am flac-1.4.3+ds1/examples/cpp/decode/Makefile.am --- flac-1.4.2+ds/examples/cpp/decode/Makefile.am 2022-10-21 17:13:30.959124300 +0000 +++ flac-1.4.3+ds1/examples/cpp/decode/Makefile.am 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/examples/cpp/decode/Makefile.in flac-1.4.3+ds1/examples/cpp/decode/Makefile.in --- flac-1.4.2+ds/examples/cpp/decode/Makefile.in 2022-10-21 17:54:45.662419400 +0000 +++ flac-1.4.3+ds1/examples/cpp/decode/Makefile.in 2023-06-22 08:50:44.373746305 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -296,6 +296,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/examples/cpp/encode/file/main.cpp flac-1.4.3+ds1/examples/cpp/encode/file/main.cpp --- flac-1.4.2+ds/examples/cpp/encode/file/main.cpp 2022-10-21 17:13:31.018964800 +0000 +++ flac-1.4.3+ds1/examples/cpp/encode/file/main.cpp 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ /* example_cpp_encode_file - Simple FLAC file encoder using libFLAC * Copyright (C) 2007-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/examples/cpp/encode/file/Makefile.am flac-1.4.3+ds1/examples/cpp/encode/file/Makefile.am --- flac-1.4.2+ds/examples/cpp/encode/file/Makefile.am 2022-10-21 17:13:31.009988000 +0000 +++ flac-1.4.3+ds1/examples/cpp/encode/file/Makefile.am 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ # example_cpp_encode_file - Simple FLAC file encoder using libFLAC # Copyright (C) 2007-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/examples/cpp/encode/file/Makefile.in flac-1.4.3+ds1/examples/cpp/encode/file/Makefile.in --- flac-1.4.2+ds/examples/cpp/encode/file/Makefile.in 2022-10-21 17:54:45.889936100 +0000 +++ flac-1.4.3+ds1/examples/cpp/encode/file/Makefile.in 2023-06-22 08:50:44.413746441 +0000 @@ -16,7 +16,7 @@ # example_cpp_encode_file - Simple FLAC file encoder using libFLAC # Copyright (C) 2007-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -114,14 +114,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -290,6 +290,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/examples/cpp/encode/Makefile.am flac-1.4.3+ds1/examples/cpp/encode/Makefile.am --- flac-1.4.2+ds/examples/cpp/encode/Makefile.am 2022-10-21 17:13:31.000015400 +0000 +++ flac-1.4.3+ds1/examples/cpp/encode/Makefile.am 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/examples/cpp/encode/Makefile.in flac-1.4.3+ds1/examples/cpp/encode/Makefile.in --- flac-1.4.2+ds/examples/cpp/encode/Makefile.in 2022-10-21 17:54:45.800975300 +0000 +++ flac-1.4.3+ds1/examples/cpp/encode/Makefile.in 2023-06-22 08:50:44.397746386 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -296,6 +296,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/examples/cpp/Makefile.am flac-1.4.3+ds1/examples/cpp/Makefile.am --- flac-1.4.2+ds/examples/cpp/Makefile.am 2022-10-21 17:13:30.952143100 +0000 +++ flac-1.4.3+ds1/examples/cpp/Makefile.am 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/examples/cpp/Makefile.in flac-1.4.3+ds1/examples/cpp/Makefile.in --- flac-1.4.2+ds/examples/cpp/Makefile.in 2022-10-21 17:54:45.624891300 +0000 +++ flac-1.4.3+ds1/examples/cpp/Makefile.in 2023-06-22 08:50:44.361746265 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -296,6 +296,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/examples/Makefile.am flac-1.4.3+ds1/examples/Makefile.am --- flac-1.4.2+ds/examples/Makefile.am 2022-10-21 17:13:30.895986800 +0000 +++ flac-1.4.3+ds1/examples/Makefile.am 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/examples/Makefile.in flac-1.4.3+ds1/examples/Makefile.in --- flac-1.4.2+ds/examples/Makefile.in 2022-10-21 17:54:45.276718900 +0000 +++ flac-1.4.3+ds1/examples/Makefile.in 2023-06-22 08:50:44.261745926 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -296,6 +296,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/include/FLAC/all.h flac-1.4.3+ds1/include/FLAC/all.h --- flac-1.4.2+ds/include/FLAC/all.h 2022-10-21 17:13:45.975088200 +0000 +++ flac-1.4.3+ds1/include/FLAC/all.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,6 +1,6 @@ /* libFLAC - Free Lossless Audio Codec library * Copyright (C) 2000-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/include/FLAC/assert.h flac-1.4.3+ds1/include/FLAC/assert.h --- flac-1.4.2+ds/include/FLAC/assert.h 2022-10-21 17:13:31.169463600 +0000 +++ flac-1.4.3+ds1/include/FLAC/assert.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,6 +1,6 @@ /* libFLAC - Free Lossless Audio Codec library * Copyright (C) 2001-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -34,6 +34,10 @@ #define FLAC__ASSERT_H /* we need this since some compilers (like MSVC) leave assert()s on release code (and we don't want to use their ASSERT) */ +#ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION +#define FLAC__ASSERT(x) if(!(x)) __builtin_abort(); +#define FLAC__ASSERT_DECLARATION(x) x +#else #ifndef NDEBUG #include #define FLAC__ASSERT(x) assert(x) @@ -42,5 +46,6 @@ #define FLAC__ASSERT(x) #define FLAC__ASSERT_DECLARATION(x) #endif +#endif #endif diff -Nru flac-1.4.2+ds/include/FLAC/callback.h flac-1.4.3+ds1/include/FLAC/callback.h --- flac-1.4.2+ds/include/FLAC/callback.h 2022-10-21 17:13:31.199019600 +0000 +++ flac-1.4.3+ds1/include/FLAC/callback.h 2023-06-21 18:37:59.664120568 +0000 @@ -1,6 +1,6 @@ /* libFLAC - Free Lossless Audio Codec library * Copyright (C) 2004-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -90,7 +90,9 @@ /** Signature for the read callback. * The signature and semantics match POSIX fread() implementations - * and can generally be used interchangeably. + * and can generally be used interchangeably. Note that the global + * variable errno from errno.h is read by some libFLAC functions to + * detect read errors. * * \param ptr The address of the read buffer. * \param size The size of the records to be read. @@ -166,6 +168,9 @@ * * If the seek requirement for an interface is optional, you can signify that * a data source is not seekable by setting the \a seek field to \c NULL. + * + * See the detailed documentation for callbacks in the + * \link flac_callbacks callbacks \endlink module. */ typedef struct { FLAC__IOCallback_Read read; /**< See FLAC__IOCallbacks */ diff -Nru flac-1.4.2+ds/include/FLAC/export.h flac-1.4.3+ds1/include/FLAC/export.h --- flac-1.4.2+ds/include/FLAC/export.h 2022-10-21 17:13:31.224201700 +0000 +++ flac-1.4.3+ds1/include/FLAC/export.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,6 +1,6 @@ /* libFLAC - Free Lossless Audio Codec library * Copyright (C) 2000-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -95,9 +95,9 @@ /** These \#defines will mirror the libtool-based library version number, see * http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning */ -#define FLAC_API_VERSION_CURRENT 12 +#define FLAC_API_VERSION_CURRENT 13 #define FLAC_API_VERSION_REVISION 0 /**< see above */ -#define FLAC_API_VERSION_AGE 0 /**< see above */ +#define FLAC_API_VERSION_AGE 1 /**< see above */ #ifdef __cplusplus extern "C" { diff -Nru flac-1.4.2+ds/include/FLAC/format.h flac-1.4.3+ds1/include/FLAC/format.h --- flac-1.4.2+ds/include/FLAC/format.h 2022-10-21 17:13:45.993029500 +0000 +++ flac-1.4.3+ds1/include/FLAC/format.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,6 +1,6 @@ /* libFLAC - Free Lossless Audio Codec library * Copyright (C) 2000-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/include/FLAC/Makefile.am flac-1.4.3+ds1/include/FLAC/Makefile.am --- flac-1.4.2+ds/include/FLAC/Makefile.am 2022-10-21 17:13:31.145626100 +0000 +++ flac-1.4.3+ds1/include/FLAC/Makefile.am 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ # libFLAC - Free Lossless Audio Codec library # Copyright (C) 2000-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/include/FLAC/Makefile.in flac-1.4.3+ds1/include/FLAC/Makefile.in --- flac-1.4.2+ds/include/FLAC/Makefile.in 2022-10-21 17:54:45.986822600 +0000 +++ flac-1.4.3+ds1/include/FLAC/Makefile.in 2023-06-22 08:50:44.437746522 +0000 @@ -16,7 +16,7 @@ # libFLAC - Free Lossless Audio Codec library # Copyright (C) 2000-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -126,14 +126,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -298,6 +298,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/include/FLAC/metadata.h flac-1.4.3+ds1/include/FLAC/metadata.h --- flac-1.4.2+ds/include/FLAC/metadata.h 2022-10-21 17:13:46.005995300 +0000 +++ flac-1.4.3+ds1/include/FLAC/metadata.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,6 +1,6 @@ /* libFLAC - Free Lossless Audio Codec library * Copyright (C) 2001-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -2197,6 +2197,34 @@ */ FLAC_API FLAC__bool FLAC__metadata_object_picture_is_legal(const FLAC__StreamMetadata *object, const char **violation); + +/** Get the raw (binary) representation of a FLAC__StreamMetadata objeect. + * After use, free() the returned buffer. The length of the buffer is + * the length of the input metadata object plus 4 bytes for the header. + * + * \param object A pointer to metadata block to be converted. + * \assert + * \code object != NULL \endcode + * \retval FLAC__byte* + * \c NULL if there was an error, else a pointer to a buffer holding + * the requested data. + */ +FLAC_API FLAC__byte * FLAC__metadata_object_get_raw(const FLAC__StreamMetadata *object); + + +/** Turn a raw (binary) representation into a FLAC__StreamMetadata objeect. + * The returned object must be deleted with FLAC__metadata_object_delete() + * after use. + * + * \param buffer A pointer to a buffer containing a binary representation + * to be converted to a FLAC__StreamMetadata object + * \param length The length of the supplied buffer + * \retval FLAC__StreamMetadata* + * \c NULL if there was an error, else a pointer to a FLAC__StreamMetadata + * holding the requested data. + */ + +FLAC_API FLAC__StreamMetadata * FLAC__metadata_object_set_raw(FLAC__byte *buffer, FLAC__uint32 length); /* \} */ #ifdef __cplusplus diff -Nru flac-1.4.2+ds/include/FLAC/ordinals.h flac-1.4.3+ds1/include/FLAC/ordinals.h --- flac-1.4.2+ds/include/FLAC/ordinals.h 2022-10-21 17:13:31.272259600 +0000 +++ flac-1.4.3+ds1/include/FLAC/ordinals.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,6 +1,6 @@ /* libFLAC - Free Lossless Audio Codec library * Copyright (C) 2000-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -33,26 +33,10 @@ #ifndef FLAC__ORDINALS_H #define FLAC__ORDINALS_H -#if defined(_MSC_VER) && _MSC_VER < 1600 - -/* Microsoft Visual Studio earlier than the 2010 version did not provide - * the 1999 ISO C Standard header file . - */ - -typedef signed __int8 FLAC__int8; -typedef signed __int16 FLAC__int16; -typedef signed __int32 FLAC__int32; -typedef signed __int64 FLAC__int64; -typedef unsigned __int8 FLAC__uint8; -typedef unsigned __int16 FLAC__uint16; -typedef unsigned __int32 FLAC__uint32; -typedef unsigned __int64 FLAC__uint64; - -#else - -/* For MSVC 2010 and everything else which provides . */ +/* This of course assumes C99 headers */ #include +#include typedef int8_t FLAC__int8; typedef uint8_t FLAC__uint8; @@ -64,22 +48,8 @@ typedef uint32_t FLAC__uint32; typedef uint64_t FLAC__uint64; -#endif - typedef int FLAC__bool; typedef FLAC__uint8 FLAC__byte; - -#ifdef true -#undef true -#endif -#ifdef false -#undef false -#endif -#ifndef __cplusplus -#define true 1 -#define false 0 -#endif - #endif diff -Nru flac-1.4.2+ds/include/FLAC/stream_decoder.h flac-1.4.3+ds1/include/FLAC/stream_decoder.h --- flac-1.4.2+ds/include/FLAC/stream_decoder.h 2022-10-21 17:13:46.018959800 +0000 +++ flac-1.4.3+ds1/include/FLAC/stream_decoder.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,6 +1,6 @@ /* libFLAC - Free Lossless Audio Codec library * Copyright (C) 2000-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/include/FLAC/stream_encoder.h flac-1.4.3+ds1/include/FLAC/stream_encoder.h --- flac-1.4.2+ds/include/FLAC/stream_encoder.h 2022-10-21 17:13:46.029930500 +0000 +++ flac-1.4.3+ds1/include/FLAC/stream_encoder.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,6 +1,6 @@ /* libFLAC - Free Lossless Audio Codec library * Copyright (C) 2000-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -850,7 +850,7 @@ * 5 true false tukey(0.5) 8 0 false false false 0 5 0 * 6 true false subdivide_tukey(2) 8 0 false false false 0 6 0 * 7 true false subdivide_tukey(2) 12 0 false false false 0 6 0 - * 8 true false subdivide_tukey(2) 12 0 false false false 0 6 0 + * 8 true false subdivide_tukey(3) 12 0 false false false 0 6 0 * * * \default \c 5 diff -Nru flac-1.4.2+ds/include/FLAC++/all.h flac-1.4.3+ds1/include/FLAC++/all.h --- flac-1.4.2+ds/include/FLAC++/all.h 2022-10-21 17:13:31.058857600 +0000 +++ flac-1.4.3+ds1/include/FLAC++/all.h 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ /* libFLAC++ - Free Lossless Audio Codec library * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/include/FLAC++/decoder.h flac-1.4.3+ds1/include/FLAC++/decoder.h --- flac-1.4.2+ds/include/FLAC++/decoder.h 2022-10-21 17:13:31.082793700 +0000 +++ flac-1.4.3+ds1/include/FLAC++/decoder.h 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ /* libFLAC++ - Free Lossless Audio Codec library * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/include/FLAC++/encoder.h flac-1.4.3+ds1/include/FLAC++/encoder.h --- flac-1.4.2+ds/include/FLAC++/encoder.h 2022-10-21 17:13:31.096756300 +0000 +++ flac-1.4.3+ds1/include/FLAC++/encoder.h 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ /* libFLAC++ - Free Lossless Audio Codec library * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/include/FLAC++/export.h flac-1.4.3+ds1/include/FLAC++/export.h --- flac-1.4.2+ds/include/FLAC++/export.h 2022-10-21 17:13:31.120692800 +0000 +++ flac-1.4.3+ds1/include/FLAC++/export.h 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ /* libFLAC++ - Free Lossless Audio Codec library * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -92,7 +92,7 @@ * http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning */ #define FLACPP_API_VERSION_CURRENT 10 -#define FLACPP_API_VERSION_REVISION 0 /**< see above */ +#define FLACPP_API_VERSION_REVISION 1 /**< see above */ #define FLACPP_API_VERSION_AGE 0 /**< see above */ /* \} */ diff -Nru flac-1.4.2+ds/include/FLAC++/Makefile.am flac-1.4.3+ds1/include/FLAC++/Makefile.am --- flac-1.4.2+ds/include/FLAC++/Makefile.am 2022-10-21 17:13:31.055866400 +0000 +++ flac-1.4.3+ds1/include/FLAC++/Makefile.am 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ # libFLAC++ - Free Lossless Audio Codec library # Copyright (C) 2002-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/include/FLAC++/Makefile.in flac-1.4.3+ds1/include/FLAC++/Makefile.in --- flac-1.4.2+ds/include/FLAC++/Makefile.in 2022-10-21 17:54:45.937376100 +0000 +++ flac-1.4.3+ds1/include/FLAC++/Makefile.in 2023-06-22 08:50:44.425746482 +0000 @@ -16,7 +16,7 @@ # libFLAC++ - Free Lossless Audio Codec library # Copyright (C) 2002-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -126,14 +126,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -298,6 +298,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/include/FLAC++/metadata.h flac-1.4.3+ds1/include/FLAC++/metadata.h --- flac-1.4.2+ds/include/FLAC++/metadata.h 2022-10-21 17:13:45.959119600 +0000 +++ flac-1.4.3+ds1/include/FLAC++/metadata.h 2023-06-15 09:52:54.142861238 +0000 @@ -1,6 +1,6 @@ /* libFLAC++ - Free Lossless Audio Codec library * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/include/Makefile.am flac-1.4.3+ds1/include/Makefile.am --- flac-1.4.2+ds/include/Makefile.am 2022-10-21 17:13:31.334454500 +0000 +++ flac-1.4.3+ds1/include/Makefile.am 2023-06-15 09:52:54.146861252 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/include/Makefile.in flac-1.4.3+ds1/include/Makefile.in --- flac-1.4.2+ds/include/Makefile.in 2022-10-21 17:54:46.030653100 +0000 +++ flac-1.4.3+ds1/include/Makefile.in 2023-06-22 08:50:44.449746563 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -296,6 +296,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/include/share/alloc.h flac-1.4.3+ds1/include/share/alloc.h --- flac-1.4.2+ds/include/share/alloc.h 2022-10-21 17:13:31.364308500 +0000 +++ flac-1.4.3+ds1/include/share/alloc.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,6 +1,6 @@ /* alloc - Convenience routines for safely allocating memory * Copyright (C) 2007-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -194,6 +194,8 @@ static inline void *safe_realloc_(void *ptr, size_t size) { + void *oldptr; + void *newptr; #ifdef FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION /* Fail if requested */ if(alloc_check() && size > 0) { @@ -201,8 +203,8 @@ return NULL; } #endif - void *oldptr = ptr; - void *newptr = realloc(ptr, size); + oldptr = ptr; + newptr = realloc(ptr, size); if(size > 0 && newptr == 0) free(oldptr); return newptr; diff -Nru flac-1.4.2+ds/include/share/compat.h flac-1.4.3+ds1/include/share/compat.h --- flac-1.4.2+ds/include/share/compat.h 2022-10-21 17:13:31.375739200 +0000 +++ flac-1.4.3+ds1/include/share/compat.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,5 +1,5 @@ /* libFLAC - Free Lossless Audio Codec library - * Copyright (C) 2012-2022 Xiph.Org Foundation + * Copyright (C) 2012-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -52,6 +52,7 @@ #if defined _MSC_VER || defined __BORLANDC__ || defined __MINGW32__ #include /* for off_t */ #define FLAC__off_t __int64 /* use this instead of off_t to fix the 2 GB limit */ +#define FLAC__OFF_T_MAX INT64_MAX #if !defined __MINGW32__ #define fseeko _fseeki64 #define ftello _ftelli64 @@ -63,8 +64,11 @@ #endif #else #define FLAC__off_t off_t +#define FLAC__OFF_T_MAX OFF_T_MAX #endif + + #ifdef HAVE_INTTYPES_H #define __STDC_FORMAT_MACROS #include diff -Nru flac-1.4.2+ds/include/share/endswap.h flac-1.4.3+ds1/include/share/endswap.h --- flac-1.4.2+ds/include/share/endswap.h 2022-10-21 17:13:31.387993000 +0000 +++ flac-1.4.3+ds1/include/share/endswap.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,5 +1,5 @@ /* libFLAC - Free Lossless Audio Codec library - * Copyright (C) 2012-2022 Xiph.Org Foundation + * Copyright (C) 2012-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/include/share/grabbag/cuesheet.h flac-1.4.3+ds1/include/share/grabbag/cuesheet.h --- flac-1.4.2+ds/include/share/grabbag/cuesheet.h 2022-10-21 17:13:31.410193300 +0000 +++ flac-1.4.3+ds1/include/share/grabbag/cuesheet.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,6 +1,6 @@ /* grabbag - Convenience lib for various routines common to several tools * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff -Nru flac-1.4.2+ds/include/share/grabbag/file.h flac-1.4.3+ds1/include/share/grabbag/file.h --- flac-1.4.2+ds/include/share/grabbag/file.h 2022-10-21 17:13:31.449576200 +0000 +++ flac-1.4.3+ds1/include/share/grabbag/file.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,6 +1,6 @@ /* grabbag - Convenience lib for various routines common to several tools * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff -Nru flac-1.4.2+ds/include/share/grabbag/Makefile.in flac-1.4.3+ds1/include/share/grabbag/Makefile.in --- flac-1.4.2+ds/include/share/grabbag/Makefile.in 2022-10-21 17:54:46.117148900 +0000 +++ flac-1.4.3+ds1/include/share/grabbag/Makefile.in 2023-06-22 08:50:44.481746672 +0000 @@ -94,14 +94,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -220,6 +220,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/include/share/grabbag/picture.h flac-1.4.3+ds1/include/share/grabbag/picture.h --- flac-1.4.2+ds/include/share/grabbag/picture.h 2022-10-21 17:13:31.462441400 +0000 +++ flac-1.4.3+ds1/include/share/grabbag/picture.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,6 +1,6 @@ /* grabbag - Convenience lib for various routines common to several tools * Copyright (C) 2006-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/include/share/grabbag/replaygain.h flac-1.4.3+ds1/include/share/grabbag/replaygain.h --- flac-1.4.2+ds/include/share/grabbag/replaygain.h 2022-10-21 17:13:31.472445200 +0000 +++ flac-1.4.3+ds1/include/share/grabbag/replaygain.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,6 +1,6 @@ /* grabbag - Convenience lib for various routines common to several tools * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff -Nru flac-1.4.2+ds/include/share/grabbag/seektable.h flac-1.4.3+ds1/include/share/grabbag/seektable.h --- flac-1.4.2+ds/include/share/grabbag/seektable.h 2022-10-21 17:13:31.491401100 +0000 +++ flac-1.4.3+ds1/include/share/grabbag/seektable.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,6 +1,6 @@ /* grabbag - Convenience lib for various routines common to several tools * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff -Nru flac-1.4.2+ds/include/share/grabbag.h flac-1.4.3+ds1/include/share/grabbag.h --- flac-1.4.2+ds/include/share/grabbag.h 2022-10-21 17:13:31.399504900 +0000 +++ flac-1.4.3+ds1/include/share/grabbag.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,6 +1,6 @@ /* grabbag - Convenience lib for various routines common to several tools * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff -Nru flac-1.4.2+ds/include/share/macros.h flac-1.4.3+ds1/include/share/macros.h --- flac-1.4.2+ds/include/share/macros.h 2022-10-21 17:13:31.502233100 +0000 +++ flac-1.4.3+ds1/include/share/macros.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,5 +1,5 @@ /* libFLAC - Free Lossless Audio Codec library - * Copyright (C) 2013-2022 Xiph.Org Foundation + * Copyright (C) 2013-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/include/share/Makefile.in flac-1.4.3+ds1/include/share/Makefile.in --- flac-1.4.2+ds/include/share/Makefile.in 2022-10-21 17:54:46.075220800 +0000 +++ flac-1.4.3+ds1/include/share/Makefile.in 2023-06-22 08:50:44.469746631 +0000 @@ -94,14 +94,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -278,6 +278,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/include/share/private.h flac-1.4.3+ds1/include/share/private.h --- flac-1.4.2+ds/include/share/private.h 2022-10-21 17:13:31.514790500 +0000 +++ flac-1.4.3+ds1/include/share/private.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,5 +1,5 @@ /* libFLAC - Free Lossless Audio Codec library - * Copyright (C) 2013-2022 Xiph.Org Foundation + * Copyright (C) 2013-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -36,10 +36,18 @@ * Unpublished debug routines from libFLAC. This should not be used from any * client code other than code shipped with the FLAC sources. */ -FLAC_API FLAC__bool FLAC__stream_encoder_disable_instruction_set(FLAC__StreamEncoder *encoder, FLAC__bool value); +FLAC_API FLAC__bool FLAC__stream_encoder_disable_instruction_set(FLAC__StreamEncoder *encoder, int value); FLAC_API FLAC__bool FLAC__stream_encoder_disable_constant_subframes(FLAC__StreamEncoder *encoder, FLAC__bool value); FLAC_API FLAC__bool FLAC__stream_encoder_disable_fixed_subframes(FLAC__StreamEncoder *encoder, FLAC__bool value); FLAC_API FLAC__bool FLAC__stream_encoder_disable_verbatim_subframes(FLAC__StreamEncoder *encoder, FLAC__bool value); +/* + * The following two routines were intended as debug routines and are not + * in the public headers, but SHOULD NOT CHANGE! It is known they are used + * in some non-audio projects needing every last bit of performance. + * See https://github.com/xiph/flac/issues/547 for details. These projects + * provide their own prototypes, so changing the signature of these + * functions would break building. + */ FLAC_API FLAC__bool FLAC__stream_encoder_set_do_md5(FLAC__StreamEncoder *encoder, FLAC__bool value); FLAC_API FLAC__bool FLAC__stream_encoder_get_do_md5(const FLAC__StreamEncoder *encoder); diff -Nru flac-1.4.2+ds/include/share/replaygain_synthesis.h flac-1.4.3+ds1/include/share/replaygain_synthesis.h --- flac-1.4.2+ds/include/share/replaygain_synthesis.h 2022-10-21 17:13:31.531065500 +0000 +++ flac-1.4.3+ds1/include/share/replaygain_synthesis.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,6 +1,6 @@ /* replaygain_synthesis - Routines for applying ReplayGain to a signal * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff -Nru flac-1.4.2+ds/include/share/safe_str.h flac-1.4.3+ds1/include/share/safe_str.h --- flac-1.4.2+ds/include/share/safe_str.h 2022-10-21 17:13:31.547608700 +0000 +++ flac-1.4.3+ds1/include/share/safe_str.h 2023-06-15 09:52:54.146861252 +0000 @@ -1,5 +1,5 @@ /* libFLAC - Free Lossless Audio Codec library - * Copyright (C) 2013-2022 Xiph.Org Foundation + * Copyright (C) 2013-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/include/share/win_utf8_io.h flac-1.4.3+ds1/include/share/win_utf8_io.h --- flac-1.4.2+ds/include/share/win_utf8_io.h 2022-10-21 17:13:31.559780500 +0000 +++ flac-1.4.3+ds1/include/share/win_utf8_io.h 2023-06-15 09:52:54.150861266 +0000 @@ -1,5 +1,5 @@ /* libFLAC - Free Lossless Audio Codec library - * Copyright (C) 2013-2022 Xiph.Org Foundation + * Copyright (C) 2013-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/include/test_libs_common/file_utils_flac.h flac-1.4.3+ds1/include/test_libs_common/file_utils_flac.h --- flac-1.4.2+ds/include/test_libs_common/file_utils_flac.h 2022-10-21 17:13:31.562777500 +0000 +++ flac-1.4.3+ds1/include/test_libs_common/file_utils_flac.h 2023-06-15 09:52:54.150861266 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/include/test_libs_common/Makefile.in flac-1.4.3+ds1/include/test_libs_common/Makefile.in --- flac-1.4.2+ds/include/test_libs_common/Makefile.in 2022-10-21 17:54:46.154522500 +0000 +++ flac-1.4.3+ds1/include/test_libs_common/Makefile.in 2023-06-22 08:50:44.493746712 +0000 @@ -94,14 +94,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -220,6 +220,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/include/test_libs_common/metadata_utils.h flac-1.4.3+ds1/include/test_libs_common/metadata_utils.h --- flac-1.4.2+ds/include/test_libs_common/metadata_utils.h 2022-10-21 17:13:31.596304100 +0000 +++ flac-1.4.3+ds1/include/test_libs_common/metadata_utils.h 2023-06-15 09:52:54.150861266 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/ltmain.sh flac-1.4.3+ds1/ltmain.sh --- flac-1.4.2+ds/ltmain.sh 2022-01-09 15:40:57.000000000 +0000 +++ flac-1.4.3+ds1/ltmain.sh 2022-03-24 16:13:52.000000000 +0000 @@ -31,7 +31,7 @@ PROGRAM=libtool PACKAGE=libtool -VERSION=2.4.6 +VERSION="2.4.6 Debian-2.4.6-15build2" package_revision=2.4.6 @@ -387,7 +387,7 @@ # putting '$debug_cmd' at the start of all your functions, you can get # bash to show function call trace with: # -# debug_cmd='eval echo "${FUNCNAME[0]} $*" >&2' bash your-script-name +# debug_cmd='echo "${FUNCNAME[0]} $*" >&2' bash your-script-name debug_cmd=${debug_cmd-":"} exit_cmd=: @@ -1370,7 +1370,7 @@ #! /bin/sh # Set a version string for this script. -scriptversion=2014-01-07.03; # UTC +scriptversion=2015-10-07.11; # UTC # A portable, pluggable option parser for Bourne shell. # Written by Gary V. Vaughan, 2010 @@ -1530,6 +1530,8 @@ { $debug_cmd + _G_rc_run_hooks=false + case " $hookable_fns " in *" $1 "*) ;; *) func_fatal_error "'$1' does not support hook funcions.n" ;; @@ -1538,16 +1540,16 @@ eval _G_hook_fns=\$$1_hooks; shift for _G_hook in $_G_hook_fns; do - eval $_G_hook '"$@"' - - # store returned options list back into positional - # parameters for next 'cmd' execution. - eval _G_hook_result=\$${_G_hook}_result - eval set dummy "$_G_hook_result"; shift + if eval $_G_hook '"$@"'; then + # store returned options list back into positional + # parameters for next 'cmd' execution. + eval _G_hook_result=\$${_G_hook}_result + eval set dummy "$_G_hook_result"; shift + _G_rc_run_hooks=: + fi done - func_quote_for_eval ${1+"$@"} - func_run_hooks_result=$func_quote_for_eval_result + $_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result } @@ -1557,10 +1559,16 @@ ## --------------- ## # In order to add your own option parsing hooks, you must accept the -# full positional parameter list in your hook function, remove any -# options that you action, and then pass back the remaining unprocessed +# full positional parameter list in your hook function, you may remove/edit +# any options that you action, and then pass back the remaining unprocessed # options in '_result', escaped suitably for -# 'eval'. Like this: +# 'eval'. In this case you also must return $EXIT_SUCCESS to let the +# hook's caller know that it should pay attention to +# '_result'. Returning $EXIT_FAILURE signalizes that +# arguments are left untouched by the hook and therefore caller will ignore the +# result variable. +# +# Like this: # # my_options_prep () # { @@ -1570,9 +1578,11 @@ # usage_message=$usage_message' # -s, --silent don'\''t print informational messages # ' -# -# func_quote_for_eval ${1+"$@"} -# my_options_prep_result=$func_quote_for_eval_result +# # No change in '$@' (ignored completely by this hook). There is +# # no need to do the equivalent (but slower) action: +# # func_quote_for_eval ${1+"$@"} +# # my_options_prep_result=$func_quote_for_eval_result +# false # } # func_add_hook func_options_prep my_options_prep # @@ -1581,25 +1591,37 @@ # { # $debug_cmd # +# args_changed=false +# # # Note that for efficiency, we parse as many options as we can # # recognise in a loop before passing the remainder back to the # # caller on the first unrecognised argument we encounter. # while test $# -gt 0; do # opt=$1; shift # case $opt in -# --silent|-s) opt_silent=: ;; +# --silent|-s) opt_silent=: +# args_changed=: +# ;; # # Separate non-argument short options: # -s*) func_split_short_opt "$_G_opt" # set dummy "$func_split_short_opt_name" \ # "-$func_split_short_opt_arg" ${1+"$@"} # shift +# args_changed=: # ;; -# *) set dummy "$_G_opt" "$*"; shift; break ;; +# *) # Make sure the first unrecognised option "$_G_opt" +# # is added back to "$@", we could need that later +# # if $args_changed is true. +# set dummy "$_G_opt" ${1+"$@"}; shift; break ;; # esac # done # -# func_quote_for_eval ${1+"$@"} -# my_silent_option_result=$func_quote_for_eval_result +# if $args_changed; then +# func_quote_for_eval ${1+"$@"} +# my_silent_option_result=$func_quote_for_eval_result +# fi +# +# $args_changed # } # func_add_hook func_parse_options my_silent_option # @@ -1611,16 +1633,32 @@ # $opt_silent && $opt_verbose && func_fatal_help "\ # '--silent' and '--verbose' options are mutually exclusive." # -# func_quote_for_eval ${1+"$@"} -# my_option_validation_result=$func_quote_for_eval_result +# false # } # func_add_hook func_validate_options my_option_validation # -# You'll alse need to manually amend $usage_message to reflect the extra +# You'll also need to manually amend $usage_message to reflect the extra # options you parse. It's preferable to append if you can, so that # multiple option parsing hooks can be added safely. +# func_options_finish [ARG]... +# ---------------------------- +# Finishing the option parse loop (call 'func_options' hooks ATM). +func_options_finish () +{ + $debug_cmd + + _G_func_options_finish_exit=false + if func_run_hooks func_options ${1+"$@"}; then + func_options_finish_result=$func_run_hooks_result + _G_func_options_finish_exit=: + fi + + $_G_func_options_finish_exit +} + + # func_options [ARG]... # --------------------- # All the functions called inside func_options are hookable. See the @@ -1630,17 +1668,28 @@ { $debug_cmd - func_options_prep ${1+"$@"} - eval func_parse_options \ - ${func_options_prep_result+"$func_options_prep_result"} - eval func_validate_options \ - ${func_parse_options_result+"$func_parse_options_result"} + _G_rc_options=false - eval func_run_hooks func_options \ - ${func_validate_options_result+"$func_validate_options_result"} + for my_func in options_prep parse_options validate_options options_finish + do + if eval func_$my_func '${1+"$@"}'; then + eval _G_res_var='$'"func_${my_func}_result" + eval set dummy "$_G_res_var" ; shift + _G_rc_options=: + fi + done - # save modified positional parameters for caller - func_options_result=$func_run_hooks_result + # Save modified positional parameters for caller. As a top-level + # options-parser function we always need to set the 'func_options_result' + # variable (regardless the $_G_rc_options value). + if $_G_rc_options; then + func_options_result=$_G_res_var + else + func_quote_for_eval ${1+"$@"} + func_options_result=$func_quote_for_eval_result + fi + + $_G_rc_options } @@ -1649,9 +1698,9 @@ # All initialisations required before starting the option parse loop. # Note that when calling hook functions, we pass through the list of # positional parameters. If a hook function modifies that list, and -# needs to propogate that back to rest of this script, then the complete +# needs to propagate that back to rest of this script, then the complete # modified list must be put in 'func_run_hooks_result' before -# returning. +# returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned). func_hookable func_options_prep func_options_prep () { @@ -1661,10 +1710,14 @@ opt_verbose=false opt_warning_types= - func_run_hooks func_options_prep ${1+"$@"} + _G_rc_options_prep=false + if func_run_hooks func_options_prep ${1+"$@"}; then + _G_rc_options_prep=: + # save modified positional parameters for caller + func_options_prep_result=$func_run_hooks_result + fi - # save modified positional parameters for caller - func_options_prep_result=$func_run_hooks_result + $_G_rc_options_prep } @@ -1678,18 +1731,20 @@ func_parse_options_result= + _G_rc_parse_options=false # this just eases exit handling while test $# -gt 0; do # Defer to hook functions for initial option parsing, so they # get priority in the event of reusing an option name. - func_run_hooks func_parse_options ${1+"$@"} - - # Adjust func_parse_options positional parameters to match - eval set dummy "$func_run_hooks_result"; shift + if func_run_hooks func_parse_options ${1+"$@"}; then + eval set dummy "$func_run_hooks_result"; shift + _G_rc_parse_options=: + fi # Break out of the loop if we already parsed every option. test $# -gt 0 || break + _G_match_parse_options=: _G_opt=$1 shift case $_G_opt in @@ -1704,7 +1759,10 @@ ;; --warnings|--warning|-W) - test $# = 0 && func_missing_arg $_G_opt && break + if test $# = 0 && func_missing_arg $_G_opt; then + _G_rc_parse_options=: + break + fi case " $warning_categories $1" in *" $1 "*) # trailing space prevents matching last $1 above @@ -1757,15 +1815,25 @@ shift ;; - --) break ;; + --) _G_rc_parse_options=: ; break ;; -*) func_fatal_help "unrecognised option: '$_G_opt'" ;; - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + *) set dummy "$_G_opt" ${1+"$@"}; shift + _G_match_parse_options=false + break + ;; esac + + $_G_match_parse_options && _G_rc_parse_options=: done - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - func_parse_options_result=$func_quote_for_eval_result + + if $_G_rc_parse_options; then + # save modified positional parameters for caller + func_quote_for_eval ${1+"$@"} + func_parse_options_result=$func_quote_for_eval_result + fi + + $_G_rc_parse_options } @@ -1778,16 +1846,21 @@ { $debug_cmd + _G_rc_validate_options=false + # Display all warnings if -W was not given. test -n "$opt_warning_types" || opt_warning_types=" $warning_categories" - func_run_hooks func_validate_options ${1+"$@"} + if func_run_hooks func_validate_options ${1+"$@"}; then + # save modified positional parameters for caller + func_validate_options_result=$func_run_hooks_result + _G_rc_validate_options=: + fi # Bail if the options were screwed! $exit_cmd $EXIT_FAILURE - # save modified positional parameters for caller - func_validate_options_result=$func_run_hooks_result + $_G_rc_validate_options } @@ -2068,12 +2141,12 @@ compiler: $LTCC compiler flags: $LTCFLAGS linker: $LD (gnu? $with_gnu_ld) - version: $progname (GNU libtool) 2.4.6 + version: $progname $scriptversion Debian-2.4.6-15build2 automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q` autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q` Report bugs to . -GNU libtool home page: . +GNU libtool home page: . General help using GNU software: ." exit 0 } @@ -2270,6 +2343,8 @@ nonopt= preserve_args= + _G_rc_lt_options_prep=: + # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) @@ -2293,11 +2368,18 @@ uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; + *) + _G_rc_lt_options_prep=false + ;; esac - # Pass back the list of options. - func_quote_for_eval ${1+"$@"} - libtool_options_prep_result=$func_quote_for_eval_result + if $_G_rc_lt_options_prep; then + # Pass back the list of options. + func_quote_for_eval ${1+"$@"} + libtool_options_prep_result=$func_quote_for_eval_result + fi + + $_G_rc_lt_options_prep } func_add_hook func_options_prep libtool_options_prep @@ -2309,9 +2391,12 @@ { $debug_cmd + _G_rc_lt_parse_options=false + # Perform our own loop to consume as many options as possible in # each iteration. while test $# -gt 0; do + _G_match_lt_parse_options=: _G_opt=$1 shift case $_G_opt in @@ -2386,15 +2471,22 @@ func_append preserve_args " $_G_opt" ;; - # An option not handled by this hook function: - *) set dummy "$_G_opt" ${1+"$@"}; shift; break ;; + # An option not handled by this hook function: + *) set dummy "$_G_opt" ${1+"$@"} ; shift + _G_match_lt_parse_options=false + break + ;; esac + $_G_match_lt_parse_options && _G_rc_lt_parse_options=: done + if $_G_rc_lt_parse_options; then + # save modified positional parameters for caller + func_quote_for_eval ${1+"$@"} + libtool_parse_options_result=$func_quote_for_eval_result + fi - # save modified positional parameters for caller - func_quote_for_eval ${1+"$@"} - libtool_parse_options_result=$func_quote_for_eval_result + $_G_rc_lt_parse_options } func_add_hook func_parse_options libtool_parse_options @@ -2418,7 +2510,7 @@ case $host in # Solaris2 added to fix http://debbugs.gnu.org/cgi/bugreport.cgi?bug=16452 # see also: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59788 - *cygwin* | *msys* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) + *cygwin* | *mingw* | *pw32* | *cegcc* | *solaris2* | *os2*) # don't eliminate duplications in $postdeps and $predeps opt_duplicate_compiler_generated_deps=: ;; @@ -3439,7 +3531,7 @@ # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in - cygwin* | msys* | mingw* | pw32* | os2* | cegcc*) + cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac @@ -4313,7 +4405,7 @@ 'exit $?' tstripme=$stripme case $host_os in - cygwin* | msys* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) tstripme= @@ -4426,7 +4518,7 @@ # Do a test to see if this is really a libtool program. case $host in - *cygwin* | *msys* | *mingw*) + *cygwin* | *mingw*) if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" wrapper=$func_ltwrapper_scriptname_result @@ -4501,7 +4593,7 @@ # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in - */usr/bin/install*,*cygwin*|*/usr/bin/install*,*msys*) + */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok @@ -4654,7 +4746,7 @@ $RM $export_symbols eval "$SED -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in - *cygwin* | *msys* | *mingw* | *cegcc* ) + *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; @@ -4666,7 +4758,7 @@ eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in - *cygwin* | *msys* | *mingw* | *cegcc* ) + *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; @@ -4680,7 +4772,7 @@ func_basename "$dlprefile" name=$func_basename_result case $host in - *cygwin* | *msys* | *mingw* | *cegcc* ) + *cygwin* | *mingw* | *cegcc* ) # if an import library, we need to obtain dlname if func_win32_import_lib_p "$dlprefile"; then func_tr_sh "$dlprefile" @@ -4855,7 +4947,7 @@ # Transform the symbol file into the correct name. symfileobj=$output_objdir/${my_outputname}S.$objext case $host in - *cygwin* | *msys* | *mingw* | *cegcc* ) + *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` @@ -4931,7 +5023,7 @@ *ar\ archive*) # could be an import, or static # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64|coff-arm|coff-arm64|coff-i386|coff-x86-64)' >/dev/null; then + $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then case $nm_interface in "MS dumpbin") if func_cygming_ms_implib_p "$1" || @@ -5538,7 +5630,6 @@ # include # include # ifdef __CYGWIN__ -# include # include # endif #endif @@ -5555,7 +5646,7 @@ /* declarations of non-ANSI functions */ #if defined __MINGW32__ -# if defined(__STRICT_ANSI__) && !defined(__MINGW64_VERSION_MAJOR) || defined(_POSIX_) +# ifdef __STRICT_ANSI__ int _putenv (const char *); # endif #elif defined __CYGWIN__ @@ -5754,7 +5845,7 @@ { EOF case $host in - *mingw* | *cygwin* | *msys* ) + *mingw* | *cygwin* ) # make stdout use "unix" line endings echo " setmode(1,_O_BINARY);" ;; @@ -6457,41 +6548,6 @@ } # end: func_emit_cwrapperexe_src -# func_emit_exe_manifest -# emit a Win32 UAC manifest for executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_exe_manifest () -{ - cat < - - - - - - - - - - - - -EOF -} - # func_win32_import_lib_p ARG # True if ARG is an import lib, as indicated by $file_magic_cmd func_win32_import_lib_p () @@ -6528,7 +6584,7 @@ $debug_cmd case $host in - *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # what system we are compiling for in order to pass an extra @@ -7027,7 +7083,7 @@ ;; esac case $host in - *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; @@ -7047,7 +7103,7 @@ -l*) if test X-lc = "X$arg" || test X-lm = "X$arg"; then case $host in - *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) # These systems don't actually have a C or math library (as such) continue ;; @@ -7130,7 +7186,7 @@ -no-install) case $host in - *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. func_warning "'-no-install' is ignored for $host" @@ -7308,15 +7364,16 @@ # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support # -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization + # -specs=* GCC specs files # -stdlib=* select c++ std lib with clang - # -{shared,static}-libgcc, -static-{libgfortran|libstdc++} - # link against specified runtime library + # -fsanitize=* Clang/GCC memory and address sanitizer + # -fuse-ld=* Linker select flags for GCC + # -static-* direct GCC to link specific libraries statically + # -fcilkplus Cilk Plus language extension features for C/C++ -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \ - -ftree-parallelize-loops=*|-fcilkplus|-fgnu-tm|-ffast-math| \ - -funsafe-math-optimizations|-fvtable-verify*| \ - -shared-libgcc|-static-libgcc|-static-libgfortran|-static-libstdc++) + -specs=*|-fsanitize=*|-fuse-ld=*|-static-*|-fcilkplus) func_quote_for_eval "$arg" arg=$func_quote_for_eval_result func_append compile_command " $arg" @@ -7609,7 +7666,10 @@ case $pass in dlopen) libs=$dlfiles ;; dlpreopen) libs=$dlprefiles ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; + link) + libs="$deplibs %DEPLIBS%" + test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs" + ;; esac fi if test lib,dlpreopen = "$linkmode,$pass"; then @@ -7803,15 +7863,8 @@ fi case $linkmode in lib) - # Linking convenience modules and compiler provided static libraries - # into shared libraries is allowed, but linking other static - # libraries is non-portable. - case $deplib in - */libgcc*.$libext | */libclang_rt*.$libext) - deplibs="$deplib $deplibs" - continue - ;; - esac + # Linking convenience modules into shared libraries is allowed, + # but linking other static libraries is non-portable. case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) @@ -7935,19 +7988,19 @@ # It is a libtool convenience library, so add in its objects. func_append convenience " $ladir/$objdir/$old_library" func_append old_convenience " $ladir/$objdir/$old_library" + tmp_libs= + for deplib in $dependency_libs; do + deplibs="$deplib $deplibs" + if $opt_preserve_dup_deps; then + case "$tmp_libs " in + *" $deplib "*) func_append specialdeplibs " $deplib" ;; + esac + fi + func_append tmp_libs " $deplib" + done elif test prog != "$linkmode" && test lib != "$linkmode"; then func_fatal_error "'$lib' is not a convenience library" fi - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done continue fi # $pass = conv @@ -8036,7 +8089,7 @@ fi case $host in # special handling for platforms with PE-DLLs. - *cygwin* | *msys* | *mingw* | *cegcc* ) + *cygwin* | *mingw* | *cegcc* ) # Linker will automatically link against shared library if both # static and shared are present. Therefore, ensure we extract # symbols from the import library if a shared library is present @@ -8180,7 +8233,7 @@ if test -n "$library_names" && { test no = "$use_static_libs" || test -z "$old_library"; }; then case $host in - *cygwin* | *msys* | *mingw* | *cegcc* | *os2*) + *cygwin* | *mingw* | *cegcc* | *os2*) # No point in relinking DLLs because paths are not encoded func_append notinst_deplibs " $lib" need_relink=no @@ -8250,7 +8303,7 @@ elif test -n "$soname_spec"; then # bleh windows case $host in - *cygwin* | *msys* | mingw* | *cegcc* | *os2*) + *cygwin* | mingw* | *cegcc* | *os2*) func_arith $current - $age major=$func_arith_result versuffix=-$major @@ -8571,9 +8624,7 @@ eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "'$deplib' is not a valid libtool archive" - abs_inode=`ls -i "$deplib" | awk '{print $1}'` - lib_inode=`ls -i "$libdir/$(basename $deplib)" | awk '{print $1}'` - test "$abs_inode" != "$lib_inode" && \ + test "$absdir" != "$libdir" && \ func_warning "'$deplib' seems to be moved" path=-L$absdir @@ -8873,6 +8924,9 @@ revision=$number_minor lt_irix_increment=no ;; + *) + func_fatal_configuration "$modename: unknown library version type '$version_type'" + ;; esac ;; no) @@ -9162,7 +9216,7 @@ if test yes = "$build_libtool_libs"; then if test -n "$rpath"; then case $host in - *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) @@ -9676,7 +9730,7 @@ orig_export_symbols= case $host_os in - cygwin* | msys* | mingw* | cegcc*) + cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile func_dll_def_p "$export_symbols" || { @@ -9874,7 +9928,20 @@ last_robj= k=1 - if test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then + if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then + output=$output_objdir/$output_la.lnkscript + func_verbose "creating GNU ld script: $output" + echo 'INPUT (' > $output + for obj in $save_libobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + echo ')' >> $output + func_append delfiles " $output" + func_to_tool_file "$output" + output=$func_to_tool_file_result + elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then output=$output_objdir/$output_la.lnk func_verbose "creating linker input file list: $output" : > $output @@ -9893,19 +9960,6 @@ func_append delfiles " $output" func_to_tool_file "$output" output=$firstobj\"$file_list_spec$func_to_tool_file_result\" - elif test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then - output=$output_objdir/$output_la.lnkscript - func_verbose "creating GNU ld script: $output" - echo 'INPUT (' > $output - for obj in $save_libobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - echo ')' >> $output - func_append delfiles " $output" - func_to_tool_file "$output" - output=$func_to_tool_file_result else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." @@ -10235,7 +10289,7 @@ prog) case $host in - *cygwin* | *msys*) func_stripname '' '.exe' "$output" + *cygwin*) func_stripname '' '.exe' "$output" output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ @@ -10346,7 +10400,7 @@ esac fi case $host in - *-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) + *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$libdir" | $SED -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; @@ -10424,7 +10478,7 @@ # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. wrappers_required=false ;; - *cygwin* | *msys* | *mingw* ) + *cygwin* | *mingw* ) test yes = "$build_libtool_libs" || wrappers_required=false ;; *) @@ -10570,21 +10624,21 @@ esac # test for cygwin because mv fails w/o .exe extensions case $host in - *cygwin* | *msys*) + *cygwin*) exeext=.exe func_stripname '' '.exe' "$outputname" outputname=$func_stripname_result ;; *) exeext= ;; esac case $host in - *cygwin* | *msys* | *mingw* ) + *cygwin* | *mingw* ) func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result cwrappersource=$output_path/$objdir/lt-$output_name.c cwrapper=$output_path/$output_name.exe $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper $cwrapper.manifest; exit $EXIT_FAILURE" 1 2 15 + trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 func_emit_cwrapperexe_src > $cwrappersource @@ -10604,16 +10658,6 @@ $opt_dry_run || { # note: this script will not be executed, so do not chmod. if test "x$build" = "x$host"; then - # Create the UAC manifests first if necessary (but the - # manifest files must have executable permission regardless). - case $output_name in - *instal*|*patch*|*setup*|*update*) - func_emit_exe_manifest > $cwrapper.manifest - func_emit_exe_manifest > $output_path/$objdir/$output_name.exe.manifest - chmod +x $cwrapper.manifest - chmod +x $output_path/$objdir/$output_name.exe.manifest - ;; - esac $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result @@ -10919,7 +10963,7 @@ # tests/bindir.at for full details. tdlname=$dlname case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *msys*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) + *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) # If a -bindir argument was supplied, place the dll there. if test -n "$bindir"; then func_relative_path "$install_libdir" "$bindir" @@ -11138,9 +11182,8 @@ # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles func_append rmfiles " $odir/$name $odir/${name}S.$objext" - func_append rmfiles " ${name}.manifest $objdir/${name}.manifest" if test yes = "$fast_install" && test -n "$relink_command"; then - func_append rmfiles " $odir/lt-$name $objdir/lt-${name}.manifest" + func_append rmfiles " $odir/lt-$name" fi if test "X$noexename" != "X$name"; then func_append rmfiles " $odir/lt-$noexename.c" diff -Nru flac-1.4.2+ds/m4/bswap.m4 flac-1.4.3+ds1/m4/bswap.m4 --- flac-1.4.2+ds/m4/bswap.m4 2022-10-21 17:13:31.688172100 +0000 +++ flac-1.4.3+ds1/m4/bswap.m4 2023-06-15 09:52:54.150861266 +0000 @@ -1,4 +1,4 @@ -dnl Copyright (C) 2012-2022 Xiph.Org Foundation +dnl Copyright (C) 2012-2023 Xiph.Org Foundation dnl dnl Redistribution and use in source and binary forms, with or without dnl modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/m4/c_attribute.m4 flac-1.4.3+ds1/m4/c_attribute.m4 --- flac-1.4.2+ds/m4/c_attribute.m4 2022-07-13 12:50:12.205286100 +0000 +++ flac-1.4.3+ds1/m4/c_attribute.m4 1970-01-01 00:00:00.000000000 +0000 @@ -1,18 +0,0 @@ -# -# Check for supported __attribute__ features -# -# AC_C_ATTRIBUTE(FEATURE, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) -# -AC_DEFUN([AC_C_ATTRIBUTE], -[AS_VAR_PUSHDEF([CACHEVAR], [ax_cv_c_attribute_$1])dnl -AC_CACHE_CHECK([for __attribute__ (($1))], - CACHEVAR,[ - AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], - [[ void foo(void) __attribute__ (($1)); ]])], - [AS_VAR_SET(CACHEVAR, [yes])], - [AS_VAR_SET(CACHEVAR, [no])])]) -AS_VAR_IF(CACHEVAR,yes, - [m4_default([$2], :)], - [m4_default([$3], :)]) -AS_VAR_POPDEF([CACHEVAR])dnl -])dnl diff -Nru flac-1.4.2+ds/m4/endian.m4 flac-1.4.3+ds1/m4/endian.m4 --- flac-1.4.2+ds/m4/endian.m4 2022-10-21 17:13:31.701375800 +0000 +++ flac-1.4.3+ds1/m4/endian.m4 2023-06-15 09:52:54.150861266 +0000 @@ -1,4 +1,4 @@ -dnl Copyright (C) 2012-2022 Xiph.Org Foundation +dnl Copyright (C) 2012-2023 Xiph.Org Foundation dnl dnl Redistribution and use in source and binary forms, with or without dnl modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/m4/libtool.m4 flac-1.4.3+ds1/m4/libtool.m4 --- flac-1.4.2+ds/m4/libtool.m4 2022-01-09 15:40:57.000000000 +0000 +++ flac-1.4.3+ds1/m4/libtool.m4 2022-03-24 16:13:52.000000000 +0000 @@ -728,7 +728,6 @@ cat <<_LT_EOF >> "$cfgfile" #! $SHELL # Generated automatically by $as_me ($PACKAGE) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # Provide generalized library-building support services. @@ -1042,8 +1041,8 @@ _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD + echo "$AR cr libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD + $AR cr libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF @@ -1072,11 +1071,11 @@ # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) + 10.0,*86*-darwin8*|10.0,*-darwin[[912]]*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; 10.[[012]][[,.]]*) _lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;; - 10.*) + 10.*|11.*) _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;; esac ;; @@ -1493,7 +1492,7 @@ m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} -: ${AR_FLAGS=cru} +: ${AR_FLAGS=cr} _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) @@ -1692,7 +1691,7 @@ lt_cv_sys_max_cmd_len=-1; ;; - cygwin* | msys* | mingw* | cegcc*) + cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, @@ -1940,7 +1939,7 @@ lt_cv_dlopen_libs= ;; - cygwin* | msys*) + cygwin*) lt_cv_dlopen=dlopen lt_cv_dlopen_libs= ;; @@ -2521,7 +2520,7 @@ # libtool to hard-code these into programs ;; -cygwin* | msys* | mingw* | pw32* | cegcc*) +cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=.dll need_version=no @@ -2547,9 +2546,9 @@ shlibpath_overrides_runpath=yes case $host_os in - cygwin* | msys*) + cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo $libname | sed -e 's/^lib/msys-/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' + soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; @@ -2587,7 +2586,7 @@ # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; - cygwin* | msys*) + cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... @@ -2887,6 +2886,18 @@ dynamic_linker='GNU/Linux ld.so' ;; +netbsdelf*-gnu) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + dynamic_linker='NetBSD ld.elf_so' + ;; + netbsd*) version_type=sunos need_lib_prefix=no @@ -3365,7 +3376,7 @@ esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in - cygwin* | msys* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | pw32* | cegcc*) if test yes != "$GCC"; then reload_cmds=false fi @@ -3458,7 +3469,7 @@ lt_cv_file_magic_test_file=/shlib/libc.so ;; -cygwin* | msys*) +cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' @@ -3473,7 +3484,7 @@ lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64|coff-arm|coff-arm64|coff-i386|coff-x86-64)' + lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; @@ -3546,7 +3557,7 @@ lt_cv_deplibs_check_method=pass_all ;; -netbsd*) +netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else @@ -3771,7 +3782,7 @@ [lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in -cygwin* | msys* | mingw* | pw32* | cegcc*) +cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh; # decide which one to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in @@ -3841,7 +3852,7 @@ [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in -*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-msys* | *-*-haiku* | *-*-pw32* | *-*-darwin*) +*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) @@ -3916,7 +3927,7 @@ aix*) symcode='[[BCDT]]' ;; -cygwin* | msys* | mingw* | pw32* | cegcc*) +cygwin* | mingw* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) @@ -4052,7 +4063,8 @@ if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then + $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD + if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" @@ -4222,7 +4234,7 @@ beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; - mingw* | cygwin* | msys* | os2* | pw32* | cegcc*) + mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style @@ -4298,7 +4310,7 @@ ;; esac ;; - mingw* | cygwin* | msys* | os2* | pw32* | cegcc*) + mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], @@ -4424,7 +4436,7 @@ ;; esac ;; - netbsd*) + netbsd* | netbsdelf*-gnu) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise @@ -4546,7 +4558,7 @@ # PIC is the default for these OSes. ;; - mingw* | cygwin* | msys* | pw32* | os2* | cegcc*) + mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style @@ -4650,7 +4662,7 @@ esac ;; - mingw* | cygwin* | msys* | pw32* | os2* | cegcc*) + mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], @@ -4692,6 +4704,12 @@ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; + # flang / f18. f95 an alias for gfortran or flang on Debian + flang* | f18* | f95*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) @@ -4925,7 +4943,7 @@ pw32*) _LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds ;; - cygwin* | msys* | mingw* | cegcc*) + cygwin* | mingw* | cegcc*) case $cc_basename in cl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' @@ -4936,6 +4954,9 @@ ;; esac ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; @@ -4983,7 +5004,7 @@ extract_expsyms_cmds= case $host_os in - cygwin* | msys* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. @@ -4998,6 +5019,9 @@ openbsd* | bitrig*) with_gnu_ld=no ;; + linux* | k*bsd*-gnu | gnu*) + _LT_TAGVAR(link_all_deplibs, $1)=no + ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes @@ -5098,7 +5122,7 @@ fi ;; - cygwin* | msys* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' @@ -5108,7 +5132,6 @@ _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - _LT_TAGVAR(file_list_spec, $1)='@' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' @@ -5253,7 +5276,7 @@ fi ;; - netbsd*) + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= @@ -5555,7 +5578,7 @@ _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; - cygwin* | msys* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is @@ -5774,6 +5797,7 @@ if test yes = "$lt_cv_irix_exported_symbol"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname `test -n "$verstring" && func_echo_all "$wl-set_version $wl$verstring"` $wl-update_registry $wl$output_objdir/so_locations $wl-exports_file $wl$export_symbols -o $lib' fi + _LT_TAGVAR(link_all_deplibs, $1)=no else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry $output_objdir/so_locations -exports_file $export_symbols -o $lib' @@ -5795,7 +5819,7 @@ esac ;; - netbsd*) + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else @@ -6421,7 +6445,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else GXX=no @@ -6630,7 +6654,7 @@ esac ;; - cygwin* | msys* | mingw* | pw32* | cegcc*) + cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl*) # Native MSVC @@ -6683,7 +6707,6 @@ _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' @@ -6797,7 +6820,7 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -6862,7 +6885,7 @@ # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' + output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " \-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test yes = "$GXX"; then @@ -7201,7 +7224,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # FIXME: insert proper C++ library support @@ -7285,7 +7308,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' else # g++ 2.7 appears to require '-G' NOT '-shared' on this # platform. @@ -7296,7 +7319,7 @@ # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " \-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir' @@ -7533,7 +7556,7 @@ for p in `eval "$output_verbose_link_cmd"`; do case $prev$p in - -L* | -R* | -l* | */libclang_rt.*.a) + -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test x-L = "$p" || @@ -8319,7 +8342,7 @@ *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; - *-*-cygwin* | *-*-msys* ) + *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix @@ -8327,12 +8350,12 @@ ;; esac ;; - *-*-cygwin* | *-*-msys* ) + *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; - *-*-cygwin* | *-*-msys* ) + *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix diff -Nru flac-1.4.2+ds/m4/ltoptions.m4 flac-1.4.3+ds1/m4/ltoptions.m4 --- flac-1.4.2+ds/m4/ltoptions.m4 2022-01-09 15:40:57.000000000 +0000 +++ flac-1.4.3+ds1/m4/ltoptions.m4 2022-03-24 16:13:52.000000000 +0000 @@ -128,7 +128,7 @@ [enable_win32_dll=yes case $host in -*-*-cygwin* | *-*-msys* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) +*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) diff -Nru flac-1.4.2+ds/m4/Makefile.am flac-1.4.3+ds1/m4/Makefile.am --- flac-1.4.2+ds/m4/Makefile.am 2022-10-21 17:13:31.619251300 +0000 +++ flac-1.4.3+ds1/m4/Makefile.am 2023-06-15 09:52:54.150861266 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2006-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/m4/Makefile.in flac-1.4.3+ds1/m4/Makefile.in --- flac-1.4.2+ds/m4/Makefile.in 2022-10-21 17:54:46.201048400 +0000 +++ flac-1.4.3+ds1/m4/Makefile.in 2023-06-22 08:50:44.513746780 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2006-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -238,6 +238,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/m4/stack_protect.m4 flac-1.4.3+ds1/m4/stack_protect.m4 --- flac-1.4.2+ds/m4/stack_protect.m4 2022-10-21 17:13:31.754365400 +0000 +++ flac-1.4.3+ds1/m4/stack_protect.m4 2023-06-15 09:52:54.150861266 +0000 @@ -1,4 +1,4 @@ -dnl Copyright (C) 2013-2022 Xiph.Org Foundation +dnl Copyright (C) 2013-2023 Xiph.Org Foundation dnl dnl Redistribution and use in source and binary forms, with or without dnl modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/Makefile.am flac-1.4.3+ds1/Makefile.am --- flac-1.4.2+ds/Makefile.am 2022-10-21 17:13:30.541380300 +0000 +++ flac-1.4.3+ds1/Makefile.am 2023-06-15 09:52:54.138861224 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -43,12 +43,8 @@ flac-config.cmake.in \ cmake/CheckA64NEON.c.in \ cmake/CheckA64NEON.cmake \ - cmake/CheckAttribute.c.in \ - cmake/CheckAttribute.cmake \ cmake/CheckCPUArch.c.in \ cmake/CheckCPUArch.cmake \ - cmake/CheckVSX.c.in \ - cmake/CheckVSX.cmake \ cmake/FindOgg.cmake \ cmake/UseSystemExtensions.cmake \ CHANGELOG.md \ diff -Nru flac-1.4.2+ds/Makefile.in flac-1.4.3+ds1/Makefile.in --- flac-1.4.2+ds/Makefile.in 2022-10-21 17:54:45.140608200 +0000 +++ flac-1.4.3+ds1/Makefile.in 2023-06-22 08:50:44.205745737 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -126,14 +126,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -335,6 +335,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -403,12 +404,8 @@ flac-config.cmake.in \ cmake/CheckA64NEON.c.in \ cmake/CheckA64NEON.cmake \ - cmake/CheckAttribute.c.in \ - cmake/CheckAttribute.cmake \ cmake/CheckCPUArch.c.in \ cmake/CheckCPUArch.cmake \ - cmake/CheckVSX.c.in \ - cmake/CheckVSX.cmake \ cmake/FindOgg.cmake \ cmake/UseSystemExtensions.cmake \ CHANGELOG.md \ diff -Nru flac-1.4.2+ds/man/flac.1 flac-1.4.3+ds1/man/flac.1 --- flac-1.4.2+ds/man/flac.1 2022-10-21 17:58:03.713402600 +0000 +++ flac-1.4.3+ds1/man/flac.1 2023-06-22 08:51:08.565828292 +0000 @@ -1,934 +1,928 @@ -.\" Automatically generated by Pandoc 2.19.2 -.\" -.\" Define V font for inline verbatim, using C font in formats -.\" that render this, and otherwise B font. -.ie "\f[CB]x\f[]"x" \{\ -. ftr V B -. ftr VI BI -. ftr VB B -. ftr VBI BI -.\} -.el \{\ -. ftr V CR -. ftr VI CI -. ftr VB CB -. ftr VBI CBI -.\} -.TH "flac" "1" "" "Version 1.4.2" "Free Lossless Audio Codec conversion tool" -.hy -.SH NAME -.PP -flac - Free Lossless Audio Codec -.SH SYNOPSIS -.PP -\f[B]flac\f[R] [ \f[I]OPTIONS\f[R] ] [ \f[I]infile.wav\f[R] | -\f[I]infile.rf64\f[R] | \f[I]infile.aiff\f[R] | \f[I]infile.raw\f[R] | -\f[I]infile.flac\f[R] | \f[I]infile.oga\f[R] | \f[I]infile.ogg\f[R] | -\f[B]-\f[R] \f[I]\&...\f[R] ] -.PP -\f[B]flac\f[R] [ \f[B]-d\f[R] | \f[B]--decode\f[R] | \f[B]-t\f[R] | -\f[B]--test\f[R] | \f[B]-a\f[R] | \f[B]--analyze\f[R] ] [ -\f[I]OPTIONS\f[R] ] [ \f[I]infile.flac\f[R] | \f[I]infile.oga\f[R] | -\f[I]infile.ogg\f[R] | \f[B]-\f[R] \f[I]\&...\f[R] ] -.SH DESCRIPTION -.PP -\f[B]flac\f[R] is a command-line tool for encoding, decoding, testing -and analyzing FLAC streams. -.SH GENERAL USAGE -.PP -\f[B]flac\f[R] supports as input RIFF WAVE, Wave64, RF64, AIFF, FLAC or -Ogg FLAC format, or raw interleaved samples. -The decoder currently can output to RIFF WAVE, Wave64, RF64, or AIFF -format, or raw interleaved samples. -flac only supports linear PCM samples (in other words, no A-LAW, uLAW, -etc.), and the input must be between 4 and 32 bits per sample. -.PP -flac assumes that files ending in \[lq].wav\[rq] or that have the RIFF -WAVE header present are WAVE files, files ending in \[lq].w64\[rq] or -have the Wave64 header present are Wave64 files, files ending in -\[lq].rf64\[rq] or have the RF64 header present are RF64 files, files -ending in \[lq].aif\[rq] or \[lq].aiff\[rq] or have the AIFF header -present are AIFF files, files ending in \[lq].flac\[rq] or have the FLAC -header present are FLAC files and files ending in \[lq].oga\[rq] or -\[lq].ogg\[rq] or have the Ogg FLAC header present are Ogg FLAC files. -.PP -Other than this, flac makes no assumptions about file extensions, though -the convention is that FLAC files have the extension \[lq].flac\[rq] (or -\[lq].fla\[rq] on ancient \[lq]8.3\[rq] file systems like FAT-16). -.PP -Before going into the full command-line description, a few other things -help to sort it out: 1. -flac encodes by default, so you must use -d to decode 2. -the options -0 .. --8 (or \[en]fast and \[en]best) that control the compression level -actually are just synonyms for different groups of specific encoding -options (described later) and you can get the same effect by using the -same options. -When specific options are specified they take priority over the -compression level no matter the order 3. -flac behaves similarly to gzip in the way it handles input and output -files 4. -the order in which options are specified is generally not important -.PP -Skip to the examples below for examples of some common tasks. -.PP -flac will be invoked one of four ways, depending on whether you are -encoding, decoding, testing, or analyzing. -Encoding is the default invocation, but can be switch to decoding with -\f[B]-d\f[R], analysis with \f[B]-a\f[R] or testing with \f[B]-t\f[R]. -Depending on which way is chosen, encoding, decoding, analysis or -testing options can be used, see section OPTIONS for details. -General options can be used for all. -.PP -If only one inputfile is specified, it may be \[lq]-\[rq] for stdin. -When stdin is used as input, flac will write to stdout. -Otherwise flac will perform the desired operation on each input file to -similarly named output files (meaning for encoding, the extension will -be replaced with \[lq].flac\[rq], or appended with \[lq].flac\[rq] if -the input file has no extension, and for decoding, the extension will be -\[lq].wav\[rq] for WAVE output and \[lq].raw\[rq] for raw output). -The original file is not deleted unless \[en]delete-input-file is -specified. -.PP -If you are encoding/decoding from stdin to a file, you should use the -o -option like so: -.IP -.nf -\f[C] -flac [options] -o outputfile -flac -d [options] -o outputfile -\f[R] -.fi -.PP -which are better than: -.IP -.nf -\f[C] -flac [options] > outputfile -flac -d [options] > outputfile -\f[R] -.fi -.PP -since the former allows flac to seek backwards to write the STREAMINFO -or RIFF WAVE header contents when necessary. -.PP -Also, you can force output data to go to stdout using -c. -.PP -To encode or decode files that start with a dash, use \[en] to signal -the end of options, to keep the filenames themselves from being treated -as options: -.IP -.nf -\f[C] -flac -V -- -01-filename.wav -\f[R] -.fi -.PP -The encoding options affect the compression ratio and encoding speed. -The format options are used to tell flac the arrangement of samples if -the input file (or output file when decoding) is a raw file. -If it is a RIFF WAVE, Wave64, RF64, or AIFF file the format options are -not needed since they are read from the file\[cq]s header. -.PP -In test mode, flac acts just like in decode mode, except no output file -is written. -Both decode and test modes detect errors in the stream, but they also -detect when the MD5 signature of the decoded audio does not match the -stored MD5 signature, even when the bitstream is valid. -.PP -flac can also re-encode FLAC files. -In other words, you can specify a FLAC or Ogg FLAC file as an input to -the encoder and it will decoder it and re-encode it according to the -options you specify. -It will also preserve all the metadata unless you override it with other -options (e.g. -specifying new tags, seekpoints, cuesheet, padding, etc.). -.PP -flac has been tuned so that the default settings yield a good speed vs. -compression tradeoff for many kinds of input. -However, if you are looking to maximize the compression rate or speed, -or want to use the full power of FLAC\[cq]s metadata system, see the -page titled `About the FLAC Format' on the FLAC website. -.SH EXAMPLES -.PP -Some common \f[B]encoding\f[R] tasks using flac: -.TP -\f[V]flac abc.wav\f[R] -Encode abc.wav to abc.flac using the default compression setting. -abc.wav is not deleted. -.TP -\f[V]flac --delete-input-file abc.wav\f[R] -Like above, except abc.wav is deleted if there were no errors. -.TP -\f[V]flac --delete-input-file -w abc.wav\f[R] -Like above, except abc.wav is deleted if there were no errors or -warnings. -.TP -\f[V]flac --best abc.wav\f[R] -Encode abc.wav to abc.flac using the highest compression setting. -.TP -\f[V]flac --verify abc.wav\f[R] -Encode abc.wav to abc.flac and internally decode abc.flac to make sure -it matches abc.wav. -.TP -\f[V]flac -o my.flac abc.wav\f[R] -Encode abc.wav to my.flac. -.TP -\f[V]flac -T \[dq]TITLE=Bohemian Rhapsody\[dq] -T \[dq]ARTIST=Queen\[dq] abc.wav\f[R] -Encode abc.wav and add some tags at the same time to abc.flac. -.TP -\f[V]flac *.wav\f[R] -Encode all .wav files in the current directory. -.TP -\f[V]flac abc.aiff\f[R] -Encode abc.aiff to abc.flac. -.TP -\f[V]flac abc.rf64\f[R] -Encode abc.rf64 to abc.flac. -.TP -\f[V]flac abc.w64\f[R] -Encode abc.w64 to abc.flac. -.TP -\f[V]flac abc.flac --force\f[R] -This one\[cq]s a little tricky: notice that flac is in encode mode by -default (you have to specify -d to decode) so this command actually -recompresses abc.flac back to abc.flac. -\[en]force is needed to make sure you really want to overwrite abc.flac -with a new version. -Why would you want to do this? -It allows you to recompress an existing FLAC file with (usually) higher -compression options or a newer version of FLAC and preserve all the -metadata like tags too. -.PP -Some common \f[B]decoding\f[R] tasks using flac: -.TP -\f[V]flac -d abc.flac\f[R] -Decode abc.flac to abc.wav. -abc.flac is not deleted. -NOTE: Without -d it means re-encode abc.flac to abc.flac (see above). -.PP -\f[V]flac -d --force-aiff-format abc.flac\f[R] -.PD 0 -.P -.PD -\f[V]flac -d -o abc.aiff abc.flac\f[R] : Two different ways of decoding -abc.flac to abc.aiff (AIFF format). -abc.flac is not deleted. -.PP -\f[V]flac -d --force-rf64-format abc.flac\f[R] -.PD 0 -.P -.PD -\f[V]flac -d -o abc.rf64 abc.flac\f[R] : Two different ways of decoding -abc.flac to abc.rf64 (RF64 format). -abc.flac is not deleted. -.PP -\f[V]flac -d --force-wave64-format abc.flac\f[R] -.PD 0 -.P -.PD -\f[V]flac -d -o abc.w64 abc.flac\f[R] : Two different ways of decoding -abc.flac to abc.w64 (Wave64 format). -abc.flac is not deleted. -.TP -\f[V]flac -d -F abc.flac\f[R] -Decode abc.flac to abc.wav and don\[cq]t abort if errors are found -(useful for recovering as much as possible from corrupted files). -.SH OPTIONS -.PP -A summary of options is included below. -For a complete description, see the HTML documentation. -.SS GENERAL OPTIONS -.TP -\f[B]-v, --version\f[R] -Show the flac version number -.TP -\f[B]-h, --help\f[R] -Show basic usage and a list of all options -.TP -\f[B]-H, --explain\f[R] -Show detailed explanation of usage and all options -.TP -\f[B]-d, --decode\f[R] -Decode (the default behavior is to encode) -.TP -\f[B]-t, --test\f[R] -Test a flac encoded file (same as -d except no decoded file is written) -.TP -\f[B]-a, --analyze\f[R] -Analyze a FLAC encoded file (same as -d except an analysis file is -written) -.TP -\f[B]-c, --stdout\f[R] -Write output to stdout -.TP -\f[B]-s, --silent\f[R] -Silent mode (do not write runtime encode/decode statistics to stderr) -.TP -\f[B]--totally-silent\f[R] -Do not print anything of any kind, including warnings or errors. -The exit code will be the only way to determine successful completion. -.TP -\f[B]--no-utf8-convert\f[R] -Do not convert tags from local charset to UTF-8. -This is useful for scripts, and setting tags in situations where the -locale is wrong. -This option must appear before any tag options! -.TP -\f[B]-w, --warnings-as-errors\f[R] -Treat all warnings as errors (which cause flac to terminate with a -non-zero exit code). -.TP -\f[B]-f, --force\f[R] -Force overwriting of output files. -By default, flac warns that the output file already exists and continues -to the next file. -.TP -\f[B]-o\f[R] \f[I]filename\f[R]\f[B], --output-name=\f[R]\f[I]filename\f[R] -Force the output file name (usually flac just changes the extension). -May only be used when encoding a single file. -May not be used in conjunction with --output-prefix. -.TP -\f[B]--output-prefix=\f[R]\f[I]string\f[R] -Prefix each output file name with the given string. -This can be useful for encoding or decoding files to a different -directory. -Make sure if your string is a path name that it ends with a trailing -\[ga]/\[cq] (slash). -.TP -\f[B]--delete-input-file\f[R] -Automatically delete the input file after a successful encode or decode. -If there was an error (including a verify error) the input file is left -intact. -.TP -\f[B]--preserve-modtime\f[R] -Output files have their timestamps/permissions set to match those of -their inputs (this is default). -Use --no-preserve-modtime to make output files have the current time and -default permissions. -.TP -\f[B]--keep-foreign-metadata\f[R] -If encoding, save WAVE, RF64, or AIFF non-audio chunks in FLAC metadata. -If decoding, restore any saved non-audio chunks from FLAC metadata when -writing the decoded file. -Foreign metadata cannot be transcoded, e.g.\ WAVE chunks saved in a FLAC -file cannot be restored when decoding to AIFF. -Input and output must be regular files (not stdin or stdout). -.TP -\f[B]--keep-foreign-metadata-if-present\f[R] -Like --keep-foreign-metadata, but without throwing an error if foreign -metadata cannot be found or restored, instead printing a warning. -.TP -\f[B]--skip={\f[R]\f[I]#\f[R]\f[B]|\f[R]\f[I]mm:ss.ss\f[R]\f[B]}\f[R] -Skip over the first number of samples of the input. -This works for both encoding and decoding, but not testing. -The alternative form mm:ss.ss can be used to specify minutes, seconds, -and fractions of a second. -.TP -\f[B]--until={\f[R]\f[I]#\f[R]\f[B]|[\f[R]\f[I]+\f[R]\f[B]|\f[R]\f[I]-\f[R]\f[B]]\f[R]\f[I]mm:ss.ss\f[R]\f[B]}\f[R] -Stop at the given sample number for each input file. -This works for both encoding and decoding, but not testing. -The given sample number is not included in the decoded output. -The alternative form mm:ss.ss can be used to specify minutes, seconds, -and fractions of a second. -If a \[ga]+\[cq] (plus) sign is at the beginning, the --until point is -relative to the --skip point. -If a \[ga]-\[cq] (minus) sign is at the beginning, the --until point is -relative to end of the audio. -.TP -\f[B]--ogg\f[R] -When encoding, generate Ogg FLAC output instead of native FLAC. -Ogg FLAC streams are FLAC streams wrapped in an Ogg transport layer. -The resulting file should have an `.oga' extension and will still be -decodable by flac. -When decoding, force the input to be treated as Ogg FLAC. -This is useful when piping input from stdin or when the filename does -not end in `.oga' or `.ogg'. -.TP -\f[B]--serial-number=\f[R]\f[I]#\f[R] -When used with --ogg, specifies the serial number to use for the first -Ogg FLAC stream, which is then incremented for each additional stream. -When encoding and no serial number is given, flac uses a random number -for the first stream, then increments it for each additional stream. -When decoding and no number is given, flac uses the serial number of the -first page. -.SS ANALYSIS OPTIONS -.TP -\f[B]--residual-text\f[R] -Includes the residual signal in the analysis file. -This will make the file very big, much larger than even the decoded -file. -.TP -\f[B]--residual-gnuplot\f[R] -Generates a gnuplot file for every subframe; each file will contain the -residual distribution of the subframe. -This will create a lot of files. -.SS DECODING OPTIONS -.TP -\f[B]--cue=[\f[R]\f[I]#.#\f[R]\f[B]][-[\f[R]\f[I]#.#\f[R]\f[B]]]\f[R] -Set the beginning and ending cuepoints to decode. -The optional first #.# is the track and index point at which decoding -will start; the default is the beginning of the stream. -The optional second #.# is the track and index point at which decoding -will end; the default is the end of the stream. -If the cuepoint does not exist, the closest one before it (for the start -point) or after it (for the end point) will be used. -If those don\[cq]t exist, the start of the stream (for the start point) -or end of the stream (for the end point) will be used. -The cuepoints are merely translated into sample numbers then used as ---skip and --until. -A CD track can always be cued by, for example, --cue=9.1-10.1 for track -9, even if the CD has no 10th track. -.TP -\f[B]-F, --decode-through-errors\f[R] -By default flac stops decoding with an error and removes the partially -decoded file if it encounters a bitstream error. -With -F, errors are still printed but flac will continue decoding to -completion. -Note that errors may cause the decoded audio to be missing some samples -or have silent sections. -.TP -\f[B]--apply-replaygain-which-is-not-lossless[=]\f[R] -Applies ReplayGain values while decoding. -\f[B]WARNING: THIS IS NOT LOSSLESS. -DECODED AUDIO WILL NOT BE IDENTICAL TO THE ORIGINAL WITH THIS -OPTION.\f[R] This option is useful for example in transcoding media -servers, where the client does not support ReplayGain. -For details on the use of this option, see the section \f[B]ReplayGain -application specification\f[R]. -.SS ENCODING OPTIONS -.TP -\f[B]-V, --verify\f[R] -Verify a correct encoding by decoding the output in parallel and -comparing to the original -.TP -\f[B]--lax\f[R] -Allow encoder to generate non-Subset files. -The resulting FLAC file may not be streamable or might have trouble -being played in all players (especially hardware devices), so you should -only use this option in combination with custom encoding options meant -for archival. -.TP -\f[B]--replay-gain\f[R] -Calculate ReplayGain values and store them as FLAC tags, similar to -vorbisgain. -Title gains/peaks will be computed for each input file, and an album -gain/peak will be computed for all files. -All input files must have the same resolution, sample rate, and number -of channels. -Only mono and stereo files are allowed, and the sample rate must be one -of 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, or 48 kHz. -Also note that this option may leave a few extra bytes in a PADDING -block as the exact size of the tags is not known until all files are -processed. -Note that this option cannot be used when encoding to standard output -(stdout). -.TP -\f[B]--cuesheet=\f[R]\f[I]filename\f[R] -Import the given cuesheet file and store it in a CUESHEET metadata -block. -This option may only be used when encoding a single file. -A seekpoint will be added for each index point in the cuesheet to the -SEEKTABLE unless --no-cued-seekpoints is specified. -.TP -\f[B]--picture={\f[R]\f[I]FILENAME\f[R]\f[B]|\f[R]\f[I]SPECIFICATION\f[R]\f[B]}\f[R] -Import a picture and store it in a PICTURE metadata block. -More than one --picture option can be specified. -Either a filename for the picture file or a more complete specification -form can be used. -The SPECIFICATION is a string whose parts are separated by | (pipe) -characters. -Some parts may be left empty to invoke default values. -FILENAME is just shorthand for \[lq]||||FILENAME\[rq]. -For the format of SPECIFICATION, see the section \f[B]picture -specification\f[R]. -.TP -\f[B]--sector-align\f[R] -Align encoding of multiple CD format files on sector boundaries. -See the HTML documentation for more information. -This option is DEPRECATED and may not exist in future versions of flac. -.TP -\f[B]--ignore-chunk-sizes\f[R] -When encoding to flac, ignore the file size headers in WAV and AIFF -files to attempt to work around problems with over-sized or malformed -files. -WAV and AIFF files both have an unsigned 32 bit numbers in the file -header which specifes the length of audio data. -Since this number is unsigned 32 bits, that limits the size of a valid -file to being just over 4 Gigabytes. -Files larger than this are mal-formed, but should be read correctly -using this option. -.TP -\f[B]-S {\f[R]\f[I]#\f[R]\f[B]|\f[R]\f[I]X\f[R]\f[B]|\f[R]\f[I]#x\f[R]\f[B]|\f[R]\f[I]#s\f[R]\f[B]}, --seekpoint={\f[R]\f[I]#\f[R]\f[B]|\f[R]\f[I]X\f[R]\f[B]|\f[R]\f[I]#x\f[R]\f[B]|\f[R]\f[I]#s\f[R]\f[B]}\f[R] -Include a point or points in a SEEKTABLE. -Using #, a seek point at that sample number is added. -Using X, a placeholder point is added at the end of a the table. -Using #x, # evenly spaced seek points will be added, the first being at -sample 0. -Using #s, a seekpoint will be added every # seconds (# does not have to -be a whole number; it can be, for example, 9.5, meaning a seekpoint -every 9.5 seconds). -You may use many -S options; the resulting SEEKTABLE will be the -unique-ified union of all such values. -With no -S options, flac defaults to `-S 10s'. -Use --no-seektable for no SEEKTABLE. -Note: `-S #x' and `-S #s' will not work if the encoder can\[cq]t -determine the input size before starting. -Note: if you use `-S #' and # is >= samples in the input, there will be -either no seek point entered (if the input size is determinable before -encoding starts) or a placeholder point (if input size is not -determinable). -.TP -\f[B]-P\f[R] \f[I]#\f[R]\f[B], --padding=\f[R]\f[I]#\f[R] -Tell the encoder to write a PADDING metadata block of the given length -(in bytes) after the STREAMINFO block. -This is useful if you plan to tag the file later with an APPLICATION -block; instead of having to rewrite the entire file later just to insert -your block, you can write directly over the PADDING block. -Note that the total length of the PADDING block will be 4 bytes longer -than the length given because of the 4 metadata block header bytes. -You can force no PADDING block at all to be written with --no-padding. -The encoder writes a PADDING block of 8192 bytes by default (or 65536 -bytes if the input audio stream is more that 20 minutes long). -.TP -\f[B]-T\f[R] \f[I]FIELD=VALUE\f[R]\f[B], --tag=\f[R]\f[I]FIELD=VALUE\f[R] -Add a FLAC tag. -The comment must adhere to the Vorbis comment spec; i.e.\ the FIELD must -contain only legal characters, terminated by an `equals' sign. -Make sure to quote the comment if necessary. -This option may appear more than once to add several comments. -NOTE: all tags will be added to all encoded files. -.TP -\f[B]--tag-from-file=\f[R]\f[I]FIELD=FILENAME\f[R] -Like --tag, except FILENAME is a file whose contents will be read -verbatim to set the tag value. -The contents will be converted to UTF-8 from the local charset. -This can be used to store a cuesheet in a tag -(e.g.\ --tag-from-file=\[lq]CUESHEET=image.cue\[rq]). -Do not try to store binary data in tag fields! -Use APPLICATION blocks for that. -.TP -\f[B]-b\f[R] \f[I]#\f[R]\f[B], --blocksize=\f[R]\f[I]#\f[R] -Specify the blocksize in samples. -The default is 1152 for -l 0, else 4096. -For subset streams this must be <= 4608 if the samplerate <= 48kHz, for -subset streams with higher samplerates it must be <= 16384. -.TP -\f[B]-m, --mid-side\f[R] -Try mid-side coding for each frame (stereo input only) -.TP -\f[B]-M, --adaptive-mid-side\f[R] -Adaptive mid-side coding for all frames (stereo input only) -.TP -\f[B]-0..-8, --compression-level-0..--compression-level-8\f[R] -Fastest compression..highest compression (default is -5). -These are synonyms for other options: -.TP -\f[B]-0, --compression-level-0\f[R] -Synonymous with -l 0 -b 1152 -r 3 --no-mid-side -.TP -\f[B]-1, --compression-level-1\f[R] -Synonymous with -l 0 -b 1152 -M -r 3 -.TP -\f[B]-2, --compression-level-2\f[R] -Synonymous with -l 0 -b 1152 -m -r 3 -.TP -\f[B]-3, --compression-level-3\f[R] -Synonymous with -l 6 -b 4096 -r 4 --no-mid-side -.TP -\f[B]-4, --compression-level-4\f[R] -Synonymous with -l 8 -b 4096 -M -r 4 -.TP -\f[B]-5, --compression-level-5\f[R] -Synonymous with -l 8 -b 4096 -m -r 5 -.TP -\f[B]-6, --compression-level-6\f[R] -Synonymous with -l 8 -b 4096 -m -r 6 -A subdivide_tukey(2) -.TP -\f[B]-7, --compression-level-7\f[R] -Synonymous with -l 12 -b 4096 -m -r 6 -A subdivide_tukey(2) -.TP -\f[B]-8, --compression-level-8\f[R] -Synonymous with -l 12 -b 4096 -m -r 6 -A subdivide_tukey(3) -.TP -\f[B]--fast\f[R] -Fastest compression. -Currently synonymous with -0. -.TP -\f[B]--best\f[R] -Highest compression. -Currently synonymous with -8. -.TP -\f[B]-e, --exhaustive-model-search\f[R] -Do exhaustive model search (expensive!) -.TP -\f[B]-A\f[R] \f[I]function\f[R]\f[B], --apodization=\f[R]\f[I]function\f[R] -Window audio data with given the apodization function. -See section \f[B]Apodization functions\f[R] for details. -.TP -\f[B]-l\f[R] \f[I]#\f[R]\f[B], --max-lpc-order=\f[R]\f[I]#\f[R] -Specifies the maximum LPC order. -This number must be <= 32. -For subset streams, it must be <=12 if the sample rate is <=48kHz. -If 0, the encoder will not attempt generic linear prediction, and use -only fixed predictors. -Using fixed predictors is faster but usually results in files being -5-10% larger. -.TP -\f[B]-p, --qlp-coeff-precision-search\f[R] -Do exhaustive search of LP coefficient quantization (expensive!). -Overrides -q; does nothing if using -l 0 -.TP -\f[B]-q\f[R] \f[I]#\f[R]\f[B], --qlp-coeff-precision=\f[R]\f[I]#\f[R] -Precision of the quantized linear-predictor coefficients, 0 => let -encoder decide (min is 5, default is 0) -.TP -\f[B]-r [\f[R]\f[I]#\f[R]\f[B],]\f[R]\f[I]#\f[R]\f[B], --rice-partition-order=[\f[R]\f[I]#\f[R]\f[B],]\f[R]\f[I]#\f[R] -Set the [min,]max residual partition order (0..15). -min defaults to 0 if unspecified. -Default is -r 5. -.SS FORMAT OPTIONS -.TP -\f[B]--endian={\f[R]\f[I]big\f[R]\f[B]|\f[R]\f[I]little\f[R]\f[B]}\f[R] -Set the byte order for samples -.TP -\f[B]--channels=\f[R]\f[I]#\f[R] -Set number of channels. -.TP -\f[B]--bps=\f[R]\f[I]#\f[R] -Set bits per sample. -.TP -\f[B]--sample-rate=\f[R]\f[I]#\f[R] -Set sample rate (in Hz). -.TP -\f[B]--sign={\f[R]\f[I]signed\f[R]\f[B]|\f[R]\f[I]unsigned\f[R]\f[B]}\f[R] -Set the sign of samples (the default is signed). -.TP -\f[B]--input-size=\f[R]\f[I]#\f[R] -Specify the size of the raw input in bytes. -If you are encoding raw samples from stdin, you must set this option in -order to be able to use --skip, --until, --cuesheet, or other options -that need to know the size of the input beforehand. -If the size given is greater than what is found in the input stream, the -encoder will complain about an unexpected end-of-file. -If the size given is less, samples will be truncated. -.TP -\f[B]--force-raw-format\f[R] -Force input (when encoding) or output (when decoding) to be treated as -raw samples (even if filename ends in \f[I].wav\f[R]). -.TP -\f[B]--force-aiff-format\f[R] -Force the decoder to output AIFF format. -This option is not needed if the output filename (as set by -o) ends -with \f[I].aif\f[R] or \f[I].aiff\f[R]. -Also, this option has no effect when encoding since input AIFF is -auto-detected. -.TP -\f[B]--force-rf64-format\f[R] -Force the decoder to output RF64 format. -This option is not needed if the output filename (as set by -o) ends -with \f[I].rf64\f[R]. -Also, this option has no effect when encoding since input RF64 is -auto-detected. -.TP -\f[B]--force-wave64-format\f[R] -Force the decoder to output Wave64 format. -This option is not needed if the output filename (as set by -o) ends -with \f[I].w64\f[R]. -Also, this option has no effect when encoding since input Wave64 is -auto-detected. -.SS NEGATIVE OPTIONS -.PP -\f[B]--no-adaptive-mid-side\f[R] -.PD 0 -.P -.PD -\f[B]--no-cued-seekpoints\f[R] -.PD 0 -.P -.PD -\f[B]--no-decode-through-errors\f[R] -.PD 0 -.P -.PD -\f[B]--no-delete-input-file\f[R] -.PD 0 -.P -.PD -\f[B]--no-preserve-modtime\f[R] -.PD 0 -.P -.PD -\f[B]--no-keep-foreign-metadata\f[R] -.PD 0 -.P -.PD -\f[B]--no-exhaustive-model-search\f[R] -.PD 0 -.P -.PD -\f[B]--no-force\f[R] -.PD 0 -.P -.PD -\f[B]--no-lax\f[R] -.PD 0 -.P -.PD -\f[B]--no-mid-side\f[R] -.PD 0 -.P -.PD -\f[B]--no-ogg\f[R] -.PD 0 -.P -.PD -\f[B]--no-padding\f[R] -.PD 0 -.P -.PD -\f[B]--no-qlp-coeff-prec-search\f[R] -.PD 0 -.P -.PD -\f[B]--no-replay-gain\f[R] -.PD 0 -.P -.PD -\f[B]--no-residual-gnuplot\f[R] -.PD 0 -.P -.PD -\f[B]--no-residual-text\f[R] -.PD 0 -.P -.PD -\f[B]--no-sector-align\f[R] -.PD 0 -.P -.PD -\f[B]--no-seektable\f[R] -.PD 0 -.P -.PD -\f[B]--no-silent\f[R] -.PD 0 -.P -.PD -\f[B]--no-verify\f[R] -.PD 0 -.P -.PD -\f[B]--no-warnings-as-errors\f[R] -.PP -These flags can be used to invert the sense of the corresponding normal -option. -.SS ReplayGain application specification -.PP -The option ---apply-replaygain-which-is-not-lossless[=]\f[B] applies -ReplayGain values while decoding. -\f[R]WARNING: THIS IS NOT LOSSLESS. -DECODED AUDIO WILL NOT BE IDENTICAL TO THE ORIGINAL WITH THIS OPTION.** -This option is useful for example in transcoding media servers, where -the client does not support ReplayGain. -.PP -The equals sign and is optional. -If omitted, the default specification is 0aLn1. -.PP -The is a shorthand notation for describing how to apply -ReplayGain. -All components are optional but order is important. -`[]' means `optional'. -`|' means `or'. -`{}' means required. -The format is: -.PP -[][a|t][l|L][n{0|1|2|3}] -.PP -In which the following parameters are used: -.IP \[bu] 2 -\f[B]preamp\f[R]: A floating point number in dB. -This is added to the existing gain value. -.IP \[bu] 2 -\f[B]a|t\f[R]: Specify `a' to use the album gain, or `t' to use the -track gain. -If tags for the preferred kind (album/track) do not exist but tags for -the other (track/album) do, those will be used instead. -.IP \[bu] 2 -\f[B]l|L\f[R]: Specify `l' to peak-limit the output, so that the -ReplayGain peak value is full-scale. -Specify `L' to use a 6dB hard limiter that kicks in when the signal -approaches full-scale. -.IP \[bu] 2 -\f[B]n{0|1|2|3}\f[R]: Specify the amount of noise shaping. -ReplayGain synthesis happens in floating point; the result is dithered -before converting back to integer. -This quantization adds noise. -Noise shaping tries to move the noise where you won\[cq]t hear it as -much. -0 means no noise shaping, 1 means `low', 2 means `medium', 3 means -`high'. -.PP -For example, the default of 0aLn1 means 0dB preamp, use album gain, 6dB -hard limit, low noise shaping. ---apply-replaygain-which-is-not-lossless=3 means 3dB preamp, use album -gain, no limiting, no noise shaping. -.PP -flac uses the ReplayGain tags for the calculation. -If a stream does not have the required tags or they can\[cq]t be parsed, -decoding will continue with a warning, and no ReplayGain is applied to -that stream. -.SS Picture specification -.PP -This described the specification used for the \f[B]--picture\f[R] -option. -[TYPE]|[MIME-TYPE]|[DESCRIPTION]|[WIDTHxHEIGHTxDEPTH[/COLORS]]|FILE -.PP -TYPE is optional; it is a number from one of: -.IP " 0." 4 -Other -.IP " 1." 4 -32x32 pixels `file icon' (PNG only) -.IP " 2." 4 -Other file icon -.IP " 3." 4 -Cover (front) -.IP " 4." 4 -Cover (back) -.IP " 5." 4 -Leaflet page -.IP " 6." 4 -Media (e.g.\ label side of CD) -.IP " 7." 4 -Lead artist/lead performer/soloist -.IP " 8." 4 -Artist/performer -.IP " 9." 4 -Conductor -.IP "10." 4 -Band/Orchestra -.IP "11." 4 -Composer -.IP "12." 4 -Lyricist/text writer -.IP "13." 4 -Recording Location -.IP "14." 4 -During recording -.IP "15." 4 -During performance -.IP "16." 4 -Movie/video screen capture -.IP "17." 4 -A bright coloured fish -.IP "18." 4 -Illustration -.IP "19." 4 -Band/artist logotype -.IP "20." 4 -Publisher/Studio logotype -.PP -The default is 3 (front cover). -There may only be one picture each of type 1 and 2 in a file. -.PP -MIME-TYPE is optional; if left blank, it will be detected from the file. -For best compatibility with players, use pictures with MIME type -image/jpeg or image/png. -The MIME type can also be --> to mean that FILE is actually a URL to an -image, though this use is discouraged. -.PP -DESCRIPTION is optional; the default is an empty string. -.PP -The next part specifies the resolution and color information. -If the MIME-TYPE is image/jpeg, image/png, or image/gif, you can usually -leave this empty and they can be detected from the file. -Otherwise, you must specify the width in pixels, height in pixels, and -color depth in bits-per-pixel. -If the image has indexed colors you should also specify the number of -colors used. -When manually specified, it is not checked against the file for -accuracy. -.PP -FILE is the path to the picture file to be imported, or the URL if MIME -type is --> -.PP -For example, \[lq]|image/jpeg|||../cover.jpg\[rq] will embed the JPEG -file at ../cover.jpg, defaulting to type 3 (front cover) and an empty -description. -The resolution and color info will be retrieved from the file itself. -.PP -The specification -\[lq]4|-->|CD|320x300x24/173|http://blah.blah/backcover.tiff\[rq] will -embed the given URL, with type 4 (back cover), description \[lq]CD\[rq], -and a manually specified resolution of 320x300, 24 bits-per-pixel, and -173 colors. -The file at the URL will not be fetched; the URL itself is stored in the -PICTURE metadata block. -.SS Apodization functions -.PP -To improve LPC analysis, audio data is windowed . -The window can be selected with one or more \f[B]-A\f[R] options. -Possible functions are: bartlett, bartlett_hann, blackman, -blackman_harris_4term_92db, connes, flattop, gauss(STDDEV), hamming, -hann, kaiser_bessel, nuttall, rectangle, triangle, tukey(P), -partial_tukey(n[/ov[/P]]), punchout_tukey(n[/ov[/P]]), -subdivide_tukey(n[/P]) welch. -.IP \[bu] 2 -For gauss(STDDEV), STDDEV is the standard deviation (0 for the Debian GNU/Linux system (but may be used by -others). -It has been kept up-to-date by the Xiph.org Foundation. +.\" Automatically generated by Pandoc 2.9.2.1 +.\" +.TH "flac" "1" "" "Version 1.4.3" "Free Lossless Audio Codec conversion tool" +.hy +.SH NAME +.PP +flac - Free Lossless Audio Codec +.SH SYNOPSIS +.PP +\f[B]flac\f[R] [ \f[I]OPTIONS\f[R] ] [ \f[I]infile.wav\f[R] | +\f[I]infile.rf64\f[R] | \f[I]infile.aiff\f[R] | \f[I]infile.raw\f[R] | +\f[I]infile.flac\f[R] | \f[I]infile.oga\f[R] | \f[I]infile.ogg\f[R] | +\f[B]-\f[R] \f[I]\&...\f[R] ] +.PP +\f[B]flac\f[R] [ \f[B]-d\f[R] | \f[B]--decode\f[R] | \f[B]-t\f[R] | +\f[B]--test\f[R] | \f[B]-a\f[R] | \f[B]--analyze\f[R] ] [ +\f[I]OPTIONS\f[R] ] [ \f[I]infile.flac\f[R] | \f[I]infile.oga\f[R] | +\f[I]infile.ogg\f[R] | \f[B]-\f[R] \f[I]\&...\f[R] ] +.SH DESCRIPTION +.PP +\f[B]flac\f[R] is a command-line tool for encoding, decoding, testing +and analyzing FLAC streams. +.SH GENERAL USAGE +.PP +\f[B]flac\f[R] supports as input RIFF WAVE, Wave64, RF64, AIFF, FLAC or +Ogg FLAC format, or raw interleaved samples. +The decoder currently can output to RIFF WAVE, Wave64, RF64, or AIFF +format, or raw interleaved samples. +flac only supports linear PCM samples (in other words, no A-LAW, uLAW, +etc.), and the input must be between 4 and 32 bits per sample. +.PP +flac assumes that files ending in \[lq].wav\[rq] or that have the RIFF +WAVE header present are WAVE files, files ending in \[lq].w64\[rq] or +have the Wave64 header present are Wave64 files, files ending in +\[lq].rf64\[rq] or have the RF64 header present are RF64 files, files +ending in \[lq].aif\[rq] or \[lq].aiff\[rq] or have the AIFF header +present are AIFF files, files ending in \[lq].flac\[rq] or have the FLAC +header present are FLAC files and files ending in \[lq].oga\[rq] or +\[lq].ogg\[rq] or have the Ogg FLAC header present are Ogg FLAC files. +.PP +Other than this, flac makes no assumptions about file extensions, though +the convention is that FLAC files have the extension \[lq].flac\[rq] (or +\[lq].fla\[rq] on ancient \[lq]8.3\[rq] file systems like FAT-16). +.PP +Before going into the full command-line description, a few other things +help to sort it out: 1. +flac encodes by default, so you must use -d to decode 2. +the options -0 .. +-8 (or \[en]fast and \[en]best) that control the compression level +actually are just synonyms for different groups of specific encoding +options (described later) and you can get the same effect by using the +same options. +When specific options are specified they take priority over the +compression level no matter the order 3. +flac behaves similarly to gzip in the way it handles input and output +files 4. +the order in which options are specified is generally not important +.PP +Skip to the examples below for examples of some common tasks. +.PP +flac will be invoked one of four ways, depending on whether you are +encoding, decoding, testing, or analyzing. +Encoding is the default invocation, but can be switch to decoding with +\f[B]-d\f[R], analysis with \f[B]-a\f[R] or testing with \f[B]-t\f[R]. +Depending on which way is chosen, encoding, decoding, analysis or +testing options can be used, see section OPTIONS for details. +General options can be used for all. +.PP +If only one inputfile is specified, it may be \[lq]-\[rq] for stdin. +When stdin is used as input, flac will write to stdout. +Otherwise flac will perform the desired operation on each input file to +similarly named output files (meaning for encoding, the extension will +be replaced with \[lq].flac\[rq], or appended with \[lq].flac\[rq] if +the input file has no extension, and for decoding, the extension will be +\[lq].wav\[rq] for WAVE output and \[lq].raw\[rq] for raw output). +The original file is not deleted unless \[en]delete-input-file is +specified. +.PP +If you are encoding/decoding from stdin to a file, you should use the -o +option like so: +.IP +.nf +\f[C] +flac [options] -o outputfile +flac -d [options] -o outputfile +\f[R] +.fi +.PP +which are better than: +.IP +.nf +\f[C] +flac [options] > outputfile +flac -d [options] > outputfile +\f[R] +.fi +.PP +since the former allows flac to seek backwards to write the STREAMINFO +or RIFF WAVE header contents when necessary. +.PP +Also, you can force output data to go to stdout using -c. +.PP +To encode or decode files that start with a dash, use \[en] to signal +the end of options, to keep the filenames themselves from being treated +as options: +.IP +.nf +\f[C] +flac -V -- -01-filename.wav +\f[R] +.fi +.PP +The encoding options affect the compression ratio and encoding speed. +The format options are used to tell flac the arrangement of samples if +the input file (or output file when decoding) is a raw file. +If it is a RIFF WAVE, Wave64, RF64, or AIFF file the format options are +not needed since they are read from the file\[cq]s header. +.PP +In test mode, flac acts just like in decode mode, except no output file +is written. +Both decode and test modes detect errors in the stream, but they also +detect when the MD5 signature of the decoded audio does not match the +stored MD5 signature, even when the bitstream is valid. +.PP +flac can also re-encode FLAC files. +In other words, you can specify a FLAC or Ogg FLAC file as an input to +the encoder and it will decoder it and re-encode it according to the +options you specify. +It will also preserve all the metadata unless you override it with other +options (e.g. +specifying new tags, seekpoints, cuesheet, padding, etc.). +.PP +flac has been tuned so that the default settings yield a good speed vs. +compression tradeoff for many kinds of input. +However, if you are looking to maximize the compression rate or speed, +or want to use the full power of FLAC\[cq]s metadata system, see the +page titled `About the FLAC Format' on the FLAC website. +.SH EXAMPLES +.PP +Some common \f[B]encoding\f[R] tasks using flac: +.TP +\f[B]\f[CB]flac abc.wav\f[B]\f[R] +Encode abc.wav to abc.flac using the default compression setting. +abc.wav is not deleted. +.TP +\f[B]\f[CB]flac --delete-input-file abc.wav\f[B]\f[R] +Like above, except abc.wav is deleted if there were no errors. +.TP +\f[B]\f[CB]flac --delete-input-file -w abc.wav\f[B]\f[R] +Like above, except abc.wav is deleted if there were no errors or +warnings. +.TP +\f[B]\f[CB]flac --best abc.wav\f[B]\f[R] +Encode abc.wav to abc.flac using the highest compression setting. +.TP +\f[B]\f[CB]flac --verify abc.wav\f[B]\f[R] +Encode abc.wav to abc.flac and internally decode abc.flac to make sure +it matches abc.wav. +.TP +\f[B]\f[CB]flac -o my.flac abc.wav\f[B]\f[R] +Encode abc.wav to my.flac. +.TP +\f[B]\f[CB]flac -T \[dq]TITLE=Bohemian Rhapsody\[dq] -T \[dq]ARTIST=Queen\[dq] abc.wav\f[B]\f[R] +Encode abc.wav and add some tags at the same time to abc.flac. +.TP +\f[B]\f[CB]flac *.wav\f[B]\f[R] +Encode all .wav files in the current directory. +.TP +\f[B]\f[CB]flac abc.aiff\f[B]\f[R] +Encode abc.aiff to abc.flac. +.TP +\f[B]\f[CB]flac abc.rf64\f[B]\f[R] +Encode abc.rf64 to abc.flac. +.TP +\f[B]\f[CB]flac abc.w64\f[B]\f[R] +Encode abc.w64 to abc.flac. +.TP +\f[B]\f[CB]flac abc.flac --force\f[B]\f[R] +This one\[cq]s a little tricky: notice that flac is in encode mode by +default (you have to specify -d to decode) so this command actually +recompresses abc.flac back to abc.flac. +\[en]force is needed to make sure you really want to overwrite abc.flac +with a new version. +Why would you want to do this? +It allows you to recompress an existing FLAC file with (usually) higher +compression options or a newer version of FLAC and preserve all the +metadata like tags too. +.PP +Some common \f[B]decoding\f[R] tasks using flac: +.TP +\f[B]\f[CB]flac -d abc.flac\f[B]\f[R] +Decode abc.flac to abc.wav. +abc.flac is not deleted. +NOTE: Without -d it means re-encode abc.flac to abc.flac (see above). +.PP +\f[C]flac -d --force-aiff-format abc.flac\f[R] +.PD 0 +.P +.PD +\f[C]flac -d -o abc.aiff abc.flac\f[R] : Two different ways of decoding +abc.flac to abc.aiff (AIFF format). +abc.flac is not deleted. +.PP +\f[C]flac -d --force-rf64-format abc.flac\f[R] +.PD 0 +.P +.PD +\f[C]flac -d -o abc.rf64 abc.flac\f[R] : Two different ways of decoding +abc.flac to abc.rf64 (RF64 format). +abc.flac is not deleted. +.PP +\f[C]flac -d --force-wave64-format abc.flac\f[R] +.PD 0 +.P +.PD +\f[C]flac -d -o abc.w64 abc.flac\f[R] : Two different ways of decoding +abc.flac to abc.w64 (Wave64 format). +abc.flac is not deleted. +.TP +\f[B]\f[CB]flac -d -F abc.flac\f[B]\f[R] +Decode abc.flac to abc.wav and don\[cq]t abort if errors are found +(useful for recovering as much as possible from corrupted files). +.SH OPTIONS +.PP +A summary of options is included below. +For a complete description, see the HTML documentation. +.SS GENERAL OPTIONS +.TP +\f[B]-v, --version\f[R] +Show the flac version number +.TP +\f[B]-h, --help\f[R] +Show basic usage and a list of all options +.TP +\f[B]-H, --explain\f[R] +Show detailed explanation of usage and all options +.TP +\f[B]-d, --decode\f[R] +Decode (the default behavior is to encode) +.TP +\f[B]-t, --test\f[R] +Test a flac encoded file (same as -d except no decoded file is written) +.TP +\f[B]-a, --analyze\f[R] +Analyze a FLAC encoded file (same as -d except an analysis file is +written) +.TP +\f[B]-c, --stdout\f[R] +Write output to stdout +.TP +\f[B]-s, --silent\f[R] +Silent mode (do not write runtime encode/decode statistics to stderr) +.TP +\f[B]--totally-silent\f[R] +Do not print anything of any kind, including warnings or errors. +The exit code will be the only way to determine successful completion. +.TP +\f[B]--no-utf8-convert\f[R] +Do not convert tags from local charset to UTF-8. +This is useful for scripts, and setting tags in situations where the +locale is wrong. +This option must appear before any tag options! +.TP +\f[B]-w, --warnings-as-errors\f[R] +Treat all warnings as errors (which cause flac to terminate with a +non-zero exit code). +.TP +\f[B]-f, --force\f[R] +Force overwriting of output files. +By default, flac warns that the output file already exists and continues +to the next file. +.TP +\f[B]-o\f[R] \f[I]filename\f[R]\f[B], --output-name=\f[R]\f[I]filename\f[R] +Force the output file name (usually flac just changes the extension). +May only be used when encoding a single file. +May not be used in conjunction with --output-prefix. +.TP +\f[B]--output-prefix=\f[R]\f[I]string\f[R] +Prefix each output file name with the given string. +This can be useful for encoding or decoding files to a different +directory. +Make sure if your string is a path name that it ends with a trailing +\[ga]/\[cq] (slash). +.TP +\f[B]--delete-input-file\f[R] +Automatically delete the input file after a successful encode or decode. +If there was an error (including a verify error) the input file is left +intact. +.TP +\f[B]--preserve-modtime\f[R] +Output files have their timestamps/permissions set to match those of +their inputs (this is default). +Use --no-preserve-modtime to make output files have the current time and +default permissions. +.TP +\f[B]--keep-foreign-metadata\f[R] +If encoding, save WAVE, RF64, or AIFF non-audio chunks in FLAC metadata. +If decoding, restore any saved non-audio chunks from FLAC metadata when +writing the decoded file. +Foreign metadata cannot be transcoded, e.g.\ WAVE chunks saved in a FLAC +file cannot be restored when decoding to AIFF. +Input and output must be regular files (not stdin or stdout). +With this option, FLAC will pick the right output format on decoding. +.TP +\f[B]--keep-foreign-metadata-if-present\f[R] +Like --keep-foreign-metadata, but without throwing an error if foreign +metadata cannot be found or restored, instead printing a warning. +.TP +\f[B]--skip={\f[R]\f[I]#\f[R]\f[B]|\f[R]\f[I]mm:ss.ss\f[R]\f[B]}\f[R] +Skip over the first number of samples of the input. +This works for both encoding and decoding, but not testing. +The alternative form mm:ss.ss can be used to specify minutes, seconds, +and fractions of a second. +.TP +\f[B]--until={\f[R]\f[I]#\f[R]\f[B]|[\f[R]\f[I]+\f[R]\f[B]|\f[R]\f[I]-\f[R]\f[B]]\f[R]\f[I]mm:ss.ss\f[R]\f[B]}\f[R] +Stop at the given sample number for each input file. +This works for both encoding and decoding, but not testing. +The given sample number is not included in the decoded output. +The alternative form mm:ss.ss can be used to specify minutes, seconds, +and fractions of a second. +If a \[ga]+\[cq] (plus) sign is at the beginning, the --until point is +relative to the --skip point. +If a \[ga]-\[cq] (minus) sign is at the beginning, the --until point is +relative to end of the audio. +.TP +\f[B]--ogg\f[R] +When encoding, generate Ogg FLAC output instead of native FLAC. +Ogg FLAC streams are FLAC streams wrapped in an Ogg transport layer. +The resulting file should have an `.oga' extension and will still be +decodable by flac. +When decoding, force the input to be treated as Ogg FLAC. +This is useful when piping input from stdin or when the filename does +not end in `.oga' or `.ogg'. +.TP +\f[B]--serial-number=\f[R]\f[I]#\f[R] +When used with --ogg, specifies the serial number to use for the first +Ogg FLAC stream, which is then incremented for each additional stream. +When encoding and no serial number is given, flac uses a random number +for the first stream, then increments it for each additional stream. +When decoding and no number is given, flac uses the serial number of the +first page. +.SS ANALYSIS OPTIONS +.TP +\f[B]--residual-text\f[R] +Includes the residual signal in the analysis file. +This will make the file very big, much larger than even the decoded +file. +.TP +\f[B]--residual-gnuplot\f[R] +Generates a gnuplot file for every subframe; each file will contain the +residual distribution of the subframe. +This will create a lot of files. +.SS DECODING OPTIONS +.TP +\f[B]--cue=[\f[R]\f[I]#.#\f[R]\f[B]][-[\f[R]\f[I]#.#\f[R]\f[B]]]\f[R] +Set the beginning and ending cuepoints to decode. +The optional first #.# is the track and index point at which decoding +will start; the default is the beginning of the stream. +The optional second #.# is the track and index point at which decoding +will end; the default is the end of the stream. +If the cuepoint does not exist, the closest one before it (for the start +point) or after it (for the end point) will be used. +If those don\[cq]t exist, the start of the stream (for the start point) +or end of the stream (for the end point) will be used. +The cuepoints are merely translated into sample numbers then used as +--skip and --until. +A CD track can always be cued by, for example, --cue=9.1-10.1 for track +9, even if the CD has no 10th track. +.TP +\f[B]-F, --decode-through-errors\f[R] +By default flac stops decoding with an error and removes the partially +decoded file if it encounters a bitstream error. +With -F, errors are still printed but flac will continue decoding to +completion. +Note that errors may cause the decoded audio to be missing some samples +or have silent sections. +.TP +\f[B]--apply-replaygain-which-is-not-lossless[=]\f[R] +Applies ReplayGain values while decoding. +\f[B]WARNING: THIS IS NOT LOSSLESS. DECODED AUDIO WILL NOT BE IDENTICAL +TO THE ORIGINAL WITH THIS OPTION.\f[R] This option is useful for example +in transcoding media servers, where the client does not support +ReplayGain. +For details on the use of this option, see the section \f[B]ReplayGain +application specification\f[R]. +.SS ENCODING OPTIONS +.TP +\f[B]-V, --verify\f[R] +Verify a correct encoding by decoding the output in parallel and +comparing to the original +.TP +\f[B]--lax\f[R] +Allow encoder to generate non-Subset files. +The resulting FLAC file may not be streamable or might have trouble +being played in all players (especially hardware devices), so you should +only use this option in combination with custom encoding options meant +for archival. +.TP +\f[B]--replay-gain\f[R] +Calculate ReplayGain values and store them as FLAC tags, similar to +vorbisgain. +Title gains/peaks will be computed for each input file, and an album +gain/peak will be computed for all files. +All input files must have the same resolution, sample rate, and number +of channels. +Only mono and stereo files are allowed, and the sample rate must be 8, +11.025, 12, 16, 18.9, 22.05, 24, 28, 32, 36, 37.8, 44.1, 48, 56, 64, 72, +75.6, 88.2, 96, 112, 128, 144, 151.2, 176.4, 192, 224, 256, 288, 302.4, +352.8, 384, 448, 512, 576, or 604.8 kHz. +Also note that this option may leave a few extra bytes in a PADDING +block as the exact size of the tags is not known until all files are +processed. +Note that this option cannot be used when encoding to standard output +(stdout). +.TP +\f[B]--cuesheet=\f[R]\f[I]filename\f[R] +Import the given cuesheet file and store it in a CUESHEET metadata +block. +This option may only be used when encoding a single file. +A seekpoint will be added for each index point in the cuesheet to the +SEEKTABLE unless --no-cued-seekpoints is specified. +.TP +\f[B]--picture={\f[R]\f[I]FILENAME\f[R]\f[B]|\f[R]\f[I]SPECIFICATION\f[R]\f[B]}\f[R] +Import a picture and store it in a PICTURE metadata block. +More than one --picture option can be specified. +Either a filename for the picture file or a more complete specification +form can be used. +The SPECIFICATION is a string whose parts are separated by | (pipe) +characters. +Some parts may be left empty to invoke default values. +FILENAME is just shorthand for \[lq]||||FILENAME\[rq]. +For the format of SPECIFICATION, see the section \f[B]picture +specification\f[R]. +.TP +\f[B]--ignore-chunk-sizes\f[R] +When encoding to flac, ignore the file size headers in WAV and AIFF +files to attempt to work around problems with over-sized or malformed +files. +WAV and AIFF files both have an unsigned 32 bit numbers in the file +header which specifes the length of audio data. +Since this number is unsigned 32 bits, that limits the size of a valid +file to being just over 4 Gigabytes. +Files larger than this are mal-formed, but should be read correctly +using this option. +.TP +\f[B]-S {\f[R]\f[I]#\f[R]\f[B]|\f[R]\f[I]X\f[R]\f[B]|\f[R]\f[I]#x\f[R]\f[B]|\f[R]\f[I]#s\f[R]\f[B]}, --seekpoint={\f[R]\f[I]#\f[R]\f[B]|\f[R]\f[I]X\f[R]\f[B]|\f[R]\f[I]#x\f[R]\f[B]|\f[R]\f[I]#s\f[R]\f[B]}\f[R] +Include a point or points in a SEEKTABLE. +Using #, a seek point at that sample number is added. +Using X, a placeholder point is added at the end of a the table. +Using #x, # evenly spaced seek points will be added, the first being at +sample 0. +Using #s, a seekpoint will be added every # seconds (# does not have to +be a whole number; it can be, for example, 9.5, meaning a seekpoint +every 9.5 seconds). +You may use many -S options; the resulting SEEKTABLE will be the +unique-ified union of all such values. +With no -S options, flac defaults to `-S 10s'. +Use --no-seektable for no SEEKTABLE. +Note: `-S #x' and `-S #s' will not work if the encoder can\[cq]t +determine the input size before starting. +Note: if you use `-S #' and # is >= samples in the input, there will be +either no seek point entered (if the input size is determinable before +encoding starts) or a placeholder point (if input size is not +determinable). +.TP +\f[B]-P\f[R] \f[I]#\f[R]\f[B], --padding=\f[R]\f[I]#\f[R] +Tell the encoder to write a PADDING metadata block of the given length +(in bytes) after the STREAMINFO block. +This is useful if you plan to tag the file later with an APPLICATION +block; instead of having to rewrite the entire file later just to insert +your block, you can write directly over the PADDING block. +Note that the total length of the PADDING block will be 4 bytes longer +than the length given because of the 4 metadata block header bytes. +You can force no PADDING block at all to be written with --no-padding. +The encoder writes a PADDING block of 8192 bytes by default (or 65536 +bytes if the input audio stream is more that 20 minutes long). +.TP +\f[B]-T\f[R] \f[I]FIELD=VALUE\f[R]\f[B], --tag=\f[R]\f[I]FIELD=VALUE\f[R] +Add a FLAC tag. +The comment must adhere to the Vorbis comment spec; i.e.\ the FIELD must +contain only legal characters, terminated by an `equals' sign. +Make sure to quote the comment if necessary. +This option may appear more than once to add several comments. +NOTE: all tags will be added to all encoded files. +.TP +\f[B]--tag-from-file=\f[R]\f[I]FIELD=FILENAME\f[R] +Like --tag, except FILENAME is a file whose contents will be read +verbatim to set the tag value. +The contents will be converted to UTF-8 from the local charset. +This can be used to store a cuesheet in a tag +(e.g.\ --tag-from-file=\[lq]CUESHEET=image.cue\[rq]). +Do not try to store binary data in tag fields! Use APPLICATION blocks +for that. +.TP +\f[B]-b\f[R] \f[I]#\f[R]\f[B], --blocksize=\f[R]\f[I]#\f[R] +Specify the blocksize in samples. +The default is 1152 for -l 0, else 4096. +For subset streams this must be <= 4608 if the samplerate <= 48kHz, for +subset streams with higher samplerates it must be <= 16384. +.TP +\f[B]-m, --mid-side\f[R] +Try mid-side coding for each frame (stereo input only) +.TP +\f[B]-M, --adaptive-mid-side\f[R] +Adaptive mid-side coding for all frames (stereo input only) +.TP +\f[B]-0..-8, --compression-level-0..--compression-level-8\f[R] +Fastest compression..highest compression (default is -5). +These are synonyms for other options: +.TP +\f[B]-0, --compression-level-0\f[R] +Synonymous with -l 0 -b 1152 -r 3 --no-mid-side +.TP +\f[B]-1, --compression-level-1\f[R] +Synonymous with -l 0 -b 1152 -M -r 3 +.TP +\f[B]-2, --compression-level-2\f[R] +Synonymous with -l 0 -b 1152 -m -r 3 +.TP +\f[B]-3, --compression-level-3\f[R] +Synonymous with -l 6 -b 4096 -r 4 --no-mid-side +.TP +\f[B]-4, --compression-level-4\f[R] +Synonymous with -l 8 -b 4096 -M -r 4 +.TP +\f[B]-5, --compression-level-5\f[R] +Synonymous with -l 8 -b 4096 -m -r 5 +.TP +\f[B]-6, --compression-level-6\f[R] +Synonymous with -l 8 -b 4096 -m -r 6 -A subdivide_tukey(2) +.TP +\f[B]-7, --compression-level-7\f[R] +Synonymous with -l 12 -b 4096 -m -r 6 -A subdivide_tukey(2) +.TP +\f[B]-8, --compression-level-8\f[R] +Synonymous with -l 12 -b 4096 -m -r 6 -A subdivide_tukey(3) +.TP +\f[B]--fast\f[R] +Fastest compression. +Currently synonymous with -0. +.TP +\f[B]--best\f[R] +Highest compression. +Currently synonymous with -8. +.TP +\f[B]-e, --exhaustive-model-search\f[R] +Do exhaustive model search (expensive!) +.TP +\f[B]-A\f[R] \f[I]function\f[R]\f[B], --apodization=\f[R]\f[I]function\f[R] +Window audio data with given the apodization function. +See section \f[B]Apodization functions\f[R] for details. +.TP +\f[B]-l\f[R] \f[I]#\f[R]\f[B], --max-lpc-order=\f[R]\f[I]#\f[R] +Specifies the maximum LPC order. +This number must be <= 32. +For subset streams, it must be <=12 if the sample rate is <=48kHz. +If 0, the encoder will not attempt generic linear prediction, and use +only fixed predictors. +Using fixed predictors is faster but usually results in files being +5-10% larger. +.TP +\f[B]-p, --qlp-coeff-precision-search\f[R] +Do exhaustive search of LP coefficient quantization (expensive!). +Overrides -q; does nothing if using -l 0 +.TP +\f[B]-q\f[R] \f[I]#\f[R]\f[B], --qlp-coeff-precision=\f[R]\f[I]#\f[R] +Precision of the quantized linear-predictor coefficients, 0 => let +encoder decide (min is 5, default is 0) +.TP +\f[B]-r [\f[R]\f[I]#\f[R]\f[B],]\f[R]\f[I]#\f[R]\f[B], --rice-partition-order=[\f[R]\f[I]#\f[R]\f[B],]\f[R]\f[I]#\f[R] +Set the [min,]max residual partition order (0..15). +min defaults to 0 if unspecified. +Default is -r 5. +.SS FORMAT OPTIONS +.TP +\f[B]--endian={\f[R]\f[I]big\f[R]\f[B]|\f[R]\f[I]little\f[R]\f[B]}\f[R] +Set the byte order for samples +.TP +\f[B]--channels=\f[R]\f[I]#\f[R] +Set number of channels. +.TP +\f[B]--bps=\f[R]\f[I]#\f[R] +Set bits per sample. +.TP +\f[B]--sample-rate=\f[R]\f[I]#\f[R] +Set sample rate (in Hz). +.TP +\f[B]--sign={\f[R]\f[I]signed\f[R]\f[B]|\f[R]\f[I]unsigned\f[R]\f[B]}\f[R] +Set the sign of samples. +.TP +\f[B]--input-size=\f[R]\f[I]#\f[R] +Specify the size of the raw input in bytes. +If you are encoding raw samples from stdin, you must set this option in +order to be able to use --skip, --until, --cuesheet, or other options +that need to know the size of the input beforehand. +If the size given is greater than what is found in the input stream, the +encoder will complain about an unexpected end-of-file. +If the size given is less, samples will be truncated. +.TP +\f[B]--force-raw-format\f[R] +Force input (when encoding) or output (when decoding) to be treated as +raw samples (even if filename ends in \f[I].wav\f[R]). +.PP +\f[B]--force-aiff-format\f[R] +.PD 0 +.P +.PD +\f[B]--force-rf64-format\f[R] +.PD 0 +.P +.PD +\f[B]--force-wave64-format\f[R] : Force the decoder to output +AIFF/RF64/WAVE64 format respectively. +This option is not needed if the output filename (as set by -o) ends +with \f[I].aif\f[R] or \f[I].aiff\f[R], \f[I].rf64\f[R] and +\f[I].w64\f[R] respectively. +Also, this option has no effect when encoding since input is +auto-detected. +When none of these options nor \[en]keep-foreign-metadata are given and +no output filename is set, the output format is WAV by default. +.PP +\f[B]--force-legacy-wave-format\f[R] +.PD 0 +.P +.PD +\f[B]--force-extensible-wave-format\f[R] : Instruct the decoder to +output a WAVE file with WAVE_FORMAT_PCM and WAVE_FORMAT_EXTENSIBLE +respectively. +If none of these options nor \[en]keep-foreign-metadata are given, FLAC +outputs WAVE_FORMAT_PCM for mono or stereo with a bit depth of 8 or 16 +bits, and WAVE_FORMAT_EXTENSIBLE for all other audio formats. +.PP +\f[B]--force-aiff-c-none-format\f[R] +.PD 0 +.P +.PD +\f[B]--force-aiff-c-sowt-format\f[R] : Instruct the decoder to output an +AIFF-C file with format NONE and sowt respectively. +.SS NEGATIVE OPTIONS +.PP +\f[B]--no-adaptive-mid-side\f[R] +.PD 0 +.P +.PD +\f[B]--no-cued-seekpoints\f[R] +.PD 0 +.P +.PD +\f[B]--no-decode-through-errors\f[R] +.PD 0 +.P +.PD +\f[B]--no-delete-input-file\f[R] +.PD 0 +.P +.PD +\f[B]--no-preserve-modtime\f[R] +.PD 0 +.P +.PD +\f[B]--no-keep-foreign-metadata\f[R] +.PD 0 +.P +.PD +\f[B]--no-exhaustive-model-search\f[R] +.PD 0 +.P +.PD +\f[B]--no-force\f[R] +.PD 0 +.P +.PD +\f[B]--no-lax\f[R] +.PD 0 +.P +.PD +\f[B]--no-mid-side\f[R] +.PD 0 +.P +.PD +\f[B]--no-ogg\f[R] +.PD 0 +.P +.PD +\f[B]--no-padding\f[R] +.PD 0 +.P +.PD +\f[B]--no-qlp-coeff-prec-search\f[R] +.PD 0 +.P +.PD +\f[B]--no-replay-gain\f[R] +.PD 0 +.P +.PD +\f[B]--no-residual-gnuplot\f[R] +.PD 0 +.P +.PD +\f[B]--no-residual-text\f[R] +.PD 0 +.P +.PD +\f[B]--no-seektable\f[R] +.PD 0 +.P +.PD +\f[B]--no-silent\f[R] +.PD 0 +.P +.PD +\f[B]--no-verify\f[R] +.PD 0 +.P +.PD +\f[B]--no-warnings-as-errors\f[R] +.PP +These flags can be used to invert the sense of the corresponding normal +option. +.SS ReplayGain application specification +.PP +The option +--apply-replaygain-which-is-not-lossless[=]\f[B] applies +ReplayGain values while decoding. \f[R]WARNING: THIS IS NOT LOSSLESS. +DECODED AUDIO WILL NOT BE IDENTICAL TO THE ORIGINAL WITH THIS OPTION.** +This option is useful for example in transcoding media servers, where +the client does not support ReplayGain. +.PP +The equals sign and is optional. +If omitted, the default specification is 0aLn1. +.PP +The is a shorthand notation for describing how to apply +ReplayGain. +All components are optional but order is important. +`[]' means `optional'. +`|' means `or'. +`{}' means required. +The format is: +.PP +[][a|t][l|L][n{0|1|2|3}] +.PP +In which the following parameters are used: +.IP \[bu] 2 +\f[B]preamp\f[R]: A floating point number in dB. +This is added to the existing gain value. +.IP \[bu] 2 +\f[B]a|t\f[R]: Specify `a' to use the album gain, or `t' to use the +track gain. +If tags for the preferred kind (album/track) do not exist but tags for +the other (track/album) do, those will be used instead. +.IP \[bu] 2 +\f[B]l|L\f[R]: Specify `l' to peak-limit the output, so that the +ReplayGain peak value is full-scale. +Specify `L' to use a 6dB hard limiter that kicks in when the signal +approaches full-scale. +.IP \[bu] 2 +\f[B]n{0|1|2|3}\f[R]: Specify the amount of noise shaping. +ReplayGain synthesis happens in floating point; the result is dithered +before converting back to integer. +This quantization adds noise. +Noise shaping tries to move the noise where you won\[cq]t hear it as +much. +0 means no noise shaping, 1 means `low', 2 means `medium', 3 means +`high'. +.PP +For example, the default of 0aLn1 means 0dB preamp, use album gain, 6dB +hard limit, low noise shaping. +--apply-replaygain-which-is-not-lossless=3 means 3dB preamp, use album +gain, no limiting, no noise shaping. +.PP +flac uses the ReplayGain tags for the calculation. +If a stream does not have the required tags or they can\[cq]t be parsed, +decoding will continue with a warning, and no ReplayGain is applied to +that stream. +.SS Picture specification +.PP +This described the specification used for the \f[B]--picture\f[R] +option. +[TYPE]|[MIME-TYPE]|[DESCRIPTION]|[WIDTHxHEIGHTxDEPTH[/COLORS]]|FILE +.PP +TYPE is optional; it is a number from one of: +.IP " 0." 4 +Other +.IP " 1." 4 +32x32 pixels `file icon' (PNG only) +.IP " 2." 4 +Other file icon +.IP " 3." 4 +Cover (front) +.IP " 4." 4 +Cover (back) +.IP " 5." 4 +Leaflet page +.IP " 6." 4 +Media (e.g.\ label side of CD) +.IP " 7." 4 +Lead artist/lead performer/soloist +.IP " 8." 4 +Artist/performer +.IP " 9." 4 +Conductor +.IP "10." 4 +Band/Orchestra +.IP "11." 4 +Composer +.IP "12." 4 +Lyricist/text writer +.IP "13." 4 +Recording Location +.IP "14." 4 +During recording +.IP "15." 4 +During performance +.IP "16." 4 +Movie/video screen capture +.IP "17." 4 +A bright coloured fish +.IP "18." 4 +Illustration +.IP "19." 4 +Band/artist logotype +.IP "20." 4 +Publisher/Studio logotype +.PP +The default is 3 (front cover). +There may only be one picture each of type 1 and 2 in a file. +.PP +MIME-TYPE is optional; if left blank, it will be detected from the file. +For best compatibility with players, use pictures with MIME type +image/jpeg or image/png. +The MIME type can also be --> to mean that FILE is actually a URL to an +image, though this use is discouraged. +.PP +DESCRIPTION is optional; the default is an empty string. +.PP +The next part specifies the resolution and color information. +If the MIME-TYPE is image/jpeg, image/png, or image/gif, you can usually +leave this empty and they can be detected from the file. +Otherwise, you must specify the width in pixels, height in pixels, and +color depth in bits-per-pixel. +If the image has indexed colors you should also specify the number of +colors used. +When manually specified, it is not checked against the file for +accuracy. +.PP +FILE is the path to the picture file to be imported, or the URL if MIME +type is --> +.PP +For example, \[lq]|image/jpeg|||../cover.jpg\[rq] will embed the JPEG +file at ../cover.jpg, defaulting to type 3 (front cover) and an empty +description. +The resolution and color info will be retrieved from the file itself. +.PP +The specification +\[lq]4|-->|CD|320x300x24/173|http://blah.blah/backcover.tiff\[rq] will +embed the given URL, with type 4 (back cover), description \[lq]CD\[rq], +and a manually specified resolution of 320x300, 24 bits-per-pixel, and +173 colors. +The file at the URL will not be fetched; the URL itself is stored in the +PICTURE metadata block. +.SS Apodization functions +.PP +To improve LPC analysis, audio data is windowed . +The window can be selected with one or more \f[B]-A\f[R] options. +Possible functions are: bartlett, bartlett_hann, blackman, +blackman_harris_4term_92db, connes, flattop, gauss(STDDEV), hamming, +hann, kaiser_bessel, nuttall, rectangle, triangle, tukey(P), +partial_tukey(n[/ov[/P]]), punchout_tukey(n[/ov[/P]]), +subdivide_tukey(n[/P]) welch. +.IP \[bu] 2 +For gauss(STDDEV), STDDEV is the standard deviation (0 for the Debian GNU/Linux system (but may be used by +others). +It has been kept up-to-date by the Xiph.org Foundation. diff -Nru flac-1.4.2+ds/man/flac.md flac-1.4.3+ds1/man/flac.md --- flac-1.4.2+ds/man/flac.md 2022-10-21 17:32:48.947456900 +0000 +++ flac-1.4.3+ds1/man/flac.md 2023-06-22 08:50:23.505675574 +0000 @@ -1,4 +1,4 @@ -% flac(1) Version 1.4.2 | Free Lossless Audio Codec conversion tool +% flac(1) Version 1.4.3 | Free Lossless Audio Codec conversion tool # NAME @@ -262,7 +262,8 @@ metadata when writing the decoded file. Foreign metadata cannot be transcoded, e.g. WAVE chunks saved in a FLAC file cannot be restored when decoding to AIFF. Input and output must be regular files (not - stdin or stdout). + stdin or stdout). With this option, FLAC will pick the right output + format on decoding. **\--keep-foreign-metadata-if-present** : Like \--keep-foreign-metadata, but without throwing an error if @@ -360,11 +361,13 @@ and an album gain/peak will be computed for all files. All input files must have the same resolution, sample rate, and number of channels. Only mono and stereo files are allowed, and the sample - rate must be one of 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, or 48 - kHz. Also note that this option may leave a few extra bytes in a - PADDING block as the exact size of the tags is not known until all - files are processed. Note that this option cannot be used when - encoding to standard output (stdout). + rate must be 8, 11.025, 12, 16, 18.9, 22.05, 24, 28, 32, 36, 37.8, + 44.1, 48, 56, 64, 72, 75.6, 88.2, 96, 112, 128, 144, 151.2, 176.4, + 192, 224, 256, 288, 302.4, 352.8, 384, 448, 512, 576, or 604.8 kHz. + Also note that this option may leave a few extra bytes in a PADDING + block as the exact size of the tags is not known until all files + are processed. Note that this option cannot be used when encoding + to standard output (stdout). **\--cuesheet=***filename* : Import the given cuesheet file and store it in a CUESHEET metadata @@ -381,11 +384,6 @@ FILENAME is just shorthand for "\|\|\|\|FILENAME". For the format of SPECIFICATION, see the section **picture specification**. -**\--sector-align** -: Align encoding of multiple CD format files on sector boundaries. See the - HTML documentation for more information. This option is DEPRECATED and - may not exist in future versions of flac. - **\--ignore-chunk-sizes** : When encoding to flac, ignore the file size headers in WAV and AIFF files to attempt to work around problems with over-sized or malformed @@ -527,7 +525,7 @@ : Set sample rate (in Hz). **\--sign={***signed***\|***unsigned***}** -: Set the sign of samples (the default is signed). +: Set the sign of samples. **\--input-size=***\#* : Specify the size of the raw input in bytes. If you are encoding raw @@ -542,22 +540,29 @@ : Force input (when encoding) or output (when decoding) to be treated as raw samples (even if filename ends in *.wav*). -**\--force-aiff-format** -: Force the decoder to output AIFF format. This option is not needed if - the output filename (as set by -o) ends with *.aif* or *.aiff*. Also, - this option has no effect when encoding since input AIFF is - auto-detected. - -**\--force-rf64-format** -: Force the decoder to output RF64 format. This option is not needed if - the output filename (as set by -o) ends with *.rf64*. Also, this - option has no effect when encoding since input RF64 is auto-detected. - +**\--force-aiff-format** +**\--force-rf64-format** **\--force-wave64-format** -: Force the decoder to output Wave64 format. This option is not needed - if the output filename (as set by -o) ends with *.w64*. Also, this - option has no effect when encoding since input Wave64 is - auto-detected. +: Force the decoder to output AIFF/RF64/WAVE64 format respectively. + This option is not needed if the output filename (as set by -o) + ends with *.aif* or *.aiff*, *.rf64* and *.w64* respectively. Also, + this option has no effect when encoding since input is + auto-detected. When none of these options nor + --keep-foreign-metadata are given and no output filename is set, + the output format is WAV by default. + +**\--force-legacy-wave-format** +**\--force-extensible-wave-format** +: Instruct the decoder to output a WAVE file with WAVE_FORMAT_PCM and + WAVE_FORMAT_EXTENSIBLE respectively. If none of these options nor + --keep-foreign-metadata are given, FLAC outputs WAVE_FORMAT_PCM + for mono or stereo with a bit depth of 8 or 16 bits, and + WAVE_FORMAT_EXTENSIBLE for all other audio formats. + +**\--force-aiff-c-none-format** +**\--force-aiff-c-sowt-format** +: Instruct the decoder to output an AIFF-C file with format NONE and + sowt respectively. ## NEGATIVE OPTIONS @@ -577,7 +582,6 @@ **\--no-replay-gain** **\--no-residual-gnuplot** **\--no-residual-text** -**\--no-sector-align** **\--no-seektable** **\--no-silent** **\--no-verify** diff -Nru flac-1.4.2+ds/man/Makefile.am flac-1.4.3+ds1/man/Makefile.am --- flac-1.4.2+ds/man/Makefile.am 2022-10-21 17:13:31.765396800 +0000 +++ flac-1.4.3+ds1/man/Makefile.am 2023-06-15 09:52:54.150861266 +0000 @@ -1,6 +1,6 @@ # flac - Command-line FLAC encoder/decoder # Copyright (C) 2000-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/man/Makefile.in flac-1.4.3+ds1/man/Makefile.in --- flac-1.4.2+ds/man/Makefile.in 2022-10-21 17:54:46.244726100 +0000 +++ flac-1.4.3+ds1/man/Makefile.in 2023-06-22 08:50:44.545746888 +0000 @@ -16,7 +16,7 @@ # flac - Command-line FLAC encoder/decoder # Copyright (C) 2000-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -269,6 +269,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/man/metaflac.1 flac-1.4.3+ds1/man/metaflac.1 --- flac-1.4.2+ds/man/metaflac.1 2022-10-21 17:58:04.024235600 +0000 +++ flac-1.4.3+ds1/man/metaflac.1 2023-06-22 08:51:08.613828455 +0000 @@ -1,304 +1,326 @@ -.\" Automatically generated by Pandoc 2.19.2 -.\" -.\" Define V font for inline verbatim, using C font in formats -.\" that render this, and otherwise B font. -.ie "\f[CB]x\f[]"x" \{\ -. ftr V B -. ftr VI BI -. ftr VB B -. ftr VBI BI -.\} -.el \{\ -. ftr V CR -. ftr VI CI -. ftr VB CB -. ftr VBI CBI -.\} -.TH "metaflac" "1" "" "Version 1.4.2" "Free Lossless Audio Codec metadata tool" -.hy -.SH NAME -.PP -metaflac - program to list, add, remove, or edit metadata in one or more -FLAC files. -.SH SYNOPSIS -.PP -\f[B]metaflac\f[R] [ \f[I]options\f[R] ] [ \f[I]operations\f[R] ] -\f[I]FLACfile \&...\f[R] -.SH DESCRIPTION -.PP -Use \f[B]metaflac\f[R] to list, add, remove, or edit metadata in one or -more FLAC files. -You may perform one major operation, or many shorthand operations at a -time. -.SH GENERAL USAGE -.PP -metaflac is the command-line .flac file metadata editor. -You can use it to list the contents of metadata blocks, edit, delete or -insert blocks, and manage padding. -.PP -metaflac takes a set of \[lq]options\[rq] (though some are not optional) -and a set of FLAC files to operate on. -There are three kinds of \[lq]options\[rq]: -.IP \[bu] 2 -Major operations, which specify a mode of operation like listing blocks, -removing blocks, etc. -These will have sub-operations describing exactly what is to be done. -.IP \[bu] 2 -Shorthand operations, which are convenient synonyms for major -operations. -For example, there is a shorthand operation \[en]show-sample-rate that -shows just the sample rate field from the STREAMINFO metadata block. -.IP \[bu] 2 -Global options, which affect all the operations. -.PP -All of these are described in the tables below. -At least one shorthand or major operation must be supplied. -You can use multiple shorthand operations to do more than one thing to a -file or set of files. -Most of the common things to do to metadata have shorthand operations. -As an example, here is how to show the MD5 signatures for a set of three -FLAC files: -.PP -\f[V]metaflac --show-md5sum file1.flac file2.flac file3.flac\f[R] -.PP -Another example; this removes all DESCRIPTION and COMMENT tags in a set -of FLAC files, and uses the \[en]preserve-modtime global option to keep -the FLAC file modification times the same (usually when files are edited -the modification time is set to the current time): -.PP -\f[V]metaflac --preserve-modtime --remove-tag=DESCRIPTION --remove-tag=COMMENT file1.flac file2.flac file3.flac\f[R] -.SH OPTIONS -.TP -\f[B]--preserve-modtime\f[R] -Preserve the original modification time in spite of edits. -.TP -\f[B]--with-filename\f[R] -Prefix each output line with the FLAC file name (the default if more -than one FLAC file is specified). -.TP -\f[B]--no-filename\f[R] -Do not prefix each output line with the FLAC file name (the default if -only one FLAC file is specified). -.TP -\f[B]--no-utf8-convert\f[R] -Do not convert tags from UTF-8 to local charset, or vice versa. -This is useful for scripts, and setting tags in situations where the -locale is wrong. -.TP -\f[B]--dont-use-padding\f[R] -By default metaflac tries to use padding where possible to avoid -rewriting the entire file if the metadata size changes. -Use this option to tell metaflac to not take advantage of padding this -way. -.SH SHORTHAND OPERATIONS -.TP -\f[B]--show-md5sum\f[R] -Show the MD5 signature from the STREAMINFO block. -.TP -\f[B]--show-min-blocksize\f[R] -Show the minimum block size from the STREAMINFO block. -.TP -\f[B]--show-max-blocksize\f[R] -Show the maximum block size from the STREAMINFO block. -.TP -\f[B]--show-min-framesize\f[R] -Show the minimum frame size from the STREAMINFO block. -.TP -\f[B]--show-max-framesize\f[R] -Show the maximum frame size from the STREAMINFO block. -.TP -\f[B]--show-sample-rate\f[R] -Show the sample rate from the STREAMINFO block. -.TP -\f[B]--show-channels\f[R] -Show the number of channels from the STREAMINFO block. -.TP -\f[B]--show-bps\f[R] -Show the # of bits per sample from the STREAMINFO block. -.TP -\f[B]--show-total-samples\f[R] -Show the total # of samples from the STREAMINFO block. -.TP -\f[B]--show-vendor-tag\f[R] -Show the vendor string from the VORBIS_COMMENT block. -.TP -\f[B]--show-tag=name\f[R] -Show all tags where the field name matches `name'. -.TP -\f[B]--remove-tag=name\f[R] -Remove all tags whose field name is `name'. -.TP -\f[B]--remove-first-tag=name\f[R] -Remove first tag whose field name is `name'. -.TP -\f[B]--remove-all-tags\f[R] -Remove all tags, leaving only the vendor string. -.TP -\f[B]--set-tag=field\f[R] -Add a tag. -The field must comply with the Vorbis comment spec, of the form -\[lq]NAME=VALUE\[rq]. -If there is currently no tag block, one will be created. -.TP -\f[B]--set-tag-from-file=field\f[R] -Like --set-tag, except the VALUE is a filename whose contents will be -read verbatim to set the tag value. -Unless --no-utf8-convert is specified, the contents will be converted to -UTF-8 from the local charset. -This can be used to store a cuesheet in a tag (e.g. ---set-tag-from-file=\[lq]CUESHEET=image.cue\[rq]). -Do not try to store binary data in tag fields! -Use APPLICATION blocks for that. -.TP -\f[B]--import-tags-from=file\f[R] -Import tags from a file. -Use `-' for stdin. -Each line should be of the form NAME=VALUE. -Multi-line comments are currently not supported. -Specify --remove-all-tags and/or --no-utf8-convert before ---import-tags-from if necessary. -If FILE is `-' (stdin), only one FLAC file may be specified. -.TP -\f[B]--export-tags-to=file\f[R] -Export tags to a file. -Use `-' for stdout. -Each line will be of the form NAME=VALUE. -Specify --no-utf8-convert if necessary. -.TP -\f[B]--import-cuesheet-from=file\f[R] -Import a cuesheet from a file. -Use `-' for stdin. -Only one FLAC file may be specified. -A seekpoint will be added for each index point in the cuesheet to the -SEEKTABLE unless --no-cued-seekpoints is specified. -.TP -\f[B]--export-cuesheet-to=file\f[R] -Export CUESHEET block to a cuesheet file, suitable for use by CD -authoring software. -Use `-' for stdout. -Only one FLAC file may be specified on the command line. -.TP -\f[B]--import-picture-from={\f[R]\f[I]FILENAME\f[R]\f[B]|\f[R]\f[I]SPECIFICATION\f[R]\f[B]}\f[R] -Import a picture and store it in a PICTURE metadata block. -More than one --import-picture-from command can be specified. -Either a filename for the picture file or a more complete specification -form can be used. -The SPECIFICATION is a string whose parts are separated by | (pipe) -characters. -Some parts may be left empty to invoke default values. -FILENAME is just shorthand for \[lq]||||FILENAME\[rq]. -For details on the specification, see the section \f[B]Picture -specification\f[R] in the \f[B]flac(1)\f[R] man page. -.TP -\f[B]--export-picture-to=file\f[R] -Export PICTURE block to a file. -Use `-' for stdout. -Only one FLAC file may be specified on the command line. -The first PICTURE block will be exported unless --export-picture-to is -preceded by a --block-number=# option to specify the exact metadata -block to extract. -Note that the block number is the one shown by --list. -.TP -\f[B]--add-replay-gain\f[R] -Calculates the title and album gains/peaks of the given FLAC files as if -all the files were part of one album, then stores them as FLAC tags. -The tags are the same as those used by vorbisgain. -Existing ReplayGain tags will be replaced. -If only one FLAC file is given, the album and title gains will be the -same. -Since this operation requires two passes, it is always executed last, -after all other operations have been completed and written to disk. -All FLAC files specified must have the same resolution, sample rate, and -number of channels. -The sample rate must be one of 8, 11.025, 12, 16, 18.9, 22.05, 24, 28, -32, 37.8, 44.1, 48, 56, 64, 88.2, 96, 112, 128, 144, 176.4, or 192kHz. -.TP -\f[B]--scan-replay-gain\f[R] -Like --add-replay-gain, but only analyzes the files rather than writing -them to the tags. -.TP -\f[B]--remove-replay-gain\f[R] -Removes the ReplayGain tags. -.TP -\f[B]--add-seekpoint={\f[R]\f[I]#\f[R]\f[B]|\f[R]\f[I]X\f[R]\f[B]|\f[R]\f[I]#x\f[R]\f[B]|\f[R]\f[I]#s\f[R]\f[B]}\f[R] -Add seek points to a SEEKTABLE block. -Using #, a seek point at that sample number is added. -Using X, a placeholder point is added at the end of a the table. -Using #x, # evenly spaced seek points will be added, the first being at -sample 0. -Using #s, a seekpoint will be added every # seconds (# does not have to -be a whole number; it can be, for example, 9.5, meaning a seekpoint -every 9.5 seconds). -If no SEEKTABLE block exists, one will be created. -If one already exists, points will be added to the existing table, and -any duplicates will be turned into placeholder points. -You may use many --add-seekpoint options; the resulting SEEKTABLE will -be the unique-ified union of all such values. -Example: --add-seekpoint=100x --add-seekpoint=3.5s will add 100 evenly -spaced seekpoints and a seekpoint every 3.5 seconds. -.TP -\f[B]--add-padding=length\f[R] -Add a padding block of the given length (in bytes). -The overall length of the new block will be 4 + length; the extra 4 -bytes is for the metadata block header. -.SH MAJOR OPERATIONS -.TP -\f[B]--list\f[R] -List the contents of one or more metadata blocks to stdout. -By default, all metadata blocks are listed in text format. -Use the options \f[B]--block-number\f[R], \f[B]--block-type\f[R] or -\f[B]--except-block-type\f[R] to change this behavior. -.TP -\f[B]--remove\f[R] -Remove one or more metadata blocks from the metadata. -Use the options \f[B]--block-number\f[R], \f[B]--block-type\f[R] or -\f[B]--except-block-type\f[R] to specify which blocks should be removed. -Note that if both --block-number and --[except-]block-type are -specified, the result is the logical AND of both arguments. -Unless --dont-use-padding is specified, the blocks will be replaced with -padding. -You may not remove the STREAMINFO block. -.TP -\f[B]--block-number=#[,#[\&...]]\f[R] -An optional comma-separated list of block numbers to display. -The first block, the STREAMINFO block, is block 0. -.PP -\f[B]--block-type=type[,type[\&...]]\f[R] -.TP -\f[B]--except-block-type=type[,type[\&...]]\f[R] -An optional comma-separated list of block types to be included or -ignored with this option. -Use only one of --block-type or --except-block-type. -The valid block types are: STREAMINFO, PADDING, APPLICATION, SEEKTABLE, -VORBIS_COMMENT, PICTURE. -You may narrow down the types of APPLICATION blocks selected by -appending APPLICATION with a colon and the ID of the APPLICATION block -in either ASCII or hexadecimal representation. -E.g. -APPLICATION:abcd for the APPLICATION block(s) whose textual -representation of the 4-byte ID is \[lq]abcd\[rq] or -APPLICATION:0xXXXXXXXX for the APPLICATION block(s) whose hexadecimal -big- endian representation of the 4-byte ID is \[lq]0xXXXXXXXX\[rq]. -For the example \[lq]abcd\[rq] above the hexadecimal equivalalent is -0x61626364 -.TP -\f[B]--application-data-format=hexdump|text\f[R] -If the application block you are displaying contains binary data but -your --data-format=text, you can display a hex dump of the application -data contents instead using --application-data-format=hexdump. -.TP -\f[B]--remove-all\f[R] -Remove all metadata blocks (except the STREAMINFO block) from the -metadata. -Unless --dont-use-padding is specified, the blocks will be replaced with -padding. -.TP -\f[B]--merge-padding\f[R] -Merge adjacent PADDING blocks into single blocks. -.TP -\f[B]--sort-padding\f[R] -Move all PADDING blocks to the end of the metadata and merge them into a -single block. -.SH SEE ALSO -.PP -\f[B]flac(1)\f[R] +.\" Automatically generated by Pandoc 2.9.2.1 +.\" +.TH "metaflac" "1" "" "Version 1.4.3" "Free Lossless Audio Codec metadata tool" +.hy +.SH NAME +.PP +metaflac - program to list, add, remove, or edit metadata in one or more +FLAC files. +.SH SYNOPSIS +.PP +\f[B]metaflac\f[R] [ \f[I]options\f[R] ] [ \f[I]operations\f[R] ] +\f[I]FLACfile \&...\f[R] +.SH DESCRIPTION +.PP +Use \f[B]metaflac\f[R] to list, add, remove, or edit metadata in one or +more FLAC files. +You may perform one major operation, or many shorthand operations at a +time. +.SH GENERAL USAGE +.PP +metaflac is the command-line .flac file metadata editor. +You can use it to list the contents of metadata blocks, edit, delete or +insert blocks, and manage padding. +.PP +metaflac takes a set of \[lq]options\[rq] (though some are not optional) +and a set of FLAC files to operate on. +There are three kinds of \[lq]options\[rq]: +.IP \[bu] 2 +Major operations, which specify a mode of operation like listing blocks, +removing blocks, etc. +These will have sub-operations describing exactly what is to be done. +.IP \[bu] 2 +Shorthand operations, which are convenient synonyms for major +operations. +For example, there is a shorthand operation \[en]show-sample-rate that +shows just the sample rate field from the STREAMINFO metadata block. +.IP \[bu] 2 +Global options, which affect all the operations. +.PP +All of these are described in the tables below. +At least one shorthand or major operation must be supplied. +You can use multiple shorthand operations to do more than one thing to a +file or set of files. +Most of the common things to do to metadata have shorthand operations. +As an example, here is how to show the MD5 signatures for a set of three +FLAC files: +.PP +\f[C]metaflac --show-md5sum file1.flac file2.flac file3.flac\f[R] +.PP +Another example; this removes all DESCRIPTION and COMMENT tags in a set +of FLAC files, and uses the \[en]preserve-modtime global option to keep +the FLAC file modification times the same (usually when files are edited +the modification time is set to the current time): +.PP +\f[C]metaflac --preserve-modtime --remove-tag=DESCRIPTION --remove-tag=COMMENT file1.flac file2.flac file3.flac\f[R] +.SH OPTIONS +.TP +\f[B]--preserve-modtime\f[R] +Preserve the original modification time in spite of edits. +.TP +\f[B]--with-filename\f[R] +Prefix each output line with the FLAC file name (the default if more +than one FLAC file is specified). +This option has no effect for options exporting to a file, like +\[en]export-tags-to. +.TP +\f[B]--no-filename\f[R] +Do not prefix each output line with the FLAC file name (the default if +only one FLAC file is specified). +.TP +\f[B]--no-utf8-convert\f[R] +Do not convert tags from UTF-8 to local charset, or vice versa. +This is useful for scripts, and setting tags in situations where the +locale is wrong. +.TP +\f[B]--dont-use-padding\f[R] +By default metaflac tries to use padding where possible to avoid +rewriting the entire file if the metadata size changes. +Use this option to tell metaflac to not take advantage of padding this +way. +.SH SHORTHAND OPERATIONS +.TP +\f[B]--show-md5sum\f[R] +Show the MD5 signature from the STREAMINFO block. +.TP +\f[B]--show-min-blocksize\f[R] +Show the minimum block size from the STREAMINFO block. +.TP +\f[B]--show-max-blocksize\f[R] +Show the maximum block size from the STREAMINFO block. +.TP +\f[B]--show-min-framesize\f[R] +Show the minimum frame size from the STREAMINFO block. +.TP +\f[B]--show-max-framesize\f[R] +Show the maximum frame size from the STREAMINFO block. +.TP +\f[B]--show-sample-rate\f[R] +Show the sample rate from the STREAMINFO block. +.TP +\f[B]--show-channels\f[R] +Show the number of channels from the STREAMINFO block. +.TP +\f[B]--show-bps\f[R] +Show the # of bits per sample from the STREAMINFO block. +.TP +\f[B]--show-total-samples\f[R] +Show the total # of samples from the STREAMINFO block. +.TP +\f[B]--show-vendor-tag\f[R] +Show the vendor string from the VORBIS_COMMENT block. +.TP +\f[B]--show-tag=name\f[R] +Show all tags where the field name matches `name'. +.TP +\f[B]--show-all-tags\f[R] +Show all tags. +This is an alias for \[en]export-tags-to=-. +.TP +\f[B]--remove-tag=name\f[R] +Remove all tags whose field name is `name'. +.TP +\f[B]--remove-first-tag=name\f[R] +Remove first tag whose field name is `name'. +.TP +\f[B]--remove-all-tags\f[R] +Remove all tags, leaving only the vendor string. +.TP +\f[B]--remove-all-tags-except=NAME1[=NAME2[=\&...]]\f[R] +Remove all tags, except the vendor string and the tag names specified. +Tag names must be separated by an = character. +.TP +\f[B]--set-tag=field\f[R] +Add a tag. +The field must comply with the Vorbis comment spec, of the form +\[lq]NAME=VALUE\[rq]. +If there is currently no tag block, one will be created. +.TP +\f[B]--set-tag-from-file=field\f[R] +Like --set-tag, except the VALUE is a filename whose contents will be +read verbatim to set the tag value. +Unless --no-utf8-convert is specified, the contents will be converted to +UTF-8 from the local charset. +This can be used to store a cuesheet in a tag (e.g. +--set-tag-from-file=\[lq]CUESHEET=image.cue\[rq]). +Do not try to store binary data in tag fields! Use APPLICATION blocks +for that. +.TP +\f[B]--import-tags-from=file\f[R] +Import tags from a file. +Use `-' for stdin. +Each line should be of the form NAME=VALUE. +Multi-line comments are currently not supported. +Specify --remove-all-tags and/or --no-utf8-convert before +--import-tags-from if necessary. +If FILE is `-' (stdin), only one FLAC file may be specified. +.TP +\f[B]--export-tags-to=file\f[R] +Export tags to a file. +Use `-' for stdout. +Each line will be of the form NAME=VALUE. +Specify --no-utf8-convert if necessary. +.TP +\f[B]--import-cuesheet-from=file\f[R] +Import a cuesheet from a file. +Use `-' for stdin. +Only one FLAC file may be specified. +A seekpoint will be added for each index point in the cuesheet to the +SEEKTABLE unless --no-cued-seekpoints is specified. +.TP +\f[B]--export-cuesheet-to=file\f[R] +Export CUESHEET block to a cuesheet file, suitable for use by CD +authoring software. +Use `-' for stdout. +Only one FLAC file may be specified on the command line. +.TP +\f[B]--import-picture-from={\f[R]\f[I]FILENAME\f[R]\f[B]|\f[R]\f[I]SPECIFICATION\f[R]\f[B]}\f[R] +Import a picture and store it in a PICTURE metadata block. +More than one --import-picture-from command can be specified. +Either a filename for the picture file or a more complete specification +form can be used. +The SPECIFICATION is a string whose parts are separated by | (pipe) +characters. +Some parts may be left empty to invoke default values. +FILENAME is just shorthand for \[lq]||||FILENAME\[rq]. +For details on the specification, see the section \f[B]Picture +specification\f[R] in the \f[B]flac(1)\f[R] man page. +.TP +\f[B]--export-picture-to=file\f[R] +Export PICTURE block to a file. +Use `-' for stdout. +Only one FLAC file may be specified on the command line. +The first PICTURE block will be exported unless --export-picture-to is +preceded by a --block-number=# option to specify the exact metadata +block to extract. +Note that the block number is the one shown by --list. +.TP +\f[B]--add-replay-gain\f[R] +Calculates the title and album gains/peaks of the given FLAC files as if +all the files were part of one album, then stores them as FLAC tags. +The tags are the same as those used by vorbisgain. +Existing ReplayGain tags will be replaced. +If only one FLAC file is given, the album and title gains will be the +same. +Since this operation requires two passes, it is always executed last, +after all other operations have been completed and written to disk. +All FLAC files specified must have the same resolution, sample rate, and +number of channels. +Only mono and stereo files are allowed, and the sample rate must be 8, +11.025, 12, 16, 18.9, 22.05, 24, 28, 32, 36, 37.8, 44.1, 48, 56, 64, 72, +75.6, 88.2, 96, 112, 128, 144, 151.2, 176.4, 192, 224, 256, 288, 302.4, +352.8, 384, 448, 512, 576, or 604.8 kHz. +.TP +\f[B]--scan-replay-gain\f[R] +Like --add-replay-gain, but only analyzes the files rather than writing +them to the tags. +.TP +\f[B]--remove-replay-gain\f[R] +Removes the ReplayGain tags. +.TP +\f[B]--add-seekpoint={\f[R]\f[I]#\f[R]\f[B]|\f[R]\f[I]X\f[R]\f[B]|\f[R]\f[I]#x\f[R]\f[B]|\f[R]\f[I]#s\f[R]\f[B]}\f[R] +Add seek points to a SEEKTABLE block. +Using #, a seek point at that sample number is added. +Using X, a placeholder point is added at the end of a the table. +Using #x, # evenly spaced seek points will be added, the first being at +sample 0. +Using #s, a seekpoint will be added every # seconds (# does not have to +be a whole number; it can be, for example, 9.5, meaning a seekpoint +every 9.5 seconds). +If no SEEKTABLE block exists, one will be created. +If one already exists, points will be added to the existing table, and +any duplicates will be turned into placeholder points. +You may use many --add-seekpoint options; the resulting SEEKTABLE will +be the unique-ified union of all such values. +Example: --add-seekpoint=100x --add-seekpoint=3.5s will add 100 evenly +spaced seekpoints and a seekpoint every 3.5 seconds. +.TP +\f[B]--add-padding=length\f[R] +Add a padding block of the given length (in bytes). +The overall length of the new block will be 4 + length; the extra 4 +bytes is for the metadata block header. +.SH MAJOR OPERATIONS +.TP +\f[B]--list\f[R] +List the contents of one or more metadata blocks to stdout. +By default, all metadata blocks are listed in text format. +Use the options \f[B]--block-number\f[R], \f[B]--block-type\f[R] or +\f[B]--except-block-type\f[R] to change this behavior. +.TP +\f[B]--remove\f[R] +Remove one or more metadata blocks from the metadata. +Use the options \f[B]--block-number\f[R], \f[B]--block-type\f[R] or +\f[B]--except-block-type\f[R] to specify which blocks should be removed. +Note that if both --block-number and --[except-]block-type are +specified, the result is the logical AND of both arguments. +Unless --dont-use-padding is specified, the blocks will be replaced with +padding. +You may not remove the STREAMINFO block. +.TP +\f[B]--block-number=#[,#[\&...]]\f[R] +An optional comma-separated list of block numbers to display. +The first block, the STREAMINFO block, is block 0. +.PP +\f[B]--block-type=type[,type[\&...]]\f[R] +.TP +\f[B]--except-block-type=type[,type[\&...]]\f[R] +An optional comma-separated list of block types to be included or +ignored with this option. +Use only one of --block-type or --except-block-type. +The valid block types are: STREAMINFO, PADDING, APPLICATION, SEEKTABLE, +VORBIS_COMMENT, PICTURE. +You may narrow down the types of APPLICATION blocks selected by +appending APPLICATION with a colon and the ID of the APPLICATION block +in either ASCII or hexadecimal representation. +E.g. +APPLICATION:abcd for the APPLICATION block(s) whose textual +representation of the 4-byte ID is \[lq]abcd\[rq] or +APPLICATION:0xXXXXXXXX for the APPLICATION block(s) whose hexadecimal +big- endian representation of the 4-byte ID is \[lq]0xXXXXXXXX\[rq]. +For the example \[lq]abcd\[rq] above the hexadecimal equivalalent is +0x61626364 +.TP +\f[B]--application-data-format=hexdump|text\f[R] +If the application block you are displaying contains binary data but +your --data-format=text, you can display a hex dump of the application +data contents instead using --application-data-format=hexdump. +.TP +\f[B]--data-format=binary|binary-headerless|text\f[R] +For use with \[en]list. +By default a human-readable text representation of the data is isplayed. +You may specify \[en]data-format=binary to dump the raw binary form of +each metadata block. +Specify \[en]data-format=binary-headerless to omit output of metadata +block headers, including the id of APPLICATION metadata blocks. +.TP +\f[B]--append\f[R] +Insert a metadata block from a file. +This must be a binary block as exported with \[en]list +\[en]data-format=binary. +The insertion point is defined with \[en]block-number=#. +The new block will be added after the given block number. +This prevents the illegal insertion of a block before the first +STREAMINFO block. +You may not \[en]append another STREAMINFO block. +It is possible to copy a metadata block from one file to another with +this option. +For example use +\f[C]metaflac --list --data-format=binary --block-number=6 file.flac > block\f[R] +to export the block, and then import it with +\f[C]metaflac --append anotherfile.flac < block\f[R] +.TP +\f[B]--remove-all\f[R] +Remove all metadata blocks (except the STREAMINFO block) from the +metadata. +Unless --dont-use-padding is specified, the blocks will be replaced with +padding. +.TP +\f[B]--merge-padding\f[R] +Merge adjacent PADDING blocks into single blocks. +.TP +\f[B]--sort-padding\f[R] +Move all PADDING blocks to the end of the metadata and merge them into a +single block. +.SH SEE ALSO +.PP +\f[B]flac(1)\f[R] diff -Nru flac-1.4.2+ds/man/metaflac.md flac-1.4.3+ds1/man/metaflac.md --- flac-1.4.2+ds/man/metaflac.md 2022-10-21 17:32:48.962457700 +0000 +++ flac-1.4.3+ds1/man/metaflac.md 2023-06-22 08:50:23.517675613 +0000 @@ -1,4 +1,4 @@ -% metaflac(1) Version 1.4.2 | Free Lossless Audio Codec metadata tool +% metaflac(1) Version 1.4.3 | Free Lossless Audio Codec metadata tool # NAME @@ -58,7 +58,8 @@ **\--with-filename** : Prefix each output line with the FLAC file name (the default if more - than one FLAC file is specified). + than one FLAC file is specified). This option has no effect for + options exporting to a file, like --export-tags-to. **\--no-filename** : Do not prefix each output line with the FLAC file name (the default @@ -109,6 +110,9 @@ **\--show-tag=name** : Show all tags where the field name matches 'name'. +**\--show-all-tags** +: Show all tags. This is an alias for --export-tags-to=-. + **\--remove-tag=name** : Remove all tags whose field name is 'name'. @@ -118,6 +122,10 @@ **\--remove-all-tags** : Remove all tags, leaving only the vendor string. +**\--remove-all-tags-except=NAME1\[=NAME2\[=...\]\]** +: Remove all tags, except the vendor string and the tag names + specified. Tag names must be separated by an = character. + **\--set-tag=field** : Add a tag. The field must comply with the Vorbis comment spec, of the form "NAME=VALUE". If there is currently no tag block, one will be @@ -179,9 +187,10 @@ requires two passes, it is always executed last, after all other operations have been completed and written to disk. All FLAC files specified must have the same resolution, sample rate, and number of - channels. The sample rate must be one of 8, 11.025, 12, 16, 18.9, - 22.05, 24, 28, 32, 37.8, 44.1, 48, 56, 64, 88.2, 96, 112, 128, 144, - 176.4, or 192kHz. + channels. Only mono and stereo files are allowed, and the sample + rate must be 8, 11.025, 12, 16, 18.9, 22.05, 24, 28, 32, 36, 37.8, + 44.1, 48, 56, 64, 72, 75.6, 88.2, 96, 112, 128, 144, 151.2, 176.4, + 192, 224, 256, 288, 302.4, 352.8, 384, 448, 512, 576, or 604.8 kHz. **\--scan-replay-gain** : Like \--add-replay-gain, but only analyzes the files rather than @@ -253,6 +262,26 @@ application data contents instead using \--application-data-format=hexdump. +**\--data-format=binary\|binary-headerless\|text** +: For use with --list. By default a human-readable text + representation of the data is isplayed. You may specify + --data-format=binary to dump the raw binary form of each metadata + block. Specify --data-format=binary-headerless to omit output of + metadata block headers, including the id of APPLICATION metadata + blocks. + +**\--append** +: Insert a metadata block from a file. This must be a binary block as + exported with --list --data-format=binary. The insertion point is + defined with --block-number=#. The new block will be added after the + given block number. This prevents the illegal insertion of a block + before the first STREAMINFO block. You may not --append another + STREAMINFO block. It is possible to copy a metadata block from one + file to another with this option. For example use + `metaflac --list --data-format=binary --block-number=6 file.flac > block` + to export the block, and then import it with + `metaflac --append anotherfile.flac < block` + **\--remove-all** : Remove all metadata blocks (except the STREAMINFO block) from the metadata. Unless \--dont-use-padding is specified, the blocks will be diff -Nru flac-1.4.2+ds/microbench/benchmark_residual.c flac-1.4.3+ds1/microbench/benchmark_residual.c --- flac-1.4.2+ds/microbench/benchmark_residual.c 2022-10-21 17:13:32.147997700 +0000 +++ flac-1.4.3+ds1/microbench/benchmark_residual.c 2023-06-15 09:52:54.202861452 +0000 @@ -1,6 +1,6 @@ /* libFLAC - Free Lossless Audio Codec library * Copyright (C) 2000-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/microbench/Makefile.am flac-1.4.3+ds1/microbench/Makefile.am --- flac-1.4.2+ds/microbench/Makefile.am 2022-10-21 17:13:32.116058800 +0000 +++ flac-1.4.3+ds1/microbench/Makefile.am 2023-06-15 09:52:54.202861452 +0000 @@ -1,5 +1,5 @@ # FLAC - Free Lossless Audio Codec -# Copyright (C) 2015-2022 Xiph.Org Foundation +# Copyright (C) 2015-2023 Xiph.Org Foundation # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/microbench/Makefile.in flac-1.4.3+ds1/microbench/Makefile.in --- flac-1.4.2+ds/microbench/Makefile.in 2022-10-21 17:54:46.336662200 +0000 +++ flac-1.4.3+ds1/microbench/Makefile.in 2023-06-22 08:50:44.561746943 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # FLAC - Free Lossless Audio Codec -# Copyright (C) 2015-2022 Xiph.Org Foundation +# Copyright (C) 2015-2023 Xiph.Org Foundation # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions @@ -127,14 +127,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -304,6 +304,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/microbench/util.c flac-1.4.3+ds1/microbench/util.c --- flac-1.4.2+ds/microbench/util.c 2022-10-21 17:13:32.206231800 +0000 +++ flac-1.4.3+ds1/microbench/util.c 2023-06-15 09:52:54.202861452 +0000 @@ -1,5 +1,5 @@ /* FLAC - Free Lossless Audio Codec - * Copyright (C) 2015-2022 Xiph.Org Foundation + * Copyright (C) 2015-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/microbench/util.h flac-1.4.3+ds1/microbench/util.h --- flac-1.4.2+ds/microbench/util.h 2022-10-21 17:13:32.221223000 +0000 +++ flac-1.4.3+ds1/microbench/util.h 2023-06-15 09:52:54.202861452 +0000 @@ -1,5 +1,5 @@ /* FLAC - Free Lossless Audio Codec - * Copyright (C) 2015-2022 Xiph.Org Foundation + * Copyright (C) 2015-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/oss-fuzz/common.h flac-1.4.3+ds1/oss-fuzz/common.h --- flac-1.4.2+ds/oss-fuzz/common.h 1970-01-01 00:00:00.000000000 +0000 +++ flac-1.4.3+ds1/oss-fuzz/common.h 2023-04-17 09:56:11.654272768 +0000 @@ -0,0 +1,2 @@ +extern int alloc_check_threshold, alloc_check_counter; +int alloc_check_threshold = INT32_MAX, alloc_check_counter = 0; diff -Nru flac-1.4.2+ds/oss-fuzz/decoder.cc flac-1.4.3+ds1/oss-fuzz/decoder.cc --- flac-1.4.2+ds/oss-fuzz/decoder.cc 1970-01-01 00:00:00.000000000 +0000 +++ flac-1.4.3+ds1/oss-fuzz/decoder.cc 2023-04-17 09:56:11.666272778 +0000 @@ -0,0 +1,408 @@ +/* Copyright 2019 Guido Vranken + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include +#include + +#include +#include + +#include "FLAC++/decoder.h" +#include "FLAC++/metadata.h" +#include "common.h" + +template <> FLAC__MetadataType fuzzing::datasource::Base::Get(const uint64_t id) { + (void)id; + switch ( Get() ) { + case 0: + return FLAC__METADATA_TYPE_STREAMINFO; + case 1: + return FLAC__METADATA_TYPE_PADDING; + case 2: + return FLAC__METADATA_TYPE_APPLICATION; + case 3: + return FLAC__METADATA_TYPE_SEEKTABLE; + case 4: + return FLAC__METADATA_TYPE_VORBIS_COMMENT; + case 5: + return FLAC__METADATA_TYPE_CUESHEET; + case 6: + return FLAC__METADATA_TYPE_PICTURE; + case 7: + return FLAC__METADATA_TYPE_UNDEFINED; + case 8: + return FLAC__MAX_METADATA_TYPE; + default: + return FLAC__METADATA_TYPE_STREAMINFO; + } +} + +namespace FLAC { + namespace Decoder { + class FuzzerStream : public Stream { + private: + fuzzing::datasource::Datasource& ds; + public: + FuzzerStream(fuzzing::datasource::Datasource& dsrc) : + Stream(), ds(dsrc) { } + + ::FLAC__StreamDecoderReadStatus read_callback(FLAC__byte buffer[], size_t *bytes) override { + try { + const size_t maxCopySize = *bytes; + + if ( maxCopySize > 0 ) { + /* memset just to test if this overwrites anything, and triggers ASAN */ + memset(buffer, 0, maxCopySize); + } + + const auto data = ds.GetData(0); + const auto dataSize = data.size(); + const auto copySize = std::min(maxCopySize, dataSize); + + if ( copySize > 0 ) { + memcpy(buffer, data.data(), copySize); + } + + *bytes = copySize; + + return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE; + } catch ( ... ) { + return FLAC__STREAM_DECODER_READ_STATUS_ABORT; + } + } + + ::FLAC__StreamDecoderWriteStatus write_callback(const ::FLAC__Frame *frame, const FLAC__int32 * const buffer[]) override { + { + fuzzing::memory::memory_test(&(frame->header), sizeof(frame->header)); + fuzzing::memory::memory_test(&(frame->footer), sizeof(frame->footer)); + } + + { + const auto numChannels = get_channels(); + const size_t bytesPerChannel = frame->header.blocksize * sizeof(FLAC__int32); + for (size_t i = 0; i < numChannels; i++) { + fuzzing::memory::memory_test(buffer[i], bytesPerChannel); + } + } + + try { + if ( ds.Get() == true ) { + return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT; + } + } catch ( ... ) { } + return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE; + } + + void error_callback(::FLAC__StreamDecoderErrorStatus status) override { + fuzzing::memory::memory_test(status); + } + + void metadata_callback(const ::FLAC__StreamMetadata *metadata) override { + Metadata::Prototype * cloned_object = nullptr; + fuzzing::memory::memory_test(metadata->type); + fuzzing::memory::memory_test(metadata->is_last); + fuzzing::memory::memory_test(metadata->length); + fuzzing::memory::memory_test(metadata->data); + if (metadata->type == FLAC__METADATA_TYPE_STREAMINFO) + cloned_object = new Metadata::StreamInfo(metadata); + else if (metadata->type == FLAC__METADATA_TYPE_PADDING) + cloned_object = new Metadata::Padding(metadata); + else if (metadata->type == FLAC__METADATA_TYPE_APPLICATION) + cloned_object = new Metadata::Application(metadata); + else if (metadata->type == FLAC__METADATA_TYPE_SEEKTABLE) + cloned_object = new Metadata::SeekTable(metadata); + else if (metadata->type == FLAC__METADATA_TYPE_VORBIS_COMMENT) + cloned_object = new Metadata::VorbisComment(metadata); + else if (metadata->type == FLAC__METADATA_TYPE_CUESHEET) + cloned_object = new Metadata::CueSheet(metadata); + else if (metadata->type == FLAC__METADATA_TYPE_PICTURE) + cloned_object = new Metadata::Picture(metadata); + else + return; + if (0 != cloned_object && *cloned_object == *metadata && cloned_object->is_valid()) { + if (cloned_object->get_type() == FLAC__METADATA_TYPE_SEEKTABLE) + dynamic_cast(cloned_object)->is_legal(); + if (cloned_object->get_type() == FLAC__METADATA_TYPE_PICTURE) + dynamic_cast(cloned_object)->is_legal(NULL); + if (cloned_object->get_type() == FLAC__METADATA_TYPE_CUESHEET) + dynamic_cast(cloned_object)->is_legal(true,NULL); + } + delete cloned_object; + } + + ::FLAC__StreamDecoderSeekStatus seek_callback(FLAC__uint64 absolute_byte_offset) override { + fuzzing::memory::memory_test(absolute_byte_offset); + + try { + if ( ds.Get() == true ) { + return FLAC__STREAM_DECODER_SEEK_STATUS_OK; + } else { + return FLAC__STREAM_DECODER_SEEK_STATUS_ERROR; + } + } catch ( ... ) { + return FLAC__STREAM_DECODER_SEEK_STATUS_OK; + } + } +#if 0 + ::FLAC__StreamDecoderTellStatus tell_callback(FLAC__uint64 *absolute_byte_offset) override { + fuzzing::memory::memory_test(*absolute_byte_offset); + + try { + if ( ds.Get() == true ) { + return FLAC__STREAM_DECODER_TELL_STATUS_OK; + } else { + return FLAC__STREAM_DECODER_TELL_STATUS_ERROR; + } + } catch ( ... ) { + return FLAC__STREAM_DECODER_TELL_STATUS_OK; + } + } + + ::FLAC__StreamDecoderLengthStatus length_callback(FLAC__uint64 *stream_length) override { + fuzzing::memory::memory_test(*stream_length); + + try { + if ( ds.Get() == true ) { + return FLAC__STREAM_DECODER_LENGTH_STATUS_OK; + } else { + return FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR; + } + } catch ( ... ) { + return FLAC__STREAM_DECODER_LENGTH_STATUS_OK; + } + } +#endif + }; + } +} + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + fuzzing::datasource::Datasource ds(data, size); + FLAC::Decoder::FuzzerStream decoder(ds); + bool use_ogg = true; + + try { + if ( ds.Get() ) { + use_ogg = false; + } + if ( ds.Get() ) { +#ifdef FUZZER_DEBUG + printf("set_ogg_serial_number\n"); +#endif + decoder.set_ogg_serial_number(ds.Get()); + } + if ( ds.Get() ) { +#ifdef FUZZER_DEBUG + printf("set_md5_checking\n"); +#endif + decoder.set_md5_checking(ds.Get()); + } + if ( ds.Get() ) { +#ifdef FUZZER_DEBUG + printf("set_metadata_respond\n"); +#endif + decoder.set_metadata_respond(ds.Get<::FLAC__MetadataType>()); + } + if ( ds.Get() ) { + const auto idVector = ds.GetData(0); + unsigned char id[4]; + if ( idVector.size() >= sizeof(id) ) { + memcpy(id, idVector.data(), sizeof(id)); +#ifdef FUZZER_DEBUG + printf("set_metadata_respond_application\n"); +#endif + decoder.set_metadata_respond_application(id); + } + } + if ( ds.Get() ) { +#ifdef FUZZER_DEBUG + printf("set_metadata_respond_all\n"); +#endif + decoder.set_metadata_respond_all(); + } + if ( ds.Get() ) { +#ifdef FUZZER_DEBUG + printf("set_metadata_ignore\n"); +#endif + decoder.set_metadata_ignore(ds.Get<::FLAC__MetadataType>()); + } + if ( ds.Get() ) { + const auto idVector = ds.GetData(0); + unsigned char id[4]; + if ( idVector.size() >= sizeof(id) ) { + memcpy(id, idVector.data(), sizeof(id)); +#ifdef FUZZER_DEBUG + printf("set_metadata_ignore_application\n"); +#endif + decoder.set_metadata_ignore_application(id); + } + } + if ( ds.Get() ) { +#ifdef FUZZER_DEBUG + printf("set_metadata_ignore_all\n"); +#endif + decoder.set_metadata_ignore_all(); + } + { + ::FLAC__StreamDecoderInitStatus ret; + if ( !use_ogg ) { + ret = decoder.init(); + } else { + ret = decoder.init_ogg(); + } + + if ( ret != FLAC__STREAM_DECODER_INIT_STATUS_OK ) { + goto end; + } + } + + while ( ds.Get() ) { + switch ( ds.Get() ) { + case 0: + { +#ifdef FUZZER_DEBUG + printf("flush\n"); +#endif + const bool res = decoder.flush(); + fuzzing::memory::memory_test(res); + } + break; + case 1: + { +#ifdef FUZZER_DEBUG + printf("reset\n"); +#endif + const bool res = decoder.reset(); + fuzzing::memory::memory_test(res); + } + break; + case 2: + { +#ifdef FUZZER_DEBUG + printf("process_single\n"); +#endif + const bool res = decoder.process_single(); + fuzzing::memory::memory_test(res); + } + break; + case 3: + { +#ifdef FUZZER_DEBUG + printf("process_until_end_of_metadata\n"); +#endif + const bool res = decoder.process_until_end_of_metadata(); + fuzzing::memory::memory_test(res); + } + break; + case 4: + { +#ifdef FUZZER_DEBUG + printf("process_until_end_of_stream\n"); +#endif + const bool res = decoder.process_until_end_of_stream(); + fuzzing::memory::memory_test(res); + } + break; + case 5: + { +#ifdef FUZZER_DEBUG + printf("skip_single_frame\n"); +#endif + const bool res = decoder.skip_single_frame(); + fuzzing::memory::memory_test(res); + } + break; + case 6: + { +#ifdef FUZZER_DEBUG + printf("seek_absolute\n"); +#endif + const bool res = decoder.seek_absolute(ds.Get()); + fuzzing::memory::memory_test(res); + } + break; + case 7: + { +#ifdef FUZZER_DEBUG + printf("get_md5_checking\n"); +#endif + const bool res = decoder.get_md5_checking(); + fuzzing::memory::memory_test(res); + } + break; + case 8: + { +#ifdef FUZZER_DEBUG + printf("get_total_samples\n"); +#endif + const bool res = decoder.get_total_samples(); + fuzzing::memory::memory_test(res); + } + break; + case 9: + { +#ifdef FUZZER_DEBUG + printf("get_channels\n"); +#endif + const bool res = decoder.get_channels(); + fuzzing::memory::memory_test(res); + } + break; + case 10: + { +#ifdef FUZZER_DEBUG + printf("get_bits_per_sample\n"); +#endif + const bool res = decoder.get_bits_per_sample(); + fuzzing::memory::memory_test(res); + } + break; + case 11: + { +#ifdef FUZZER_DEBUG + printf("get_sample_rate\n"); +#endif + const bool res = decoder.get_sample_rate(); + fuzzing::memory::memory_test(res); + } + break; + case 12: + { +#ifdef FUZZER_DEBUG + printf("get_blocksize\n"); +#endif + const bool res = decoder.get_blocksize(); + fuzzing::memory::memory_test(res); + } + break; + } + } + } catch ( ... ) { } + +end: + { + const bool res = decoder.finish(); + fuzzing::memory::memory_test(res); + } + return 0; +} diff -Nru flac-1.4.2+ds/oss-fuzz/encoder.cc flac-1.4.3+ds1/oss-fuzz/encoder.cc --- flac-1.4.2+ds/oss-fuzz/encoder.cc 1970-01-01 00:00:00.000000000 +0000 +++ flac-1.4.3+ds1/oss-fuzz/encoder.cc 2023-04-17 09:56:11.674272785 +0000 @@ -0,0 +1,257 @@ +/* Copyright 2019 Guido Vranken + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include +#include +#include + +#include +#include + +#include "FLAC++/encoder.h" +#include "common.h" + +namespace FLAC { + namespace Encoder { + class FuzzerStream : public Stream { + private: + // fuzzing::datasource::Datasource& ds; + public: + FuzzerStream(fuzzing::datasource::Datasource&) : + Stream() { } + + ::FLAC__StreamEncoderWriteStatus write_callback(const FLAC__byte buffer[], size_t bytes, uint32_t /* samples */, uint32_t /* current_frame */) override { + fuzzing::memory::memory_test(buffer, bytes); +#if 0 + try { + if ( ds.Get() == true ) { + return FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR; + } + } catch ( ... ) { } +#endif + return FLAC__STREAM_ENCODER_WRITE_STATUS_OK; + } + }; + } +} + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + fuzzing::datasource::Datasource ds(data, size); + FLAC::Encoder::FuzzerStream encoder(ds); + + try { + const int channels = ds.Get(); + const int bps = ds.Get(); + encoder.set_channels(channels); + encoder.set_bits_per_sample(bps); + + { + const bool res = encoder.set_streamable_subset(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_ogg_serial_number(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_verify(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_compression_level(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_do_exhaustive_model_search(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_do_mid_side_stereo(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_loose_mid_side_stereo(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const auto s = ds.Get(); + const bool res = encoder.set_apodization(s.data()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_max_lpc_order(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_qlp_coeff_precision(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_do_qlp_coeff_prec_search(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_do_escape_coding(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_min_residual_partition_order(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_max_residual_partition_order(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_rice_parameter_search_dist(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_total_samples_estimate(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_blocksize(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_limit_min_bitrate(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_sample_rate(ds.Get()); + fuzzing::memory::memory_test(res); + } + + if ( size > 2 * 65535 * 4 ) { + /* With large inputs and expensive options enabled, the fuzzer can get *really* slow. + * Some combinations can make the fuzzer timeout (>60 seconds). However, while combining + * options makes the fuzzer slower, most options do not expose new code when combined. + * Therefore, combining slow options is disabled for large inputs. Any input containing + * more than 65536 * 2 samples of 32 bits each (max blocksize, stereo) is considered large + */ + encoder.set_do_qlp_coeff_prec_search(false); + encoder.set_do_exhaustive_model_search(false); + } + if ( size > 2 * 4096 * 4 + 250 ) { + /* With subdivide_tukey in the mix testing apodizations can get really expensive. Therefore + * this is disabled for inputs of more than one whole stereo block of 32-bit inputs plus a + * bit of overhead */ + encoder.set_apodization(""); + } + + { + ::FLAC__StreamEncoderInitStatus ret; + if ( ds.Get() ) { + ret = encoder.init(); + } else { + ret = encoder.init_ogg(); + } + + if ( ret != FLAC__STREAM_ENCODER_INIT_STATUS_OK ) { + goto end; + } + } + + /* These sets must fail, because encoder is already initialized */ + { + bool res = false; + res = res || encoder.set_streamable_subset(true); + res = res || encoder.set_ogg_serial_number(0); + res = res || encoder.set_verify(true); + res = res || encoder.set_compression_level(0); + res = res || encoder.set_do_exhaustive_model_search(true); + res = res || encoder.set_do_mid_side_stereo(true); + res = res || encoder.set_loose_mid_side_stereo(true); + res = res || encoder.set_apodization("test"); + res = res || encoder.set_max_lpc_order(0); + res = res || encoder.set_qlp_coeff_precision(0); + res = res || encoder.set_do_qlp_coeff_prec_search(true); + res = res || encoder.set_do_escape_coding(true); + res = res || encoder.set_min_residual_partition_order(0); + res = res || encoder.set_max_residual_partition_order(0); + res = res || encoder.set_rice_parameter_search_dist(0); + res = res || encoder.set_total_samples_estimate(0); + res = res || encoder.set_channels(channels); + res = res || encoder.set_bits_per_sample(16); + res = res || encoder.set_limit_min_bitrate(true); + res = res || encoder.set_blocksize(3021); + res = res || encoder.set_sample_rate(44100); + fuzzing::memory::memory_test(res); + if(res) + abort(); + } + + + { + /* XORing values as otherwise compiler will optimize, apparently */ + bool res = false; + res = res != encoder.get_streamable_subset(); + res = res != encoder.get_verify(); + res = res != encoder.get_do_exhaustive_model_search(); + res = res != encoder.get_do_mid_side_stereo(); + res = res != encoder.get_loose_mid_side_stereo(); + res = res != encoder.get_max_lpc_order(); + res = res != encoder.get_qlp_coeff_precision(); + res = res != encoder.get_do_qlp_coeff_prec_search(); + res = res != encoder.get_do_escape_coding(); + res = res != encoder.get_min_residual_partition_order(); + res = res != encoder.get_max_residual_partition_order(); + res = res != encoder.get_rice_parameter_search_dist(); + res = res != encoder.get_total_samples_estimate(); + res = res != encoder.get_channels(); + res = res != encoder.get_bits_per_sample(); + res = res != encoder.get_limit_min_bitrate(); + res = res != encoder.get_blocksize(); + res = res != encoder.get_sample_rate(); + fuzzing::memory::memory_test(res); + } + + + while ( ds.Get() ) { + { + auto dat = ds.GetVector(); + + if( ds.Get() ) + /* Mask */ + for (size_t i = 0; i < dat.size(); i++) + /* If we get here, bps is 4 or larger, or init will have failed */ + dat[i] = (int32_t)(((uint32_t)(dat[i]) << (32-bps)) >> (32-bps)); + + const uint32_t samples = dat.size() / channels; + if ( samples > 0 ) { + const int32_t* ptr = dat.data(); + const bool res = encoder.process_interleaved(ptr, samples); + fuzzing::memory::memory_test(res); + } + } + } + } catch ( ... ) { } + +end: + { + const bool res = encoder.finish(); + fuzzing::memory::memory_test(res); + } + return 0; +} diff -Nru flac-1.4.2+ds/oss-fuzz/encoder_v2.cc flac-1.4.3+ds1/oss-fuzz/encoder_v2.cc --- flac-1.4.2+ds/oss-fuzz/encoder_v2.cc 1970-01-01 00:00:00.000000000 +0000 +++ flac-1.4.3+ds1/oss-fuzz/encoder_v2.cc 2023-06-15 09:52:54.206861466 +0000 @@ -0,0 +1,352 @@ +/* fuzzer_encoder_v2 + * Copyright (C) 2022-2023 Xiph.Org Foundation + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Xiph.org Foundation nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include /* for memcpy */ +#include "FLAC/stream_encoder.h" +#include "FLAC/metadata.h" +extern "C" { +#include "share/private.h" +} +#include "common.h" + +/* This C++ fuzzer uses the FLAC and not FLAC++ because the latter lacks a few + * hidden functions like FLAC__stream_encoder_disable_constant_subframes. It + * is still processed by a C++ compiler because that's what oss-fuzz expects */ + + +static FLAC__StreamEncoderWriteStatus write_callback(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame, void *client_data) +{ + (void)encoder, (void)buffer, (void)bytes, (void)samples, (void)current_frame, (void)client_data; + return FLAC__STREAM_ENCODER_WRITE_STATUS_OK; +} + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + FLAC__bool encoder_valid = true; + FLAC__StreamEncoder *encoder = 0; + FLAC__StreamEncoderState state; + FLAC__StreamMetadata *metadata[16] = {NULL}; + unsigned num_metadata = 0; + FLAC__StreamMetadata_VorbisComment_Entry VorbisCommentField; + + unsigned sample_rate, channels, bps; + uint64_t samples_estimate, samples_in_input; + unsigned compression_level, input_data_width, blocksize, max_lpc_order, qlp_coeff_precision, min_residual_partition_order, max_residual_partition_order, metadata_mask, instruction_set_disable_mask; + FLAC__bool ogg, write_to_file, interleaved; + + FLAC__bool data_bools[24]; + + /* Set alloc threshold. This check was added later and no spare config + * bytes were left, so we're reusing the sample rate as that of little + * consequence to the encoder and decoder except reading the frame header */ + + if(size < 3) + return 0; + alloc_check_threshold = data[2]; + alloc_check_counter = 0; + + /* allocate the encoder */ + if((encoder = FLAC__stream_encoder_new()) == NULL) { + fprintf(stderr, "ERROR: allocating encoder\n"); + return 1; + } + + /* Use first 20 byte for configuration */ + if(size < 20){ + FLAC__stream_encoder_delete(encoder); + return 0; + } + + /* First 3 byte for sample rate, 4th byte for channels, 5th byte for bps */ + sample_rate = ((unsigned)data[0] << 16) + ((unsigned)data[1] << 8) + data[2]; + channels = data[3]; + bps = data[4]; + + /* Number of samples estimate, format accepts 36-bit max */ + samples_estimate = ((uint64_t)data[5] << 32) + ((unsigned)data[6] << 24) + ((unsigned)data[7] << 16) + ((unsigned)data[8] << 8) + data[9]; + + compression_level = data[10]&0b1111; + input_data_width = 1 + (data[10]>>4)%4; + samples_in_input = (size-20)/input_data_width; + blocksize = ((unsigned)data[11] << 8) + (unsigned)data[12]; + max_lpc_order = data[13]; + qlp_coeff_precision = data[14]; + min_residual_partition_order = data[15] & 0b1111; + max_residual_partition_order = data[15] & 0b11110000; + metadata_mask = data[16]; + instruction_set_disable_mask = data[17]; + + /* Get array of bools from configuration */ + for(int i = 0; i < 16; i++) + data_bools[i] = data[18+i/8] & (1 << (i % 8)); + + ogg = data_bools[0]; + interleaved = data_bools[1]; + write_to_file = data_bools[13]; + + /* Set input and process parameters */ + encoder_valid &= FLAC__stream_encoder_set_verify(encoder, data_bools[2]); + encoder_valid &= FLAC__stream_encoder_set_channels(encoder, channels); + encoder_valid &= FLAC__stream_encoder_set_bits_per_sample(encoder, bps); + encoder_valid &= FLAC__stream_encoder_set_sample_rate(encoder, sample_rate); + encoder_valid &= FLAC__stream_encoder_set_total_samples_estimate(encoder, samples_estimate); + encoder_valid &= FLAC__stream_encoder_disable_instruction_set(encoder, instruction_set_disable_mask); + encoder_valid &= FLAC__stream_encoder_set_limit_min_bitrate(encoder, data_bools[15]); + + /* Set compression related parameters */ + encoder_valid &= FLAC__stream_encoder_set_compression_level(encoder, compression_level); + if(data_bools[3]){ + /* Bias towards regular compression levels */ + encoder_valid &= FLAC__stream_encoder_set_blocksize(encoder, blocksize); + encoder_valid &= FLAC__stream_encoder_set_max_lpc_order(encoder, max_lpc_order); + encoder_valid &= FLAC__stream_encoder_set_qlp_coeff_precision(encoder, qlp_coeff_precision); + encoder_valid &= FLAC__stream_encoder_set_min_residual_partition_order(encoder, min_residual_partition_order); + + /* With large inputs and expensive options enabled, the fuzzer can get *really* slow. + * Some combinations can make the fuzzer timeout (>60 seconds). However, while combining + * options makes the fuzzer slower, most options do not expose new code when combined. + * Therefore, combining slow options is disabled for large inputs. Any input containing + * more than 65536 * 2 samples (max blocksize, stereo) is considered large + */ + if(samples_in_input < (2*65536)) { + encoder_valid &= FLAC__stream_encoder_set_streamable_subset(encoder, data_bools[4]); + encoder_valid &= FLAC__stream_encoder_set_do_qlp_coeff_prec_search(encoder, data_bools[5]); + encoder_valid &= FLAC__stream_encoder_set_do_escape_coding(encoder, data_bools[6]); + encoder_valid &= FLAC__stream_encoder_set_do_exhaustive_model_search(encoder, data_bools[7]); + /* Combining model search, precision search and a high residual partition order is especially + * expensive, so limit that even further. This high partition order can only be set on + * large blocksize and with streamable subset disabled */ + if(samples_in_input < (2 * 4609) || data_bools[4] || !data_bools[7] || !data_bools[5] || max_residual_partition_order < 9 || blocksize < 4609) + encoder_valid &= FLAC__stream_encoder_set_max_residual_partition_order(encoder, max_residual_partition_order); + } + else { + if(!data_bools[4]) + encoder_valid &= FLAC__stream_encoder_set_streamable_subset(encoder, false); + else if(data_bools[6]) + encoder_valid &= FLAC__stream_encoder_set_do_escape_coding(encoder, true); + else if(data_bools[7]) + encoder_valid &= FLAC__stream_encoder_set_do_exhaustive_model_search(encoder, true); + else if(data_bools[5]) + encoder_valid &= FLAC__stream_encoder_set_do_qlp_coeff_prec_search(encoder, true); + } + encoder_valid &= FLAC__stream_encoder_set_do_mid_side_stereo(encoder, data_bools[8]); + encoder_valid &= FLAC__stream_encoder_set_loose_mid_side_stereo(encoder, data_bools[9]); + + encoder_valid &= FLAC__stream_encoder_disable_constant_subframes(encoder, data_bools[10]); + encoder_valid &= FLAC__stream_encoder_disable_fixed_subframes(encoder, data_bools[11]); + encoder_valid &= FLAC__stream_encoder_disable_verbatim_subframes(encoder, data_bools[12]); + } + + /* Disable alloc check if requested */ + if(encoder_valid && data_bools[14]) + alloc_check_threshold = INT32_MAX; + + /* add metadata */ + if(encoder_valid && (metadata_mask & 1)) { + if((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_STREAMINFO)) == NULL) + encoder_valid = false; + else + num_metadata++; + } + if(encoder_valid && (metadata_mask & 2) && size > 21){ + if((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING)) == NULL) + encoder_valid = false; + else { + metadata[num_metadata++]->length = (((unsigned)data[20]) << 8) + (unsigned)(data[21]); + } + } + if(encoder_valid && (metadata_mask & 4) && size > 20){ + FLAC__byte * application_data = (FLAC__byte *)malloc(size-20); + if(0 != application_data && ((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_APPLICATION)) == NULL)) + encoder_valid = false; + else { + memcpy(application_data,data+20,size-20); + FLAC__metadata_object_application_set_data(metadata[num_metadata++], application_data, size-20, 0); + } + } + if(encoder_valid && (metadata_mask & 8) && size > 25){ + if((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_SEEKTABLE)) == NULL) + encoder_valid = false; + else { + unsigned seekpoint_spacing = ((unsigned)data[22] << 8) + data[23]; + unsigned total_samples_for_seekpoints = ((unsigned)data[24] << 8) + data[25]; + FLAC__metadata_object_seektable_template_append_spaced_points_by_samples(metadata[num_metadata++], seekpoint_spacing, total_samples_for_seekpoints); + } + } + if(encoder_valid && (metadata_mask & 16)){ + if((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_VORBIS_COMMENT)) != NULL) { + bool vorbiscomment_valid = true; + /* Append a vorbis comment */ + if(!FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair(&VorbisCommentField, "COMMENTARY", "Nothing to 🤔 report")) + vorbiscomment_valid = false; + else { + if(FLAC__metadata_object_vorbiscomment_append_comment(metadata[num_metadata], VorbisCommentField, false)) { + + /* Insert a vorbis comment at the first index */ + if(!FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair(&VorbisCommentField, "COMMENTARY", "Still nothing to report 🤔🤣")) + vorbiscomment_valid = false; + else + if(!FLAC__metadata_object_vorbiscomment_insert_comment(metadata[num_metadata], 0, VorbisCommentField, false)) { + free(VorbisCommentField.entry); + vorbiscomment_valid = false; + } + } + else { + free(VorbisCommentField.entry); + vorbiscomment_valid = false; + } + } + if(!vorbiscomment_valid) { + FLAC__metadata_object_delete(metadata[num_metadata]); + metadata[num_metadata] = 0; + } + else + num_metadata++; + } + } + if(encoder_valid && (metadata_mask & 32)){ + if((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_CUESHEET)) != NULL) { + if(!FLAC__metadata_object_cuesheet_insert_blank_track(metadata[num_metadata],0)) { + FLAC__metadata_object_delete(metadata[num_metadata]); + metadata[num_metadata] = 0; + } + else { + if(!FLAC__metadata_object_cuesheet_track_insert_blank_index(metadata[num_metadata],0,0)) { + FLAC__metadata_object_delete(metadata[num_metadata]); + metadata[num_metadata] = 0; + } + else { + metadata[num_metadata]->data.cue_sheet.tracks[0].number = 1; + num_metadata++; + } + } + } + } + if(encoder_valid && (metadata_mask & 64)){ + if((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PICTURE)) != NULL) { + num_metadata++; + } + } + if(encoder_valid && (metadata_mask & 128)){ + if((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_UNDEFINED)) != NULL) { + metadata[num_metadata]->length = 24; + metadata[num_metadata]->data.unknown.data = (FLAC__byte *)calloc(24, 1); + num_metadata++; + } + } + + if(num_metadata && encoder_valid) + encoder_valid = FLAC__stream_encoder_set_metadata(encoder, metadata, num_metadata); + + /* initialize encoder */ + if(encoder_valid) { + FLAC__StreamEncoderInitStatus init_status; + if(ogg) + if(write_to_file) + init_status = FLAC__stream_encoder_init_ogg_file(encoder, "/tmp/tmp.flac", NULL, NULL); + else + init_status = FLAC__stream_encoder_init_ogg_stream(encoder, NULL, write_callback, NULL, NULL, NULL, NULL); + else + if(write_to_file) + init_status = FLAC__stream_encoder_init_file(encoder, "/tmp/tmp.flac", NULL, NULL); + else + init_status = FLAC__stream_encoder_init_stream(encoder, write_callback, NULL, NULL, NULL, NULL); + if(init_status != FLAC__STREAM_ENCODER_INIT_STATUS_OK) { + encoder_valid = false; + } + } + + + /* send samples to encoder */ + if(encoder_valid && size > (input_data_width*channels+26)) { + unsigned samples = (size - 26)/input_data_width/channels; + const uint8_t * pcm_data = data + 26; + int32_t * data_as_int32 = (int32_t *)malloc(4*samples*channels); + if(0 != data_as_int32){ + for(unsigned i = 0; i < samples*channels; i++) + if(input_data_width == 1) + data_as_int32[i] = (int32_t)pcm_data[i] - 0x80; + else if(input_data_width == 2) + data_as_int32[i] = (((int32_t)pcm_data[i*2] << 8) + pcm_data[i*2+1]) - 0x8000; + else if(input_data_width == 3) + data_as_int32[i] = (((int32_t)pcm_data[i*3] << 16) + ((int32_t)pcm_data[i*3+1] << 8) + pcm_data[i*3+2]) - 0x800000; + else if(input_data_width == 4) + data_as_int32[i] = (((int64_t)pcm_data[i*4] << 24) + ((int32_t)pcm_data[i*4+1] << 16) + ((int32_t)pcm_data[i*4+2] << 8) + pcm_data[i*4+3]) - 0x80000000; + + /* feed samples to encoder */ + if(interleaved) + encoder_valid = FLAC__stream_encoder_process_interleaved(encoder, data_as_int32, samples); + else { + encoder_valid = FLAC__stream_encoder_process(encoder, (const int32_t*[]){data_as_int32, + data_as_int32+samples, + data_as_int32+samples*2, + data_as_int32+samples*3, + data_as_int32+samples*4, data_as_int32+samples*5, data_as_int32+samples*6, data_as_int32+samples*7}, samples); + } + free(data_as_int32); + } + else { + encoder_valid = false; + } + } + + state = FLAC__stream_encoder_get_state(encoder); + if(!(state == FLAC__STREAM_ENCODER_OK || + state == FLAC__STREAM_ENCODER_UNINITIALIZED || + state == FLAC__STREAM_ENCODER_CLIENT_ERROR || + ((state == FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR || + state == FLAC__STREAM_ENCODER_FRAMING_ERROR || + (state == FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR && + FLAC__stream_encoder_get_verify_decoder_state(encoder) == FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR)) && + alloc_check_threshold < INT32_MAX))) { + fprintf(stderr,"-----\nERROR: stream encoder returned %s\n-----\n",FLAC__stream_encoder_get_resolved_state_string(encoder)); + if(state == FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA) { + uint32_t frame_number, channel, sample_number; + FLAC__int32 expected, got; + FLAC__stream_encoder_get_verify_decoder_error_stats(encoder, NULL, &frame_number, &channel, &sample_number, &expected, &got); + fprintf(stderr,"Frame number %d\nChannel %d\n Sample number %d\nExpected value %d\nGot %d\n", frame_number, channel, sample_number, expected, got); + } + abort(); + } + + FLAC__stream_encoder_finish(encoder); + + /* now that encoding is finished, the metadata can be freed */ + for(unsigned i = 0; i < 16; i++) + if(0 != metadata[i]) + FLAC__metadata_object_delete(metadata[i]); + + FLAC__stream_encoder_delete(encoder); + + return 0; +} + diff -Nru flac-1.4.2+ds/oss-fuzz/fuzzer_common.h flac-1.4.3+ds1/oss-fuzz/fuzzer_common.h --- flac-1.4.2+ds/oss-fuzz/fuzzer_common.h 2022-10-21 17:13:32.296681200 +0000 +++ flac-1.4.3+ds1/oss-fuzz/fuzzer_common.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,2 +0,0 @@ -extern int alloc_check_threshold, alloc_check_counter; -int alloc_check_threshold = INT32_MAX, alloc_check_counter = 0; diff -Nru flac-1.4.2+ds/oss-fuzz/fuzzer_decoder.cc flac-1.4.3+ds1/oss-fuzz/fuzzer_decoder.cc --- flac-1.4.2+ds/oss-fuzz/fuzzer_decoder.cc 2022-10-21 17:13:32.312238300 +0000 +++ flac-1.4.3+ds1/oss-fuzz/fuzzer_decoder.cc 1970-01-01 00:00:00.000000000 +0000 @@ -1,408 +0,0 @@ -/* Copyright 2019 Guido Vranken - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject - * to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include -#include - -#include -#include - -#include "FLAC++/decoder.h" -#include "FLAC++/metadata.h" -#include "fuzzer_common.h" - -template <> FLAC__MetadataType fuzzing::datasource::Base::Get(const uint64_t id) { - (void)id; - switch ( Get() ) { - case 0: - return FLAC__METADATA_TYPE_STREAMINFO; - case 1: - return FLAC__METADATA_TYPE_PADDING; - case 2: - return FLAC__METADATA_TYPE_APPLICATION; - case 3: - return FLAC__METADATA_TYPE_SEEKTABLE; - case 4: - return FLAC__METADATA_TYPE_VORBIS_COMMENT; - case 5: - return FLAC__METADATA_TYPE_CUESHEET; - case 6: - return FLAC__METADATA_TYPE_PICTURE; - case 7: - return FLAC__METADATA_TYPE_UNDEFINED; - case 8: - return FLAC__MAX_METADATA_TYPE; - default: - return FLAC__METADATA_TYPE_STREAMINFO; - } -} - -namespace FLAC { - namespace Decoder { - class FuzzerStream : public Stream { - private: - fuzzing::datasource::Datasource& ds; - public: - FuzzerStream(fuzzing::datasource::Datasource& dsrc) : - Stream(), ds(dsrc) { } - - ::FLAC__StreamDecoderReadStatus read_callback(FLAC__byte buffer[], size_t *bytes) override { - try { - const size_t maxCopySize = *bytes; - - if ( maxCopySize > 0 ) { - /* memset just to test if this overwrites anything, and triggers ASAN */ - memset(buffer, 0, maxCopySize); - } - - const auto data = ds.GetData(0); - const auto dataSize = data.size(); - const auto copySize = std::min(maxCopySize, dataSize); - - if ( copySize > 0 ) { - memcpy(buffer, data.data(), copySize); - } - - *bytes = copySize; - - return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE; - } catch ( ... ) { - return FLAC__STREAM_DECODER_READ_STATUS_ABORT; - } - } - - ::FLAC__StreamDecoderWriteStatus write_callback(const ::FLAC__Frame *frame, const FLAC__int32 * const buffer[]) override { - { - fuzzing::memory::memory_test(&(frame->header), sizeof(frame->header)); - fuzzing::memory::memory_test(&(frame->footer), sizeof(frame->footer)); - } - - { - const auto numChannels = get_channels(); - const size_t bytesPerChannel = frame->header.blocksize * sizeof(FLAC__int32); - for (size_t i = 0; i < numChannels; i++) { - fuzzing::memory::memory_test(buffer[i], bytesPerChannel); - } - } - - try { - if ( ds.Get() == true ) { - return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT; - } - } catch ( ... ) { } - return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE; - } - - void error_callback(::FLAC__StreamDecoderErrorStatus status) override { - fuzzing::memory::memory_test(status); - } - - void metadata_callback(const ::FLAC__StreamMetadata *metadata) override { - Metadata::Prototype * cloned_object = nullptr; - fuzzing::memory::memory_test(metadata->type); - fuzzing::memory::memory_test(metadata->is_last); - fuzzing::memory::memory_test(metadata->length); - fuzzing::memory::memory_test(metadata->data); - if (metadata->type == FLAC__METADATA_TYPE_STREAMINFO) - cloned_object = new Metadata::StreamInfo(metadata); - else if (metadata->type == FLAC__METADATA_TYPE_PADDING) - cloned_object = new Metadata::Padding(metadata); - else if (metadata->type == FLAC__METADATA_TYPE_APPLICATION) - cloned_object = new Metadata::Application(metadata); - else if (metadata->type == FLAC__METADATA_TYPE_SEEKTABLE) - cloned_object = new Metadata::SeekTable(metadata); - else if (metadata->type == FLAC__METADATA_TYPE_VORBIS_COMMENT) - cloned_object = new Metadata::VorbisComment(metadata); - else if (metadata->type == FLAC__METADATA_TYPE_CUESHEET) - cloned_object = new Metadata::CueSheet(metadata); - else if (metadata->type == FLAC__METADATA_TYPE_PICTURE) - cloned_object = new Metadata::Picture(metadata); - else - return; - if (0 != cloned_object && *cloned_object == *metadata && cloned_object->is_valid()) { - if (cloned_object->get_type() == FLAC__METADATA_TYPE_SEEKTABLE) - dynamic_cast(cloned_object)->is_legal(); - if (cloned_object->get_type() == FLAC__METADATA_TYPE_PICTURE) - dynamic_cast(cloned_object)->is_legal(NULL); - if (cloned_object->get_type() == FLAC__METADATA_TYPE_CUESHEET) - dynamic_cast(cloned_object)->is_legal(true,NULL); - } - delete cloned_object; - } - - ::FLAC__StreamDecoderSeekStatus seek_callback(FLAC__uint64 absolute_byte_offset) override { - fuzzing::memory::memory_test(absolute_byte_offset); - - try { - if ( ds.Get() == true ) { - return FLAC__STREAM_DECODER_SEEK_STATUS_OK; - } else { - return FLAC__STREAM_DECODER_SEEK_STATUS_ERROR; - } - } catch ( ... ) { - return FLAC__STREAM_DECODER_SEEK_STATUS_OK; - } - } -#if 0 - ::FLAC__StreamDecoderTellStatus tell_callback(FLAC__uint64 *absolute_byte_offset) override { - fuzzing::memory::memory_test(*absolute_byte_offset); - - try { - if ( ds.Get() == true ) { - return FLAC__STREAM_DECODER_TELL_STATUS_OK; - } else { - return FLAC__STREAM_DECODER_TELL_STATUS_ERROR; - } - } catch ( ... ) { - return FLAC__STREAM_DECODER_TELL_STATUS_OK; - } - } - - ::FLAC__StreamDecoderLengthStatus length_callback(FLAC__uint64 *stream_length) override { - fuzzing::memory::memory_test(*stream_length); - - try { - if ( ds.Get() == true ) { - return FLAC__STREAM_DECODER_LENGTH_STATUS_OK; - } else { - return FLAC__STREAM_DECODER_LENGTH_STATUS_ERROR; - } - } catch ( ... ) { - return FLAC__STREAM_DECODER_LENGTH_STATUS_OK; - } - } -#endif - }; - } -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - fuzzing::datasource::Datasource ds(data, size); - FLAC::Decoder::FuzzerStream decoder(ds); - bool use_ogg = true; - - try { - if ( ds.Get() ) { - use_ogg = false; - } - if ( ds.Get() ) { -#ifdef FUZZER_DEBUG - printf("set_ogg_serial_number\n"); -#endif - decoder.set_ogg_serial_number(ds.Get()); - } - if ( ds.Get() ) { -#ifdef FUZZER_DEBUG - printf("set_md5_checking\n"); -#endif - decoder.set_md5_checking(ds.Get()); - } - if ( ds.Get() ) { -#ifdef FUZZER_DEBUG - printf("set_metadata_respond\n"); -#endif - decoder.set_metadata_respond(ds.Get<::FLAC__MetadataType>()); - } - if ( ds.Get() ) { - const auto idVector = ds.GetData(0); - unsigned char id[4]; - if ( idVector.size() >= sizeof(id) ) { - memcpy(id, idVector.data(), sizeof(id)); -#ifdef FUZZER_DEBUG - printf("set_metadata_respond_application\n"); -#endif - decoder.set_metadata_respond_application(id); - } - } - if ( ds.Get() ) { -#ifdef FUZZER_DEBUG - printf("set_metadata_respond_all\n"); -#endif - decoder.set_metadata_respond_all(); - } - if ( ds.Get() ) { -#ifdef FUZZER_DEBUG - printf("set_metadata_ignore\n"); -#endif - decoder.set_metadata_ignore(ds.Get<::FLAC__MetadataType>()); - } - if ( ds.Get() ) { - const auto idVector = ds.GetData(0); - unsigned char id[4]; - if ( idVector.size() >= sizeof(id) ) { - memcpy(id, idVector.data(), sizeof(id)); -#ifdef FUZZER_DEBUG - printf("set_metadata_ignore_application\n"); -#endif - decoder.set_metadata_ignore_application(id); - } - } - if ( ds.Get() ) { -#ifdef FUZZER_DEBUG - printf("set_metadata_ignore_all\n"); -#endif - decoder.set_metadata_ignore_all(); - } - { - ::FLAC__StreamDecoderInitStatus ret; - if ( !use_ogg ) { - ret = decoder.init(); - } else { - ret = decoder.init_ogg(); - } - - if ( ret != FLAC__STREAM_DECODER_INIT_STATUS_OK ) { - goto end; - } - } - - while ( ds.Get() ) { - switch ( ds.Get() ) { - case 0: - { -#ifdef FUZZER_DEBUG - printf("flush\n"); -#endif - const bool res = decoder.flush(); - fuzzing::memory::memory_test(res); - } - break; - case 1: - { -#ifdef FUZZER_DEBUG - printf("reset\n"); -#endif - const bool res = decoder.reset(); - fuzzing::memory::memory_test(res); - } - break; - case 2: - { -#ifdef FUZZER_DEBUG - printf("process_single\n"); -#endif - const bool res = decoder.process_single(); - fuzzing::memory::memory_test(res); - } - break; - case 3: - { -#ifdef FUZZER_DEBUG - printf("process_until_end_of_metadata\n"); -#endif - const bool res = decoder.process_until_end_of_metadata(); - fuzzing::memory::memory_test(res); - } - break; - case 4: - { -#ifdef FUZZER_DEBUG - printf("process_until_end_of_stream\n"); -#endif - const bool res = decoder.process_until_end_of_stream(); - fuzzing::memory::memory_test(res); - } - break; - case 5: - { -#ifdef FUZZER_DEBUG - printf("skip_single_frame\n"); -#endif - const bool res = decoder.skip_single_frame(); - fuzzing::memory::memory_test(res); - } - break; - case 6: - { -#ifdef FUZZER_DEBUG - printf("seek_absolute\n"); -#endif - const bool res = decoder.seek_absolute(ds.Get()); - fuzzing::memory::memory_test(res); - } - break; - case 7: - { -#ifdef FUZZER_DEBUG - printf("get_md5_checking\n"); -#endif - const bool res = decoder.get_md5_checking(); - fuzzing::memory::memory_test(res); - } - break; - case 8: - { -#ifdef FUZZER_DEBUG - printf("get_total_samples\n"); -#endif - const bool res = decoder.get_total_samples(); - fuzzing::memory::memory_test(res); - } - break; - case 9: - { -#ifdef FUZZER_DEBUG - printf("get_channels\n"); -#endif - const bool res = decoder.get_channels(); - fuzzing::memory::memory_test(res); - } - break; - case 10: - { -#ifdef FUZZER_DEBUG - printf("get_bits_per_sample\n"); -#endif - const bool res = decoder.get_bits_per_sample(); - fuzzing::memory::memory_test(res); - } - break; - case 11: - { -#ifdef FUZZER_DEBUG - printf("get_sample_rate\n"); -#endif - const bool res = decoder.get_sample_rate(); - fuzzing::memory::memory_test(res); - } - break; - case 12: - { -#ifdef FUZZER_DEBUG - printf("get_blocksize\n"); -#endif - const bool res = decoder.get_blocksize(); - fuzzing::memory::memory_test(res); - } - break; - } - } - } catch ( ... ) { } - -end: - { - const bool res = decoder.finish(); - fuzzing::memory::memory_test(res); - } - return 0; -} diff -Nru flac-1.4.2+ds/oss-fuzz/fuzzer_encoder.cc flac-1.4.3+ds1/oss-fuzz/fuzzer_encoder.cc --- flac-1.4.2+ds/oss-fuzz/fuzzer_encoder.cc 2022-10-21 17:13:32.550247900 +0000 +++ flac-1.4.3+ds1/oss-fuzz/fuzzer_encoder.cc 1970-01-01 00:00:00.000000000 +0000 @@ -1,201 +0,0 @@ -/* Copyright 2019 Guido Vranken - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject - * to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include -#include -#include - -#include -#include - -#include "FLAC++/encoder.h" -#include "fuzzer_common.h" - -#define SAMPLE_VALUE_LIMIT (1024*1024*10) - -static_assert(SAMPLE_VALUE_LIMIT <= std::numeric_limits::max(), "Invalid SAMPLE_VALUE_LIMIT"); -static_assert(-SAMPLE_VALUE_LIMIT >= std::numeric_limits::min(), "Invalid SAMPLE_VALUE_LIMIT"); - -namespace FLAC { - namespace Encoder { - class FuzzerStream : public Stream { - private: - // fuzzing::datasource::Datasource& ds; - public: - FuzzerStream(fuzzing::datasource::Datasource&) : - Stream() { } - - ::FLAC__StreamEncoderWriteStatus write_callback(const FLAC__byte buffer[], size_t bytes, uint32_t /* samples */, uint32_t /* current_frame */) override { - fuzzing::memory::memory_test(buffer, bytes); -#if 0 - try { - if ( ds.Get() == true ) { - return FLAC__STREAM_ENCODER_WRITE_STATUS_FATAL_ERROR; - } - } catch ( ... ) { } -#endif - return FLAC__STREAM_ENCODER_WRITE_STATUS_OK; - } - }; - } -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { - fuzzing::datasource::Datasource ds(data, size); - FLAC::Encoder::FuzzerStream encoder(ds); - bool use_ogg; - - const int channels = 2; - encoder.set_channels(channels); - encoder.set_bits_per_sample(16); - - try { - - use_ogg = ! ds.Get(); - - { - const bool res = encoder.set_streamable_subset(ds.Get()); - fuzzing::memory::memory_test(res); - } - { - const bool res = encoder.set_ogg_serial_number(ds.Get()); - fuzzing::memory::memory_test(res); - } - { - const bool res = encoder.set_verify(ds.Get()); - fuzzing::memory::memory_test(res); - } - { - const bool res = encoder.set_compression_level(ds.Get()); - fuzzing::memory::memory_test(res); - } - { - const bool res = encoder.set_do_exhaustive_model_search(ds.Get()); - fuzzing::memory::memory_test(res); - } - { - const bool res = encoder.set_do_mid_side_stereo(ds.Get()); - fuzzing::memory::memory_test(res); - } - { - const bool res = encoder.set_loose_mid_side_stereo(ds.Get()); - fuzzing::memory::memory_test(res); - } - { - const auto s = ds.Get(); - const bool res = encoder.set_apodization(s.data()); - fuzzing::memory::memory_test(res); - } - { - const bool res = encoder.set_max_lpc_order(ds.Get()); - fuzzing::memory::memory_test(res); - } - { - const bool res = encoder.set_qlp_coeff_precision(ds.Get()); - fuzzing::memory::memory_test(res); - } - { - const bool res = encoder.set_do_qlp_coeff_prec_search(ds.Get()); - fuzzing::memory::memory_test(res); - } - { - const bool res = encoder.set_do_escape_coding(ds.Get()); - fuzzing::memory::memory_test(res); - } - { - const bool res = encoder.set_min_residual_partition_order(ds.Get()); - fuzzing::memory::memory_test(res); - } - { - const bool res = encoder.set_max_residual_partition_order(ds.Get()); - fuzzing::memory::memory_test(res); - } - { - const bool res = encoder.set_rice_parameter_search_dist(ds.Get()); - fuzzing::memory::memory_test(res); - } - { - const bool res = encoder.set_total_samples_estimate(ds.Get()); - fuzzing::memory::memory_test(res); - } - - if ( size > 2 * 65535 * 4 ) { - /* With large inputs and expensive options enabled, the fuzzer can get *really* slow. - * Some combinations can make the fuzzer timeout (>60 seconds). However, while combining - * options makes the fuzzer slower, most options do not expose new code when combined. - * Therefore, combining slow options is disabled for large inputs. Any input containing - * more than 65536 * 2 samples of 32 bits each (max blocksize, stereo) is considered large - */ - encoder.set_do_qlp_coeff_prec_search(false); - encoder.set_do_exhaustive_model_search(false); - } - if ( size > 2 * 4096 * 4 + 250 ) { - /* With subdivide_tukey in the mix testing apodizations can get really expensive. Therefore - * this is disabled for inputs of more than one whole stereo block of 32-bit inputs plus a - * bit of overhead */ - encoder.set_apodization(""); - } - - { - ::FLAC__StreamEncoderInitStatus ret; - if ( !use_ogg ) { - ret = encoder.init(); - } else { - ret = encoder.init_ogg(); - } - - if ( ret != FLAC__STREAM_ENCODER_INIT_STATUS_OK ) { - goto end; - } - } - - - while ( ds.Get() ) { - { - auto dat = ds.GetVector(); - for (size_t i = 0; i < dat.size(); i++) { - if ( SAMPLE_VALUE_LIMIT != 0 ) { - if ( dat[i] < -SAMPLE_VALUE_LIMIT ) { - dat[i] = -SAMPLE_VALUE_LIMIT; - } else if ( dat[i] > SAMPLE_VALUE_LIMIT ) { - dat[i] = SAMPLE_VALUE_LIMIT; - } - } - } - const uint32_t samples = dat.size() / 2; - if ( samples > 0 ) { - const int32_t* ptr = dat.data(); - const bool res = encoder.process_interleaved(ptr, samples); - fuzzing::memory::memory_test(res); - } - } - } - } catch ( ... ) { } - -end: - { - const bool res = encoder.finish(); - fuzzing::memory::memory_test(res); - } - return 0; -} diff -Nru flac-1.4.2+ds/oss-fuzz/fuzzer_encoder.dict flac-1.4.3+ds1/oss-fuzz/fuzzer_encoder.dict --- flac-1.4.2+ds/oss-fuzz/fuzzer_encoder.dict 2022-10-21 17:13:32.579344100 +0000 +++ flac-1.4.3+ds1/oss-fuzz/fuzzer_encoder.dict 2023-04-17 09:56:11.686272794 +0000 @@ -14,4 +14,5 @@ "tukey(0)" "partial_tukey(0)" "punchout_tukey(0)" +"subdivide_tukey(0)" "welch" diff -Nru flac-1.4.2+ds/oss-fuzz/fuzzer_encoder_v2.cc flac-1.4.3+ds1/oss-fuzz/fuzzer_encoder_v2.cc --- flac-1.4.2+ds/oss-fuzz/fuzzer_encoder_v2.cc 2022-10-21 17:13:32.588653500 +0000 +++ flac-1.4.3+ds1/oss-fuzz/fuzzer_encoder_v2.cc 1970-01-01 00:00:00.000000000 +0000 @@ -1,323 +0,0 @@ -/* fuzzer_encoder_v2 - * Copyright (C) 2022 Xiph.Org Foundation - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * - Neither the name of the Xiph.org Foundation nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include /* for memcpy */ -#include "FLAC/stream_encoder.h" -#include "FLAC/metadata.h" -extern "C" { -#include "share/private.h" -} -#include "fuzzer_common.h" - -/* This C++ fuzzer uses the FLAC and not FLAC++ because the latter lacks a few - * hidden functions like FLAC__stream_encoder_disable_constant_subframes. It - * is still processed by a C++ compiler because that's what oss-fuzz expects */ - - -static FLAC__StreamEncoderWriteStatus write_callback(const FLAC__StreamEncoder *encoder, const FLAC__byte buffer[], size_t bytes, uint32_t samples, uint32_t current_frame, void *client_data) -{ - (void)encoder, (void)buffer, (void)bytes, (void)samples, (void)current_frame, (void)client_data; - return FLAC__STREAM_ENCODER_WRITE_STATUS_OK; -} - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - FLAC__bool encoder_valid = true; - FLAC__StreamEncoder *encoder = 0; - FLAC__StreamEncoderState state; - FLAC__StreamMetadata *metadata[16] = {NULL}; - unsigned num_metadata = 0; - FLAC__StreamMetadata_VorbisComment_Entry VorbisCommentField; - - unsigned sample_rate, channels, bps; - uint64_t samples_estimate, samples_in_input; - unsigned compression_level, input_data_width, blocksize, max_lpc_order, qlp_coeff_precision, min_residual_partition_order, max_residual_partition_order, metadata_mask, instruction_set_disable_mask; - FLAC__bool ogg, write_to_file, interleaved; - - FLAC__bool data_bools[24]; - - /* Set alloc threshold. This check was added later and no spare config - * bytes were left, so we're reusing the sample rate as that of little - * consequence to the encoder and decoder except reading the frame header */ - - if(size < 3) - return 0; - alloc_check_threshold = data[2]; - alloc_check_counter = 0; - - /* allocate the encoder */ - if((encoder = FLAC__stream_encoder_new()) == NULL) { - fprintf(stderr, "ERROR: allocating encoder\n"); - return 1; - } - - /* Use first 20 byte for configuration */ - if(size < 20){ - FLAC__stream_encoder_delete(encoder); - return 0; - } - - /* First 3 byte for sample rate, 4th byte for channels, 5th byte for bps */ - sample_rate = ((unsigned)data[0] << 16) + ((unsigned)data[1] << 8) + data[2]; - channels = data[3]; - bps = data[4]; - - /* Number of samples estimate, format accepts 36-bit max */ - samples_estimate = ((uint64_t)data[5] << 32) + ((unsigned)data[6] << 24) + ((unsigned)data[7] << 16) + ((unsigned)data[8] << 8) + data[9]; - - compression_level = data[10]&0b1111; - input_data_width = 1 + (data[10]>>4)%4; - samples_in_input = (size-20)/input_data_width; - blocksize = ((unsigned)data[11] << 8) + (unsigned)data[12]; - max_lpc_order = data[13]; - qlp_coeff_precision = data[14]; - min_residual_partition_order = data[15] & 0b1111; - max_residual_partition_order = data[15] & 0b11110000; - metadata_mask = data[16]; - instruction_set_disable_mask = data[17]; - - /* Get array of bools from configuration */ - for(int i = 0; i < 16; i++) - data_bools[i] = data[18+i/8] & (1 << (i % 8)); - - ogg = data_bools[0]; - interleaved = data_bools[1]; - write_to_file = data_bools[13]; - - /* Set input and process parameters */ - encoder_valid &= FLAC__stream_encoder_set_verify(encoder, data_bools[2]); - encoder_valid &= FLAC__stream_encoder_set_channels(encoder, channels); - encoder_valid &= FLAC__stream_encoder_set_bits_per_sample(encoder, bps); - encoder_valid &= FLAC__stream_encoder_set_sample_rate(encoder, sample_rate); - encoder_valid &= FLAC__stream_encoder_set_total_samples_estimate(encoder, samples_estimate); - encoder_valid &= FLAC__stream_encoder_disable_instruction_set(encoder, instruction_set_disable_mask); - - /* Set compression related parameters */ - encoder_valid &= FLAC__stream_encoder_set_compression_level(encoder, compression_level); - if(data_bools[3]){ - /* Bias towards regular compression levels */ - encoder_valid &= FLAC__stream_encoder_set_blocksize(encoder, blocksize); - encoder_valid &= FLAC__stream_encoder_set_max_lpc_order(encoder, max_lpc_order); - encoder_valid &= FLAC__stream_encoder_set_qlp_coeff_precision(encoder, qlp_coeff_precision); - encoder_valid &= FLAC__stream_encoder_set_min_residual_partition_order(encoder, min_residual_partition_order); - - /* With large inputs and expensive options enabled, the fuzzer can get *really* slow. - * Some combinations can make the fuzzer timeout (>60 seconds). However, while combining - * options makes the fuzzer slower, most options do not expose new code when combined. - * Therefore, combining slow options is disabled for large inputs. Any input containing - * more than 65536 * 2 samples (max blocksize, stereo) is considered large - */ - if(samples_in_input < (2*65536)) { - encoder_valid &= FLAC__stream_encoder_set_streamable_subset(encoder, data_bools[4]); - encoder_valid &= FLAC__stream_encoder_set_do_qlp_coeff_prec_search(encoder, data_bools[5]); - encoder_valid &= FLAC__stream_encoder_set_do_escape_coding(encoder, data_bools[6]); - encoder_valid &= FLAC__stream_encoder_set_do_exhaustive_model_search(encoder, data_bools[7]); - /* Combining model search, precision search and a high residual partition order is especially - * expensive, so limit that even further. This high partition order can only be set on - * large blocksize and with streamable subset disabled */ - if(samples_in_input < (2 * 4609) || data_bools[4] || !data_bools[7] || !data_bools[5] || max_residual_partition_order < 9 || blocksize < 4609) - encoder_valid &= FLAC__stream_encoder_set_max_residual_partition_order(encoder, max_residual_partition_order); - } - else { - if(!data_bools[4]) - encoder_valid &= FLAC__stream_encoder_set_streamable_subset(encoder, false); - else if(data_bools[6]) - encoder_valid &= FLAC__stream_encoder_set_do_escape_coding(encoder, true); - else if(data_bools[7]) - encoder_valid &= FLAC__stream_encoder_set_do_exhaustive_model_search(encoder, true); - else if(data_bools[5]) - encoder_valid &= FLAC__stream_encoder_set_do_qlp_coeff_prec_search(encoder, true); - } - encoder_valid &= FLAC__stream_encoder_set_do_mid_side_stereo(encoder, data_bools[8]); - encoder_valid &= FLAC__stream_encoder_set_loose_mid_side_stereo(encoder, data_bools[9]); - - encoder_valid &= FLAC__stream_encoder_disable_constant_subframes(encoder, data_bools[10]); - encoder_valid &= FLAC__stream_encoder_disable_fixed_subframes(encoder, data_bools[11]); - encoder_valid &= FLAC__stream_encoder_disable_verbatim_subframes(encoder, data_bools[12]); - } - - /* Disable alloc check if requested */ - if(encoder_valid && data_bools[14]) - alloc_check_threshold = INT32_MAX; - - /* data_bools[15] are spare */ - - /* add metadata */ - if(encoder_valid && (metadata_mask & 1)) { - if((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_STREAMINFO)) == NULL) - encoder_valid = false; - else - num_metadata++; - } - if(encoder_valid && (metadata_mask & 2) && size > 21){ - if((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_PADDING)) == NULL) - encoder_valid = false; - else { - metadata[num_metadata++]->length = (((unsigned)data[20]) << 8) + (unsigned)(data[21]); - } - } - if(encoder_valid && (metadata_mask & 4) && size > 20){ - FLAC__byte * application_data = (FLAC__byte *)malloc(size-20); - if(0 != application_data && ((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_APPLICATION)) == NULL)) - encoder_valid = false; - else { - memcpy(application_data,data+20,size-20); - FLAC__metadata_object_application_set_data(metadata[num_metadata++], application_data, size-20, 0); - } - } - if(encoder_valid && (metadata_mask & 8) && size > 25){ - if((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_SEEKTABLE)) == NULL) - encoder_valid = false; - else { - unsigned seekpoint_spacing = ((unsigned)data[22] << 8) + data[23]; - unsigned total_samples_for_seekpoints = ((unsigned)data[24] << 8) + data[25]; - FLAC__metadata_object_seektable_template_append_spaced_points_by_samples(metadata[num_metadata++], seekpoint_spacing, total_samples_for_seekpoints); - } - } - if(encoder_valid && (metadata_mask & 16)){ - if((metadata[num_metadata] = FLAC__metadata_object_new(FLAC__METADATA_TYPE_VORBIS_COMMENT)) != NULL) { - bool vorbiscomment_valid = true; - /* Append a vorbis comment */ - if(!FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair(&VorbisCommentField, "COMMENTARY", "Nothing to 🤔 report")) - vorbiscomment_valid = false; - else { - if(FLAC__metadata_object_vorbiscomment_append_comment(metadata[num_metadata], VorbisCommentField, false)) { - - /* Insert a vorbis comment at the first index */ - if(!FLAC__metadata_object_vorbiscomment_entry_from_name_value_pair(&VorbisCommentField, "COMMENTARY", "Still nothing to report 🤔🤣")) - vorbiscomment_valid = false; - else - if(!FLAC__metadata_object_vorbiscomment_insert_comment(metadata[num_metadata], 0, VorbisCommentField, false)) { - free(VorbisCommentField.entry); - vorbiscomment_valid = false; - } - } - else { - free(VorbisCommentField.entry); - vorbiscomment_valid = false; - } - } - if(!vorbiscomment_valid) { - FLAC__metadata_object_delete(metadata[num_metadata]); - metadata[num_metadata] = 0; - } - else - num_metadata++; - } - } - - if(num_metadata && encoder_valid) - encoder_valid = FLAC__stream_encoder_set_metadata(encoder, metadata, num_metadata); - - /* initialize encoder */ - if(encoder_valid) { - FLAC__StreamEncoderInitStatus init_status; - if(ogg) - if(write_to_file) - init_status = FLAC__stream_encoder_init_ogg_file(encoder, "/tmp/tmp.flac", NULL, NULL); - else - init_status = FLAC__stream_encoder_init_ogg_stream(encoder, NULL, write_callback, NULL, NULL, NULL, NULL); - else - if(write_to_file) - init_status = FLAC__stream_encoder_init_file(encoder, "/tmp/tmp.flac", NULL, NULL); - else - init_status = FLAC__stream_encoder_init_stream(encoder, write_callback, NULL, NULL, NULL, NULL); - if(init_status != FLAC__STREAM_ENCODER_INIT_STATUS_OK) { - encoder_valid = false; - } - } - - - /* send samples to encoder */ - if(encoder_valid && size > (input_data_width*channels+26)) { - unsigned samples = (size - 26)/input_data_width/channels; - const uint8_t * pcm_data = data + 26; - int32_t * data_as_int32 = (int32_t *)malloc(4*samples*channels); - if(0 != data_as_int32){ - for(unsigned i = 0; i < samples*channels; i++) - if(input_data_width == 1) - data_as_int32[i] = (int32_t)pcm_data[i] - 0x80; - else if(input_data_width == 2) - data_as_int32[i] = (((int32_t)pcm_data[i*2] << 8) + pcm_data[i*2+1]) - 0x8000; - else if(input_data_width == 3) - data_as_int32[i] = (((int32_t)pcm_data[i*3] << 16) + ((int32_t)pcm_data[i*3+1] << 8) + pcm_data[i*3+2]) - 0x800000; - else if(input_data_width == 4) - data_as_int32[i] = (((int64_t)pcm_data[i*4] << 24) + ((int32_t)pcm_data[i*4+1] << 16) + ((int32_t)pcm_data[i*4+2] << 8) + pcm_data[i*4+3]) - 0x80000000; - - /* feed samples to encoder */ - if(interleaved) - encoder_valid = FLAC__stream_encoder_process_interleaved(encoder, data_as_int32, samples); - else { - encoder_valid = FLAC__stream_encoder_process(encoder, (const int32_t*[]){data_as_int32, - data_as_int32+samples, - data_as_int32+samples*2, - data_as_int32+samples*3, - data_as_int32+samples*4, data_as_int32+samples*5, data_as_int32+samples*6, data_as_int32+samples*7}, samples); - } - free(data_as_int32); - } - else { - encoder_valid = false; - } - } - - state = FLAC__stream_encoder_get_state(encoder); - if(!(state == FLAC__STREAM_ENCODER_OK || - state == FLAC__STREAM_ENCODER_UNINITIALIZED || - state == FLAC__STREAM_ENCODER_CLIENT_ERROR || - ((state == FLAC__STREAM_ENCODER_MEMORY_ALLOCATION_ERROR || - state == FLAC__STREAM_ENCODER_FRAMING_ERROR || - (state == FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR && - FLAC__stream_encoder_get_verify_decoder_state(encoder) == FLAC__STREAM_DECODER_MEMORY_ALLOCATION_ERROR)) && - alloc_check_threshold < INT32_MAX))) { - fprintf(stderr,"-----\nERROR: stream encoder returned %s\n-----\n",FLAC__stream_encoder_get_resolved_state_string(encoder)); - if(state == FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA) { - uint32_t frame_number, channel, sample_number; - FLAC__int32 expected, got; - FLAC__stream_encoder_get_verify_decoder_error_stats(encoder, NULL, &frame_number, &channel, &sample_number, &expected, &got); - fprintf(stderr,"Frame number %d\nChannel %d\n Sample number %d\nExpected value %d\nGot %d\n", frame_number, channel, sample_number, expected, got); - } - abort(); - } - - FLAC__stream_encoder_finish(encoder); - - /* now that encoding is finished, the metadata can be freed */ - for(unsigned i = 0; i < 16; i++) - if(0 != metadata[i]) - FLAC__metadata_object_delete(metadata[i]); - - FLAC__stream_encoder_delete(encoder); - - return 0; -} - diff -Nru flac-1.4.2+ds/oss-fuzz/fuzzer_metadata.cc flac-1.4.3+ds1/oss-fuzz/fuzzer_metadata.cc --- flac-1.4.2+ds/oss-fuzz/fuzzer_metadata.cc 2022-10-21 17:13:32.601440700 +0000 +++ flac-1.4.3+ds1/oss-fuzz/fuzzer_metadata.cc 1970-01-01 00:00:00.000000000 +0000 @@ -1,520 +0,0 @@ -/* fuzzer_metadata - * Copyright (C) 2022 Xiph.Org Foundation - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * - Neither the name of the Xiph.org Foundation nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include -#include /* for memcpy */ -#include -#include "FLAC++/metadata.h" -#include "fuzzer_common.h" - -#define CONFIG_LENGTH 2 - -#define min(x,y) (x> 4; - - if(0)//data[1] < 128) /* Use MSB as on/off */ - alloc_check_threshold = data[1]; - else - alloc_check_threshold = INT32_MAX; - alloc_check_counter = 0; - - - /* Leave at least one byte as input */ - if(command_length >= size - 1 - CONFIG_LENGTH) - command_length = size - 1 - CONFIG_LENGTH; - - /* Dump input to file */ - { - int file_to_fuzz = mkstemps(filename, 5); - - if (file_to_fuzz < 0) - abort(); - write(file_to_fuzz,data+CONFIG_LENGTH+command_length,size-CONFIG_LENGTH-command_length); - close(file_to_fuzz); - } - - run_tests_with_level_0_interface(filename); - run_tests_with_level_1_interface(filename, init_bools[1], init_bools[2], data+CONFIG_LENGTH, command_length/2); - - /* Dump input to file, to start fresh for level 2 */ - if(!init_bools[1]){ - FILE * file_to_fuzz = fopen(filename,"w"); - fwrite(data+CONFIG_LENGTH+command_length,1,size-CONFIG_LENGTH-command_length,file_to_fuzz); - fclose(file_to_fuzz); - } - - run_tests_with_level_2_interface(filename, init_bools[0], init_bools[3], data+command_length/2+CONFIG_LENGTH, command_length/2); - - remove(filename); - - return 0; -} - -static void run_tests_with_level_0_interface(char filename[]) { - FLAC::Metadata::StreamInfo streaminfo; - FLAC::Metadata::VorbisComment vorbis_comment; - FLAC::Metadata::CueSheet cue_sheet; - FLAC::Metadata::Picture picture; - - FLAC::Metadata::get_streaminfo(filename,streaminfo); - FLAC::Metadata::get_tags(filename,vorbis_comment); - FLAC::Metadata::get_cuesheet(filename,cue_sheet); - FLAC::Metadata::get_picture(filename,picture, (FLAC__StreamMetadata_Picture_Type)(1), NULL, NULL, -1, -1, -1, -1); -} - -static void run_tests_with_level_1_interface(char filename[], bool readonly, bool preservestats, const uint8_t *data, size_t size) { - FLAC::Metadata::SimpleIterator iterator; - FLAC::Metadata::Prototype *metadata_block = nullptr; - uint8_t id[4] = {0}; - - if(!iterator.is_valid()) - return; - - if(!iterator.init(filename,readonly,preservestats)) - return; - - for(size_t i = 0; i < size; i++) { - switch(data[i] & 7) { - case 0: - iterator.get_block_type(); - iterator.get_block_offset(); - iterator.get_block_length(); - iterator.get_application_id(id); - break; - case 1: - iterator.next(); - break; - case 2: - iterator.prev(); - break; - case 3: - iterator.delete_block(data[i] & 8); - break; - case 4: - if(metadata_block != 0) { - delete metadata_block; - metadata_block = nullptr; - } - metadata_block = iterator.get_block(); - break; - case 5: - if(metadata_block != 0) - iterator.set_block(metadata_block,data[i] & 8); - break; - case 6: - if(metadata_block != 0) - iterator.insert_block_after(metadata_block, data[i] & 8); - break; - case 7: - iterator.status(); - iterator.is_last(); - iterator.is_writable(); - break; - } - } - if(metadata_block != 0) { - delete metadata_block; - metadata_block = nullptr; - } - - -} - - -static void run_tests_with_level_2_interface(char filename[], bool ogg, bool use_padding, const uint8_t *data, size_t size) { - FLAC::Metadata::Chain chain; - FLAC::Metadata::Iterator iterator; - FLAC::Metadata::Prototype *metadata_block_get = nullptr; - FLAC::Metadata::Prototype *metadata_block_transfer = nullptr; - FLAC::Metadata::Prototype *metadata_block_put = nullptr; - - if(!chain.is_valid()) - return; - - if(!chain.read(filename, ogg)) - return; - - iterator.init(chain); - - for(size_t i = 0; i < size; i++) { - switch(data[i] & 15) { - case 0: - iterator.get_block_type(); - break; - case 1: - iterator.next(); - break; - case 2: - iterator.prev(); - break; - case 3: - iterator.delete_block(data[i] & 16); - break; - case 4: - metadata_block_get = iterator.get_block(); - if(metadata_block_get != 0 && metadata_block_get->is_valid()) { - if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) { - if(metadata_block_transfer != metadata_block_get) { - delete metadata_block_transfer; - metadata_block_transfer = nullptr; - metadata_block_transfer = FLAC::Metadata::clone(metadata_block_get); - } - } - else { - metadata_block_transfer = FLAC::Metadata::clone(metadata_block_get); - } - } - delete metadata_block_get; - break; - case 5: - if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) { - metadata_block_put = FLAC::Metadata::clone(metadata_block_transfer); - if(metadata_block_put != 0 && metadata_block_put->is_valid()) { - if(!iterator.insert_block_before(metadata_block_put)) - delete metadata_block_put; - } - else - if(metadata_block_put != 0) - delete metadata_block_put; - } - break; - case 6: - if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) { - metadata_block_put = FLAC::Metadata::clone(metadata_block_transfer); - if(metadata_block_put != 0 && metadata_block_put->is_valid()) { - if(!iterator.insert_block_after(metadata_block_put)) - delete metadata_block_put; - } - else - if(metadata_block_put != 0) - delete metadata_block_put; - } - break; - case 7: - if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) { - metadata_block_put = FLAC::Metadata::clone(metadata_block_transfer); - if(metadata_block_put != 0 && metadata_block_put->is_valid()) { - if(!iterator.set_block(metadata_block_put)) - delete metadata_block_put; - } - else - if(metadata_block_put != 0) - delete metadata_block_put; - } - break; - case 8: /* Examine block */ - if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) { - switch(metadata_block_transfer->get_type()) { - case FLAC__METADATA_TYPE_VORBIS_COMMENT: - { - uint32_t num_comments; - ::FLAC__StreamMetadata_VorbisComment_Entry entry; - FLAC::Metadata::VorbisComment::Entry entry_cpp; - FLAC::Metadata::VorbisComment * vorbiscomment = dynamic_cast(metadata_block_transfer); - const ::FLAC__StreamMetadata * metadata_c = *metadata_block_transfer; - if(vorbiscomment == 0) - abort(); - vorbiscomment->get_vendor_string(); - num_comments = vorbiscomment->get_num_comments(); - if(num_comments > 0) { - entry = metadata_c->data.vorbis_comment.comments[min(data[i]>>4,num_comments-1)]; - entry_cpp = vorbiscomment->get_comment(min(data[i]>>4,num_comments-1)); - if(entry.entry == 0 || (entry_cpp.is_valid() && entry_cpp.get_field() == 0)) - abort(); - vorbiscomment->find_entry_from(0,"TEST"); - } - - } - break; - case FLAC__METADATA_TYPE_CUESHEET: - { - uint32_t num_tracks, num_indices; - FLAC::Metadata::CueSheet * cuesheet = dynamic_cast(metadata_block_transfer); - if(cuesheet == 0 || !cuesheet->is_legal()) - break; - cuesheet->is_legal(true); /* check CDDA subset */ - cuesheet->calculate_cddb_id(); - cuesheet->get_media_catalog_number(); - cuesheet->get_lead_in(); - cuesheet->get_is_cd(); - num_tracks = cuesheet->get_num_tracks(); - if(num_tracks > 0) { - FLAC::Metadata::CueSheet::Track track = cuesheet->get_track(min(data[i]>>4,num_tracks-1)); - track.get_offset(); - track.get_number(); - track.get_isrc(); - track.get_pre_emphasis(); - num_indices = track.get_num_indices(); - if(num_indices > 0) { - FLAC__StreamMetadata_CueSheet_Index index = track.get_index(min(data[i]>>4,num_indices-1)); - (void)index; - } - } - } - break; - case FLAC__METADATA_TYPE_PICTURE: - { - char * violation = nullptr; - FLAC::Metadata::Picture * picture = dynamic_cast(metadata_block_transfer); - if(picture == 0 || !picture->is_legal((const char **)&violation)) - break; - picture->get_data(); - } - break; - default: - break; - } - - } - break; - case 9: /* Replace or add in block */ - if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) { - switch(metadata_block_transfer->get_type()) { - case FLAC__METADATA_TYPE_SEEKTABLE: - { - uint32_t num_seekpoints; - FLAC__StreamMetadata_SeekPoint seekpoint; - FLAC::Metadata::SeekTable * seektable = dynamic_cast(metadata_block_transfer); - if(seektable == 0) - break; - if(seektable->is_valid() && seektable->is_legal()) { - num_seekpoints = seektable->get_num_points(); - if(num_seekpoints > 0) { - seekpoint = seektable->get_point(min(data[i]>>5,num_seekpoints-1)); - seektable->set_point(0,seekpoint); - seektable->insert_point(min(data[i]>>5,num_seekpoints-1),seekpoint); - } - seektable->template_append_placeholders(4); - seektable->template_append_point(111111); - seektable->template_append_points((FLAC__uint64[]){222222, 333333, 444444}, 3); - seektable->template_append_spaced_points(data[i]>>5, 1234567); - seektable->template_append_spaced_points_by_samples(data[i]>>5, 2468000); - seektable->template_sort(data[i] & 16); - } - } - case FLAC__METADATA_TYPE_VORBIS_COMMENT: - { - uint32_t num_comments; - FLAC::Metadata::VorbisComment::Entry entry; - FLAC::Metadata::VorbisComment * vorbiscomment = dynamic_cast(metadata_block_transfer); - if(vorbiscomment == 0) - break; - num_comments = vorbiscomment->get_num_comments(); - if(num_comments > 0) { - entry = vorbiscomment->get_comment(min(data[i]>>5,num_comments-1)); - if(entry.is_valid()) { - vorbiscomment->replace_comment(entry,data[i] & 16); - vorbiscomment->set_comment(0,entry); - vorbiscomment->append_comment(entry); - vorbiscomment->insert_comment(0,entry); - } - } - } - break; - case FLAC__METADATA_TYPE_CUESHEET: - { - uint32_t num_tracks, num_indices; - FLAC::Metadata::CueSheet * cuesheet = dynamic_cast(metadata_block_transfer); - if(cuesheet == 0 || !cuesheet->is_legal()) - break; - num_tracks = cuesheet->get_num_tracks(); - if(num_tracks > 0) { - FLAC::Metadata::CueSheet::Track track = cuesheet->get_track(min(data[i]>>4,num_tracks-1)); - num_indices = track.get_num_indices(); - if(num_indices > 0) { - FLAC__StreamMetadata_CueSheet_Index index = track.get_index(min(data[i]>>4,num_indices-1)); - track.set_index(0,index); - cuesheet->insert_index(0,0,index); - cuesheet->insert_blank_index(0,0); - } - cuesheet->insert_blank_track(0); - cuesheet->insert_track(0,track); - cuesheet->resize_indices(min(data[i]>>4,num_tracks-1),data[i]>>4); - } - } - break; - case FLAC__METADATA_TYPE_PICTURE: - { - FLAC::Metadata::Picture * picture = dynamic_cast(metadata_block_transfer); - const char testtext[] = "TEST"; - if(picture == 0 || !picture->is_legal(NULL)) - break; - picture->set_description((FLAC__byte *)&testtext); - picture->set_mime_type((const char *)&testtext); - picture->set_data((FLAC__byte *)&testtext,4); - } - break; - default: - break; - } - - } - break; - case 10: /* Delete from block */ - if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) { - switch(metadata_block_transfer->get_type()) { - case FLAC__METADATA_TYPE_SEEKTABLE: - { - uint32_t num_seekpoints; - FLAC::Metadata::SeekTable * seektable = dynamic_cast(metadata_block_transfer); - if(seektable == 0) - break; - if(seektable->is_valid() && seektable->is_legal()) { - num_seekpoints = seektable->get_num_points(); - if(num_seekpoints > 0) - seektable->delete_point(min(data[i]>>4,num_seekpoints-1)); - } - } - case FLAC__METADATA_TYPE_VORBIS_COMMENT: - { - uint32_t num_comments; - FLAC::Metadata::VorbisComment * vorbiscomment = dynamic_cast(metadata_block_transfer); - if(vorbiscomment == 0) - break; - num_comments = vorbiscomment->get_num_comments(); - if(num_comments > 0) - vorbiscomment->delete_comment(min(data[i]>>4,num_comments-1)); - vorbiscomment->remove_entry_matching("TEST"); - vorbiscomment->remove_entries_matching("TEST"); - } - break; - case FLAC__METADATA_TYPE_CUESHEET: - { - uint32_t num_tracks; - FLAC::Metadata::CueSheet * cuesheet = dynamic_cast(metadata_block_transfer); - if(cuesheet == 0 || !cuesheet->is_legal()) - break; - num_tracks = cuesheet->get_num_tracks(); - if(num_tracks > 0) { - FLAC::Metadata::CueSheet::Track track = cuesheet->get_track(min(data[i]>>4,num_tracks-1)); - if(track.get_num_indices() > 0) - cuesheet->delete_index(min(data[i]>>4,num_tracks-1),0); - cuesheet->delete_track(0); - } - } - break; - default: - break; - } - - } - break; - case 11: /* Resize block */ - if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) { - switch(metadata_block_transfer->get_type()) { - case FLAC__METADATA_TYPE_PADDING: - { - FLAC::Metadata::Padding * padding = dynamic_cast(metadata_block_transfer); - if(padding == 0) - break; - padding->set_length(data[i]>>4); - } - break; - case FLAC__METADATA_TYPE_SEEKTABLE: - { - FLAC::Metadata::SeekTable * seektable = dynamic_cast(metadata_block_transfer); - if(seektable == 0) - break; - seektable->resize_points(data[i]>>4); - } - break; - case FLAC__METADATA_TYPE_VORBIS_COMMENT: - { - FLAC::Metadata::VorbisComment * vorbiscomment = dynamic_cast(metadata_block_transfer); - if(vorbiscomment == 0) - break; - vorbiscomment->resize_comments(data[i]>>4); - } - break; - case FLAC__METADATA_TYPE_CUESHEET: - { - uint32_t num_tracks; - FLAC::Metadata::CueSheet * cuesheet = dynamic_cast(metadata_block_transfer); - if(cuesheet == 0 || !cuesheet->is_legal()) - break; - num_tracks = cuesheet->get_num_tracks(); - if(num_tracks > 0) { - cuesheet->resize_indices(min(data[i]>>4,num_tracks-1),data[i]>>4); - } - cuesheet->resize_tracks(data[i]<<4); - } - break; - default: - break; - } - - } - break; - case 12: /* Prototype functions */ - if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) { - const ::FLAC__StreamMetadata * metadata_compare = *metadata_block_transfer; - metadata_block_transfer->get_is_last(); - metadata_block_transfer->get_length(); - metadata_block_transfer->set_is_last(data[i] & 16); - FLAC__metadata_object_is_equal(metadata_compare, metadata_compare); - } - break; - } - } - if(metadata_block_transfer != 0) { - delete metadata_block_transfer; - metadata_block_transfer = nullptr; - } - - chain.status(); - chain.sort_padding(); - chain.merge_padding(); - - chain.check_if_tempfile_needed(!use_padding); - chain.write(use_padding); - -} diff -Nru flac-1.4.2+ds/oss-fuzz/fuzzer_seek.cc flac-1.4.3+ds1/oss-fuzz/fuzzer_seek.cc --- flac-1.4.2+ds/oss-fuzz/fuzzer_seek.cc 2022-10-21 17:13:32.613812900 +0000 +++ flac-1.4.3+ds1/oss-fuzz/fuzzer_seek.cc 1970-01-01 00:00:00.000000000 +0000 @@ -1,195 +0,0 @@ -/* fuzzer_seek - * Copyright (C) 2022 Xiph.Org Foundation - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * - Neither the name of the Xiph.org Foundation nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include /* for memcpy */ -#include "FLAC/stream_decoder.h" -#include "fuzzer_common.h" - -int write_abort_check_counter = -1; - -#if 0 /* set to 1 to debug */ -#define FPRINTF_DEBUG_ONLY(...) fprintf(__VA_ARGS__) -#else -#define FPRINTF_DEBUG_ONLY(...) -#endif - -#define CONFIG_LENGTH 2 - -static FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 *const buffer[], void *client_data) -{ - (void)decoder, (void)frame, (void)buffer, (void)client_data; - if(write_abort_check_counter > 0) { - write_abort_check_counter--; - if(write_abort_check_counter == 0) - return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT; - } else if(write_abort_check_counter == 0) - /* This must not happen: write callback called after abort is returned */ - abort(); - return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE; -} - -static void error_callback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus error, void *client_data) -{ - (void)decoder, (void)error, (void)client_data; -} - - -extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) -{ - FLAC__bool decoder_valid = true; - FLAC__StreamDecoder *decoder; - uint8_t command_length; - FLAC__bool init_bools[16], ogg; - - if(size > 2 && data[1] < 128) /* Use MSB as on/off */ - alloc_check_threshold = data[1]; - else - alloc_check_threshold = INT32_MAX; - alloc_check_counter = 0; - - write_abort_check_counter = -1; - - /* allocate the decoder */ - if((decoder = FLAC__stream_decoder_new()) == NULL) { - fprintf(stderr, "ERROR: allocating decoder\n"); - return 1; - } - - /* Use first byte for configuration, leave at least one byte of input */ - if(size < 1 + CONFIG_LENGTH){ - FLAC__stream_decoder_delete(decoder); - return 0; - } - - /* First 4 bits for configuration bools, next 4 for length of command section */ - for(int i = 0; i < 4; i++) - init_bools[i] = data[i/8] & (1 << (i % 8)); - - command_length = data[0] >> 4; - - /* Leave at least one byte as input */ - if(command_length >= size - 1 - CONFIG_LENGTH) - command_length = size - 1 - CONFIG_LENGTH; - - /* Dump decoder input to file */ - { - FILE * file_to_decode = fopen("/tmp/tmp.flac","w"); - fwrite(data+CONFIG_LENGTH+command_length,1,size-CONFIG_LENGTH-command_length,file_to_decode); - fclose(file_to_decode); - } - - ogg = init_bools[0]; - - FLAC__stream_decoder_set_md5_checking(decoder,init_bools[1]); - if(init_bools[2]) - FLAC__stream_decoder_set_metadata_respond_all(decoder); - if(init_bools[3]) - FLAC__stream_decoder_set_metadata_ignore_all(decoder); - - /* initialize decoder */ - if(decoder_valid) { - FLAC__StreamDecoderInitStatus init_status; - if(ogg) - init_status = FLAC__stream_decoder_init_ogg_file(decoder, "/tmp/tmp.flac", write_callback, NULL, error_callback, NULL); - else - init_status = FLAC__stream_decoder_init_file(decoder, "/tmp/tmp.flac", write_callback, NULL, error_callback, NULL); - if(init_status != FLAC__STREAM_DECODER_INIT_STATUS_OK) { - decoder_valid = false; - } - } - - /* Run commands */ - for(uint8_t i = 0; decoder_valid && (i < command_length); i++){ - const uint8_t * command = data+CONFIG_LENGTH+i; - uint8_t shift = 1u << (command[0] >> 3); - FLAC__uint64 seekpos; - - switch(command[0] & 15){ - case 0: - FPRINTF_DEBUG_ONLY(stderr,"end_of_stream\n"); - decoder_valid = FLAC__stream_decoder_process_until_end_of_stream(decoder); - break; - case 1: - FPRINTF_DEBUG_ONLY(stderr,"end_of_metadata\n"); - decoder_valid = FLAC__stream_decoder_process_until_end_of_metadata(decoder); - break; - case 2: - FPRINTF_DEBUG_ONLY(stderr,"single\n"); - decoder_valid = FLAC__stream_decoder_process_single(decoder); - break; - case 3: - FPRINTF_DEBUG_ONLY(stderr,"skip_single\n"); - decoder_valid = FLAC__stream_decoder_skip_single_frame(decoder); - break; - case 4: - FPRINTF_DEBUG_ONLY(stderr,"reset\n"); - decoder_valid = FLAC__stream_decoder_reset(decoder); - break; - case 5: - FPRINTF_DEBUG_ONLY(stderr,"flush\n"); - decoder_valid = FLAC__stream_decoder_flush(decoder); - break; - case 6: - case 14: - shift = 1u << (command[0] >> 3); - FPRINTF_DEBUG_ONLY(stderr,"seek short %hhu\n",shift); - decoder_valid = FLAC__stream_decoder_seek_absolute(decoder,shift); - break; - case 7: - if(i+8 >= command_length) /* Not enough data available to do this */ - break; - seekpos = ((FLAC__uint64)command[1] << 56) + - ((FLAC__uint64)command[2] << 48) + - ((FLAC__uint64)command[3] << 40) + - ((FLAC__uint64)command[4] << 32) + - ((FLAC__uint64)command[5] << 24) + - ((FLAC__uint64)command[6] << 16) + - ((FLAC__uint64)command[7] << 8) + - command[8]; - i+=8; - FPRINTF_DEBUG_ONLY(stderr,"seek long %lu\n",seekpos); - decoder_valid = FLAC__stream_decoder_seek_absolute(decoder,seekpos); - break; - case 8: - /* Set abort on write callback */ - write_abort_check_counter = (command[0] >> 4) + 1; - break; - } - } - - FLAC__stream_decoder_finish(decoder); - - FLAC__stream_decoder_delete(decoder); - - return 0; -} - diff -Nru flac-1.4.2+ds/oss-fuzz/Makefile.am flac-1.4.3+ds1/oss-fuzz/Makefile.am --- flac-1.4.2+ds/oss-fuzz/Makefile.am 2022-10-21 17:13:32.236387100 +0000 +++ flac-1.4.3+ds1/oss-fuzz/Makefile.am 2023-06-15 09:52:54.202861452 +0000 @@ -1,5 +1,5 @@ # FLAC - Free Lossless Audio Codec -# Copyright (C) 2019-2022 Xiph.Org Foundation +# Copyright (C) 2019-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -17,11 +17,14 @@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/oss-fuzz -AM_CXXFLAGS = -std=c++11 +AM_CFLAGS = ${LIB_FUZZING_ENGINE} +AM_CXXFLAGS = -std=c++11 $(LIB_FUZZING_ENGINE) +LDADD = $(flac_libs) + EXTRA_DIST = \ fuzzer_encoder.dict \ - fuzzer_common.h \ + common.h \ Readme.md \ fuzzing/datasource/datasource.hpp \ fuzzing/datasource/id.hpp \ @@ -32,34 +35,35 @@ noinst_PROGRAMS = if USE_OSSFUZZERS -noinst_PROGRAMS += fuzzer_encoder fuzzer_encoder_v2 fuzzer_decoder fuzzer_seek fuzzer_metadata +noinst_PROGRAMS += fuzzer_encoder fuzzer_encoder_v2 fuzzer_decoder fuzzer_seek fuzzer_metadata fuzzer_reencoder fuzzer_tool_flac fuzzer_tool_metaflac endif -fuzzer_encoder_SOURCES = fuzzer_encoder.cc -fuzzer_encoder_CXXFLAGS = $(AM_CXXFLAGS) $(LIB_FUZZING_ENGINE) -fuzzer_encoder_LDFLAGS = $(AM_LDFLAGS) -fuzzer_encoder_LDADD = $(flac_libs) - -fuzzer_encoder_v2_SOURCES = fuzzer_encoder_v2.cc -fuzzer_encoder_v2_CXXFLAGS = $(AM_CXXFLAGS) $(LIB_FUZZING_ENGINE) -fuzzer_encoder_v2_LDFLAGS = $(AM_LDFLAGS) -fuzzer_encoder_v2_LDADD = $(flac_libs) - -fuzzer_decoder_SOURCES = fuzzer_decoder.cc -fuzzer_decoder_CXXFLAGS = $(AM_CXXFLAGS) $(LIB_FUZZING_ENGINE) -fuzzer_decoder_LDFLAGS = $(AM_LDFLAGS) -fuzzer_decoder_LDADD = $(flac_libs) - -fuzzer_seek_SOURCES = fuzzer_seek.cc -fuzzer_seek_CXXFLAGS = $(AM_CXXFLAGS) $(LIB_FUZZING_ENGINE) -fuzzer_seek_LDFLAGS = $(AM_LDFLAGS) -fuzzer_seek_LDADD = $(flac_libs) - -fuzzer_metadata_SOURCES = fuzzer_metadata.cc -fuzzer_metadata_CXXFLAGS = $(AM_CXXFLAGS) $(LIB_FUZZING_ENGINE) -fuzzer_metadata_LDFLAGS = $(AM_LDFLAGS) -fuzzer_metadata_LDADD = $(flac_libs) - +fuzzer_encoder_SOURCES = encoder.cc +fuzzer_encoder_v2_SOURCES = encoder_v2.cc +fuzzer_decoder_SOURCES = decoder.cc +fuzzer_seek_SOURCES = seek.cc +fuzzer_metadata_SOURCES = metadata.cc +fuzzer_reencoder_SOURCES = reencoder.cc +fuzzer_tool_flac_SOURCES = ${flac_SOURCES} empty.cc tool_flac.c # empty.cc is to force use of C++ linker, which is mandated by oss-fuzz +fuzzer_tool_flac_LDADD = \ + $(top_builddir)/src/share/utf8/libutf8.la \ + $(top_builddir)/src/share/grabbag/libgrabbag.la \ + $(top_builddir)/src/share/getopt/libgetopt.la \ + $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \ + $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \ + $(top_builddir)/src/libFLAC/libFLAC.la \ + @LTLIBICONV@ \ + -lm +fuzzer_tool_metaflac_SOURCES = ${metaflac_SOURCES} empty.cc tool_metaflac.c # empty.cc is to force use of C++ linker, which is mandated by oss-fuzz +fuzzer_tool_metaflac_LDADD = \ + $(top_builddir)/src/share/utf8/libutf8.la \ + $(top_builddir)/src/share/grabbag/libgrabbag.la \ + $(top_builddir)/src/share/getopt/libgetopt.la \ + $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \ + $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \ + $(top_builddir)/src/libFLAC/libFLAC.la \ + @LTLIBICONV@ \ + -lm flac_libs = \ $(top_builddir)/src/libFLAC/libFLAC-static.la \ @@ -67,3 +71,34 @@ @OGG_LIBS@ \ -lm +flac_SOURCES = \ + ${top_builddir}/src/flac/analyze.c \ + ${top_builddir}/src/flac/decode.c \ + ${top_builddir}/src/flac/encode.c \ + ${top_builddir}/src/flac/foreign_metadata.c \ + ${top_builddir}/src/flac/local_string_utils.c \ + ${top_builddir}/src/flac/utils.c \ + ${top_builddir}/src/flac/vorbiscomment.c \ + ${top_builddir}/src/flac/analyze.h \ + ${top_builddir}/src/flac/decode.h \ + ${top_builddir}/src/flac/encode.h \ + ${top_builddir}/src/flac/foreign_metadata.h \ + ${top_builddir}/src/flac/local_string_utils.h \ + ${top_builddir}/src/flac/utils.h \ + ${top_builddir}/src/flac/vorbiscomment.h + +metaflac_SOURCES = \ + ${top_builddir}/src/metaflac/operations.c \ + ${top_builddir}/src/metaflac/operations_shorthand_cuesheet.c \ + ${top_builddir}/src/metaflac/operations_shorthand_picture.c \ + ${top_builddir}/src/metaflac/operations_shorthand_seektable.c \ + ${top_builddir}/src/metaflac/operations_shorthand_streaminfo.c \ + ${top_builddir}/src/metaflac/operations_shorthand_vorbiscomment.c \ + ${top_builddir}/src/metaflac/options.c \ + ${top_builddir}/src/metaflac/usage.c \ + ${top_builddir}/src/metaflac/utils.c \ + ${top_builddir}/src/metaflac/operations.h \ + ${top_builddir}/src/metaflac/operations_shorthand.h \ + ${top_builddir}/src/metaflac/options.h \ + ${top_builddir}/src/metaflac/usage.h \ + ${top_builddir}/src/metaflac/utils.h diff -Nru flac-1.4.2+ds/oss-fuzz/Makefile.in flac-1.4.3+ds1/oss-fuzz/Makefile.in --- flac-1.4.2+ds/oss-fuzz/Makefile.in 2022-10-21 17:54:46.439583200 +0000 +++ flac-1.4.3+ds1/oss-fuzz/Makefile.in 2023-06-22 08:50:44.589747037 +0000 @@ -15,7 +15,7 @@ @SET_MAKE@ # FLAC - Free Lossless Audio Codec -# Copyright (C) 2019-2022 Xiph.Org Foundation +# Copyright (C) 2019-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -106,7 +106,7 @@ build_triplet = @build@ host_triplet = @host@ noinst_PROGRAMS = $(am__EXEEXT_1) -@USE_OSSFUZZERS_TRUE@am__append_1 = fuzzer_encoder fuzzer_encoder_v2 fuzzer_decoder fuzzer_seek fuzzer_metadata +@USE_OSSFUZZERS_TRUE@am__append_1 = fuzzer_encoder fuzzer_encoder_v2 fuzzer_decoder fuzzer_seek fuzzer_metadata fuzzer_reencoder fuzzer_tool_flac fuzzer_tool_metaflac subdir = oss-fuzz ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \ @@ -114,14 +114,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -134,10 +134,14 @@ @USE_OSSFUZZERS_TRUE@ fuzzer_encoder_v2$(EXEEXT) \ @USE_OSSFUZZERS_TRUE@ fuzzer_decoder$(EXEEXT) \ @USE_OSSFUZZERS_TRUE@ fuzzer_seek$(EXEEXT) \ -@USE_OSSFUZZERS_TRUE@ fuzzer_metadata$(EXEEXT) +@USE_OSSFUZZERS_TRUE@ fuzzer_metadata$(EXEEXT) \ +@USE_OSSFUZZERS_TRUE@ fuzzer_reencoder$(EXEEXT) \ +@USE_OSSFUZZERS_TRUE@ fuzzer_tool_flac$(EXEEXT) \ +@USE_OSSFUZZERS_TRUE@ fuzzer_tool_metaflac$(EXEEXT) PROGRAMS = $(noinst_PROGRAMS) -am_fuzzer_decoder_OBJECTS = fuzzer_decoder-fuzzer_decoder.$(OBJEXT) +am_fuzzer_decoder_OBJECTS = decoder.$(OBJEXT) fuzzer_decoder_OBJECTS = $(am_fuzzer_decoder_OBJECTS) +fuzzer_decoder_LDADD = $(LDADD) am__DEPENDENCIES_1 = $(top_builddir)/src/libFLAC/libFLAC-static.la \ $(top_builddir)/src/libFLAC++/libFLAC++-static.la fuzzer_decoder_DEPENDENCIES = $(am__DEPENDENCIES_1) @@ -145,39 +149,63 @@ am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = -fuzzer_decoder_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ - $(fuzzer_decoder_CXXFLAGS) $(CXXFLAGS) \ - $(fuzzer_decoder_LDFLAGS) $(LDFLAGS) -o $@ -am_fuzzer_encoder_OBJECTS = fuzzer_encoder-fuzzer_encoder.$(OBJEXT) +am_fuzzer_encoder_OBJECTS = encoder.$(OBJEXT) fuzzer_encoder_OBJECTS = $(am_fuzzer_encoder_OBJECTS) +fuzzer_encoder_LDADD = $(LDADD) fuzzer_encoder_DEPENDENCIES = $(am__DEPENDENCIES_1) -fuzzer_encoder_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ - $(fuzzer_encoder_CXXFLAGS) $(CXXFLAGS) \ - $(fuzzer_encoder_LDFLAGS) $(LDFLAGS) -o $@ -am_fuzzer_encoder_v2_OBJECTS = \ - fuzzer_encoder_v2-fuzzer_encoder_v2.$(OBJEXT) +am_fuzzer_encoder_v2_OBJECTS = encoder_v2.$(OBJEXT) fuzzer_encoder_v2_OBJECTS = $(am_fuzzer_encoder_v2_OBJECTS) +fuzzer_encoder_v2_LDADD = $(LDADD) fuzzer_encoder_v2_DEPENDENCIES = $(am__DEPENDENCIES_1) -fuzzer_encoder_v2_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ - $(fuzzer_encoder_v2_CXXFLAGS) $(CXXFLAGS) \ - $(fuzzer_encoder_v2_LDFLAGS) $(LDFLAGS) -o $@ -am_fuzzer_metadata_OBJECTS = \ - fuzzer_metadata-fuzzer_metadata.$(OBJEXT) +am_fuzzer_metadata_OBJECTS = metadata.$(OBJEXT) fuzzer_metadata_OBJECTS = $(am_fuzzer_metadata_OBJECTS) +fuzzer_metadata_LDADD = $(LDADD) fuzzer_metadata_DEPENDENCIES = $(am__DEPENDENCIES_1) -fuzzer_metadata_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \ - $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ - $(fuzzer_metadata_CXXFLAGS) $(CXXFLAGS) \ - $(fuzzer_metadata_LDFLAGS) $(LDFLAGS) -o $@ -am_fuzzer_seek_OBJECTS = fuzzer_seek-fuzzer_seek.$(OBJEXT) +am_fuzzer_reencoder_OBJECTS = reencoder.$(OBJEXT) +fuzzer_reencoder_OBJECTS = $(am_fuzzer_reencoder_OBJECTS) +fuzzer_reencoder_LDADD = $(LDADD) +fuzzer_reencoder_DEPENDENCIES = $(am__DEPENDENCIES_1) +am_fuzzer_seek_OBJECTS = seek.$(OBJEXT) fuzzer_seek_OBJECTS = $(am_fuzzer_seek_OBJECTS) +fuzzer_seek_LDADD = $(LDADD) fuzzer_seek_DEPENDENCIES = $(am__DEPENDENCIES_1) -fuzzer_seek_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(fuzzer_seek_CXXFLAGS) \ - $(CXXFLAGS) $(fuzzer_seek_LDFLAGS) $(LDFLAGS) -o $@ +am__dirstamp = $(am__leading_dot)dirstamp +am__objects_1 = ${top_builddir}/src/flac/analyze.$(OBJEXT) \ + ${top_builddir}/src/flac/decode.$(OBJEXT) \ + ${top_builddir}/src/flac/encode.$(OBJEXT) \ + ${top_builddir}/src/flac/foreign_metadata.$(OBJEXT) \ + ${top_builddir}/src/flac/local_string_utils.$(OBJEXT) \ + ${top_builddir}/src/flac/utils.$(OBJEXT) \ + ${top_builddir}/src/flac/vorbiscomment.$(OBJEXT) +am_fuzzer_tool_flac_OBJECTS = $(am__objects_1) empty.$(OBJEXT) \ + tool_flac.$(OBJEXT) +fuzzer_tool_flac_OBJECTS = $(am_fuzzer_tool_flac_OBJECTS) +fuzzer_tool_flac_DEPENDENCIES = \ + $(top_builddir)/src/share/utf8/libutf8.la \ + $(top_builddir)/src/share/grabbag/libgrabbag.la \ + $(top_builddir)/src/share/getopt/libgetopt.la \ + $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \ + $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \ + $(top_builddir)/src/libFLAC/libFLAC.la +am__objects_2 = ${top_builddir}/src/metaflac/operations.$(OBJEXT) \ + ${top_builddir}/src/metaflac/operations_shorthand_cuesheet.$(OBJEXT) \ + ${top_builddir}/src/metaflac/operations_shorthand_picture.$(OBJEXT) \ + ${top_builddir}/src/metaflac/operations_shorthand_seektable.$(OBJEXT) \ + ${top_builddir}/src/metaflac/operations_shorthand_streaminfo.$(OBJEXT) \ + ${top_builddir}/src/metaflac/operations_shorthand_vorbiscomment.$(OBJEXT) \ + ${top_builddir}/src/metaflac/options.$(OBJEXT) \ + ${top_builddir}/src/metaflac/usage.$(OBJEXT) \ + ${top_builddir}/src/metaflac/utils.$(OBJEXT) +am_fuzzer_tool_metaflac_OBJECTS = $(am__objects_2) empty.$(OBJEXT) \ + tool_metaflac.$(OBJEXT) +fuzzer_tool_metaflac_OBJECTS = $(am_fuzzer_tool_metaflac_OBJECTS) +fuzzer_tool_metaflac_DEPENDENCIES = \ + $(top_builddir)/src/share/utf8/libutf8.la \ + $(top_builddir)/src/share/grabbag/libgrabbag.la \ + $(top_builddir)/src/share/getopt/libgetopt.la \ + $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \ + $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \ + $(top_builddir)/src/libFLAC/libFLAC.la AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -193,12 +221,46 @@ DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__maybe_remake_depfiles = depfiles -am__depfiles_remade = ./$(DEPDIR)/fuzzer_decoder-fuzzer_decoder.Po \ - ./$(DEPDIR)/fuzzer_encoder-fuzzer_encoder.Po \ - ./$(DEPDIR)/fuzzer_encoder_v2-fuzzer_encoder_v2.Po \ - ./$(DEPDIR)/fuzzer_metadata-fuzzer_metadata.Po \ - ./$(DEPDIR)/fuzzer_seek-fuzzer_seek.Po +am__depfiles_remade = ${top_builddir}/src/flac/$(DEPDIR)/analyze.Po \ + ${top_builddir}/src/flac/$(DEPDIR)/decode.Po \ + ${top_builddir}/src/flac/$(DEPDIR)/encode.Po \ + ${top_builddir}/src/flac/$(DEPDIR)/foreign_metadata.Po \ + ${top_builddir}/src/flac/$(DEPDIR)/local_string_utils.Po \ + ${top_builddir}/src/flac/$(DEPDIR)/utils.Po \ + ${top_builddir}/src/flac/$(DEPDIR)/vorbiscomment.Po \ + ${top_builddir}/src/metaflac/$(DEPDIR)/operations.Po \ + ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_cuesheet.Po \ + ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_picture.Po \ + ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_seektable.Po \ + ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_streaminfo.Po \ + ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_vorbiscomment.Po \ + ${top_builddir}/src/metaflac/$(DEPDIR)/options.Po \ + ${top_builddir}/src/metaflac/$(DEPDIR)/usage.Po \ + ${top_builddir}/src/metaflac/$(DEPDIR)/utils.Po \ + ./$(DEPDIR)/decoder.Po ./$(DEPDIR)/empty.Po \ + ./$(DEPDIR)/encoder.Po ./$(DEPDIR)/encoder_v2.Po \ + ./$(DEPDIR)/metadata.Po ./$(DEPDIR)/reencoder.Po \ + ./$(DEPDIR)/seek.Po ./$(DEPDIR)/tool_flac.Po \ + ./$(DEPDIR)/tool_metaflac.Po am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ + $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ + $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ + $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ + $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ @@ -219,10 +281,12 @@ am__v_CXXLD_1 = SOURCES = $(fuzzer_decoder_SOURCES) $(fuzzer_encoder_SOURCES) \ $(fuzzer_encoder_v2_SOURCES) $(fuzzer_metadata_SOURCES) \ - $(fuzzer_seek_SOURCES) + $(fuzzer_reencoder_SOURCES) $(fuzzer_seek_SOURCES) \ + $(fuzzer_tool_flac_SOURCES) $(fuzzer_tool_metaflac_SOURCES) DIST_SOURCES = $(fuzzer_decoder_SOURCES) $(fuzzer_encoder_SOURCES) \ $(fuzzer_encoder_v2_SOURCES) $(fuzzer_metadata_SOURCES) \ - $(fuzzer_seek_SOURCES) + $(fuzzer_reencoder_SOURCES) $(fuzzer_seek_SOURCES) \ + $(fuzzer_tool_flac_SOURCES) $(fuzzer_tool_metaflac_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -335,6 +399,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -395,10 +460,12 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/oss-fuzz -AM_CXXFLAGS = -std=c++11 +AM_CFLAGS = ${LIB_FUZZING_ENGINE} +AM_CXXFLAGS = -std=c++11 $(LIB_FUZZING_ENGINE) +LDADD = $(flac_libs) EXTRA_DIST = \ fuzzer_encoder.dict \ - fuzzer_common.h \ + common.h \ Readme.md \ fuzzing/datasource/datasource.hpp \ fuzzing/datasource/id.hpp \ @@ -406,36 +473,76 @@ fuzzing/memory.hpp \ fuzzing/types.hpp -fuzzer_encoder_SOURCES = fuzzer_encoder.cc -fuzzer_encoder_CXXFLAGS = $(AM_CXXFLAGS) $(LIB_FUZZING_ENGINE) -fuzzer_encoder_LDFLAGS = $(AM_LDFLAGS) -fuzzer_encoder_LDADD = $(flac_libs) -fuzzer_encoder_v2_SOURCES = fuzzer_encoder_v2.cc -fuzzer_encoder_v2_CXXFLAGS = $(AM_CXXFLAGS) $(LIB_FUZZING_ENGINE) -fuzzer_encoder_v2_LDFLAGS = $(AM_LDFLAGS) -fuzzer_encoder_v2_LDADD = $(flac_libs) -fuzzer_decoder_SOURCES = fuzzer_decoder.cc -fuzzer_decoder_CXXFLAGS = $(AM_CXXFLAGS) $(LIB_FUZZING_ENGINE) -fuzzer_decoder_LDFLAGS = $(AM_LDFLAGS) -fuzzer_decoder_LDADD = $(flac_libs) -fuzzer_seek_SOURCES = fuzzer_seek.cc -fuzzer_seek_CXXFLAGS = $(AM_CXXFLAGS) $(LIB_FUZZING_ENGINE) -fuzzer_seek_LDFLAGS = $(AM_LDFLAGS) -fuzzer_seek_LDADD = $(flac_libs) -fuzzer_metadata_SOURCES = fuzzer_metadata.cc -fuzzer_metadata_CXXFLAGS = $(AM_CXXFLAGS) $(LIB_FUZZING_ENGINE) -fuzzer_metadata_LDFLAGS = $(AM_LDFLAGS) -fuzzer_metadata_LDADD = $(flac_libs) +fuzzer_encoder_SOURCES = encoder.cc +fuzzer_encoder_v2_SOURCES = encoder_v2.cc +fuzzer_decoder_SOURCES = decoder.cc +fuzzer_seek_SOURCES = seek.cc +fuzzer_metadata_SOURCES = metadata.cc +fuzzer_reencoder_SOURCES = reencoder.cc +fuzzer_tool_flac_SOURCES = ${flac_SOURCES} empty.cc tool_flac.c # empty.cc is to force use of C++ linker, which is mandated by oss-fuzz +fuzzer_tool_flac_LDADD = \ + $(top_builddir)/src/share/utf8/libutf8.la \ + $(top_builddir)/src/share/grabbag/libgrabbag.la \ + $(top_builddir)/src/share/getopt/libgetopt.la \ + $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \ + $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \ + $(top_builddir)/src/libFLAC/libFLAC.la \ + @LTLIBICONV@ \ + -lm + +fuzzer_tool_metaflac_SOURCES = ${metaflac_SOURCES} empty.cc tool_metaflac.c # empty.cc is to force use of C++ linker, which is mandated by oss-fuzz +fuzzer_tool_metaflac_LDADD = \ + $(top_builddir)/src/share/utf8/libutf8.la \ + $(top_builddir)/src/share/grabbag/libgrabbag.la \ + $(top_builddir)/src/share/getopt/libgetopt.la \ + $(top_builddir)/src/share/replaygain_analysis/libreplaygain_analysis.la \ + $(top_builddir)/src/share/replaygain_synthesis/libreplaygain_synthesis.la \ + $(top_builddir)/src/libFLAC/libFLAC.la \ + @LTLIBICONV@ \ + -lm + flac_libs = \ $(top_builddir)/src/libFLAC/libFLAC-static.la \ $(top_builddir)/src/libFLAC++/libFLAC++-static.la \ @OGG_LIBS@ \ -lm +flac_SOURCES = \ + ${top_builddir}/src/flac/analyze.c \ + ${top_builddir}/src/flac/decode.c \ + ${top_builddir}/src/flac/encode.c \ + ${top_builddir}/src/flac/foreign_metadata.c \ + ${top_builddir}/src/flac/local_string_utils.c \ + ${top_builddir}/src/flac/utils.c \ + ${top_builddir}/src/flac/vorbiscomment.c \ + ${top_builddir}/src/flac/analyze.h \ + ${top_builddir}/src/flac/decode.h \ + ${top_builddir}/src/flac/encode.h \ + ${top_builddir}/src/flac/foreign_metadata.h \ + ${top_builddir}/src/flac/local_string_utils.h \ + ${top_builddir}/src/flac/utils.h \ + ${top_builddir}/src/flac/vorbiscomment.h + +metaflac_SOURCES = \ + ${top_builddir}/src/metaflac/operations.c \ + ${top_builddir}/src/metaflac/operations_shorthand_cuesheet.c \ + ${top_builddir}/src/metaflac/operations_shorthand_picture.c \ + ${top_builddir}/src/metaflac/operations_shorthand_seektable.c \ + ${top_builddir}/src/metaflac/operations_shorthand_streaminfo.c \ + ${top_builddir}/src/metaflac/operations_shorthand_vorbiscomment.c \ + ${top_builddir}/src/metaflac/options.c \ + ${top_builddir}/src/metaflac/usage.c \ + ${top_builddir}/src/metaflac/utils.c \ + ${top_builddir}/src/metaflac/operations.h \ + ${top_builddir}/src/metaflac/operations_shorthand.h \ + ${top_builddir}/src/metaflac/options.h \ + ${top_builddir}/src/metaflac/usage.h \ + ${top_builddir}/src/metaflac/utils.h + all: all-am .SUFFIXES: -.SUFFIXES: .cc .lo .o .obj +.SUFFIXES: .c .cc .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ @@ -477,35 +584,129 @@ fuzzer_decoder$(EXEEXT): $(fuzzer_decoder_OBJECTS) $(fuzzer_decoder_DEPENDENCIES) $(EXTRA_fuzzer_decoder_DEPENDENCIES) @rm -f fuzzer_decoder$(EXEEXT) - $(AM_V_CXXLD)$(fuzzer_decoder_LINK) $(fuzzer_decoder_OBJECTS) $(fuzzer_decoder_LDADD) $(LIBS) + $(AM_V_CXXLD)$(CXXLINK) $(fuzzer_decoder_OBJECTS) $(fuzzer_decoder_LDADD) $(LIBS) fuzzer_encoder$(EXEEXT): $(fuzzer_encoder_OBJECTS) $(fuzzer_encoder_DEPENDENCIES) $(EXTRA_fuzzer_encoder_DEPENDENCIES) @rm -f fuzzer_encoder$(EXEEXT) - $(AM_V_CXXLD)$(fuzzer_encoder_LINK) $(fuzzer_encoder_OBJECTS) $(fuzzer_encoder_LDADD) $(LIBS) + $(AM_V_CXXLD)$(CXXLINK) $(fuzzer_encoder_OBJECTS) $(fuzzer_encoder_LDADD) $(LIBS) fuzzer_encoder_v2$(EXEEXT): $(fuzzer_encoder_v2_OBJECTS) $(fuzzer_encoder_v2_DEPENDENCIES) $(EXTRA_fuzzer_encoder_v2_DEPENDENCIES) @rm -f fuzzer_encoder_v2$(EXEEXT) - $(AM_V_CXXLD)$(fuzzer_encoder_v2_LINK) $(fuzzer_encoder_v2_OBJECTS) $(fuzzer_encoder_v2_LDADD) $(LIBS) + $(AM_V_CXXLD)$(CXXLINK) $(fuzzer_encoder_v2_OBJECTS) $(fuzzer_encoder_v2_LDADD) $(LIBS) fuzzer_metadata$(EXEEXT): $(fuzzer_metadata_OBJECTS) $(fuzzer_metadata_DEPENDENCIES) $(EXTRA_fuzzer_metadata_DEPENDENCIES) @rm -f fuzzer_metadata$(EXEEXT) - $(AM_V_CXXLD)$(fuzzer_metadata_LINK) $(fuzzer_metadata_OBJECTS) $(fuzzer_metadata_LDADD) $(LIBS) + $(AM_V_CXXLD)$(CXXLINK) $(fuzzer_metadata_OBJECTS) $(fuzzer_metadata_LDADD) $(LIBS) + +fuzzer_reencoder$(EXEEXT): $(fuzzer_reencoder_OBJECTS) $(fuzzer_reencoder_DEPENDENCIES) $(EXTRA_fuzzer_reencoder_DEPENDENCIES) + @rm -f fuzzer_reencoder$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(fuzzer_reencoder_OBJECTS) $(fuzzer_reencoder_LDADD) $(LIBS) fuzzer_seek$(EXEEXT): $(fuzzer_seek_OBJECTS) $(fuzzer_seek_DEPENDENCIES) $(EXTRA_fuzzer_seek_DEPENDENCIES) @rm -f fuzzer_seek$(EXEEXT) - $(AM_V_CXXLD)$(fuzzer_seek_LINK) $(fuzzer_seek_OBJECTS) $(fuzzer_seek_LDADD) $(LIBS) + $(AM_V_CXXLD)$(CXXLINK) $(fuzzer_seek_OBJECTS) $(fuzzer_seek_LDADD) $(LIBS) +${top_builddir}/src/flac/$(am__dirstamp): + @$(MKDIR_P) ${top_builddir}/src/flac + @: > ${top_builddir}/src/flac/$(am__dirstamp) +${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ${top_builddir}/src/flac/$(DEPDIR) + @: > ${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp) +${top_builddir}/src/flac/analyze.$(OBJEXT): \ + ${top_builddir}/src/flac/$(am__dirstamp) \ + ${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp) +${top_builddir}/src/flac/decode.$(OBJEXT): \ + ${top_builddir}/src/flac/$(am__dirstamp) \ + ${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp) +${top_builddir}/src/flac/encode.$(OBJEXT): \ + ${top_builddir}/src/flac/$(am__dirstamp) \ + ${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp) +${top_builddir}/src/flac/foreign_metadata.$(OBJEXT): \ + ${top_builddir}/src/flac/$(am__dirstamp) \ + ${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp) +${top_builddir}/src/flac/local_string_utils.$(OBJEXT): \ + ${top_builddir}/src/flac/$(am__dirstamp) \ + ${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp) +${top_builddir}/src/flac/utils.$(OBJEXT): \ + ${top_builddir}/src/flac/$(am__dirstamp) \ + ${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp) +${top_builddir}/src/flac/vorbiscomment.$(OBJEXT): \ + ${top_builddir}/src/flac/$(am__dirstamp) \ + ${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp) + +fuzzer_tool_flac$(EXEEXT): $(fuzzer_tool_flac_OBJECTS) $(fuzzer_tool_flac_DEPENDENCIES) $(EXTRA_fuzzer_tool_flac_DEPENDENCIES) + @rm -f fuzzer_tool_flac$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(fuzzer_tool_flac_OBJECTS) $(fuzzer_tool_flac_LDADD) $(LIBS) +${top_builddir}/src/metaflac/$(am__dirstamp): + @$(MKDIR_P) ${top_builddir}/src/metaflac + @: > ${top_builddir}/src/metaflac/$(am__dirstamp) +${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp): + @$(MKDIR_P) ${top_builddir}/src/metaflac/$(DEPDIR) + @: > ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp) +${top_builddir}/src/metaflac/operations.$(OBJEXT): \ + ${top_builddir}/src/metaflac/$(am__dirstamp) \ + ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp) +${top_builddir}/src/metaflac/operations_shorthand_cuesheet.$(OBJEXT): \ + ${top_builddir}/src/metaflac/$(am__dirstamp) \ + ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp) +${top_builddir}/src/metaflac/operations_shorthand_picture.$(OBJEXT): \ + ${top_builddir}/src/metaflac/$(am__dirstamp) \ + ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp) +${top_builddir}/src/metaflac/operations_shorthand_seektable.$(OBJEXT): \ + ${top_builddir}/src/metaflac/$(am__dirstamp) \ + ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp) +${top_builddir}/src/metaflac/operations_shorthand_streaminfo.$(OBJEXT): \ + ${top_builddir}/src/metaflac/$(am__dirstamp) \ + ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp) +${top_builddir}/src/metaflac/operations_shorthand_vorbiscomment.$(OBJEXT): \ + ${top_builddir}/src/metaflac/$(am__dirstamp) \ + ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp) +${top_builddir}/src/metaflac/options.$(OBJEXT): \ + ${top_builddir}/src/metaflac/$(am__dirstamp) \ + ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp) +${top_builddir}/src/metaflac/usage.$(OBJEXT): \ + ${top_builddir}/src/metaflac/$(am__dirstamp) \ + ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp) +${top_builddir}/src/metaflac/utils.$(OBJEXT): \ + ${top_builddir}/src/metaflac/$(am__dirstamp) \ + ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp) + +fuzzer_tool_metaflac$(EXEEXT): $(fuzzer_tool_metaflac_OBJECTS) $(fuzzer_tool_metaflac_DEPENDENCIES) $(EXTRA_fuzzer_tool_metaflac_DEPENDENCIES) + @rm -f fuzzer_tool_metaflac$(EXEEXT) + $(AM_V_CXXLD)$(CXXLINK) $(fuzzer_tool_metaflac_OBJECTS) $(fuzzer_tool_metaflac_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) + -rm -f ${top_builddir}/src/flac/*.$(OBJEXT) + -rm -f ${top_builddir}/src/metaflac/*.$(OBJEXT) distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fuzzer_decoder-fuzzer_decoder.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fuzzer_encoder-fuzzer_encoder.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fuzzer_encoder_v2-fuzzer_encoder_v2.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fuzzer_metadata-fuzzer_metadata.Po@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fuzzer_seek-fuzzer_seek.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/flac/$(DEPDIR)/analyze.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/flac/$(DEPDIR)/decode.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/flac/$(DEPDIR)/encode.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/flac/$(DEPDIR)/foreign_metadata.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/flac/$(DEPDIR)/local_string_utils.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/flac/$(DEPDIR)/utils.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/flac/$(DEPDIR)/vorbiscomment.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/metaflac/$(DEPDIR)/operations.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_cuesheet.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_picture.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_seektable.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_streaminfo.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_vorbiscomment.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/metaflac/$(DEPDIR)/options.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/metaflac/$(DEPDIR)/usage.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@${top_builddir}/src/metaflac/$(DEPDIR)/utils.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/decoder.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/empty.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encoder.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encoder_v2.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/metadata.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reencoder.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/seek.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_flac.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tool_metaflac.Po@am__quote@ # am--include-marker $(am__depfiles_remade): @$(MKDIR_P) $(@D) @@ -513,6 +714,30 @@ am--depfiles: $(am__depfiles_remade) +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\ +@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +.c.lo: +@am__fastdepCC_TRUE@ $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\ +@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ +@am__fastdepCC_TRUE@ $(am__mv) $$depbase.Tpo $$depbase.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< + .cc.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ @@ -537,76 +762,6 @@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< -fuzzer_decoder-fuzzer_decoder.o: fuzzer_decoder.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_decoder_CXXFLAGS) $(CXXFLAGS) -MT fuzzer_decoder-fuzzer_decoder.o -MD -MP -MF $(DEPDIR)/fuzzer_decoder-fuzzer_decoder.Tpo -c -o fuzzer_decoder-fuzzer_decoder.o `test -f 'fuzzer_decoder.cc' || echo '$(srcdir)/'`fuzzer_decoder.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fuzzer_decoder-fuzzer_decoder.Tpo $(DEPDIR)/fuzzer_decoder-fuzzer_decoder.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fuzzer_decoder.cc' object='fuzzer_decoder-fuzzer_decoder.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_decoder_CXXFLAGS) $(CXXFLAGS) -c -o fuzzer_decoder-fuzzer_decoder.o `test -f 'fuzzer_decoder.cc' || echo '$(srcdir)/'`fuzzer_decoder.cc - -fuzzer_decoder-fuzzer_decoder.obj: fuzzer_decoder.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_decoder_CXXFLAGS) $(CXXFLAGS) -MT fuzzer_decoder-fuzzer_decoder.obj -MD -MP -MF $(DEPDIR)/fuzzer_decoder-fuzzer_decoder.Tpo -c -o fuzzer_decoder-fuzzer_decoder.obj `if test -f 'fuzzer_decoder.cc'; then $(CYGPATH_W) 'fuzzer_decoder.cc'; else $(CYGPATH_W) '$(srcdir)/fuzzer_decoder.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fuzzer_decoder-fuzzer_decoder.Tpo $(DEPDIR)/fuzzer_decoder-fuzzer_decoder.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fuzzer_decoder.cc' object='fuzzer_decoder-fuzzer_decoder.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_decoder_CXXFLAGS) $(CXXFLAGS) -c -o fuzzer_decoder-fuzzer_decoder.obj `if test -f 'fuzzer_decoder.cc'; then $(CYGPATH_W) 'fuzzer_decoder.cc'; else $(CYGPATH_W) '$(srcdir)/fuzzer_decoder.cc'; fi` - -fuzzer_encoder-fuzzer_encoder.o: fuzzer_encoder.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_encoder_CXXFLAGS) $(CXXFLAGS) -MT fuzzer_encoder-fuzzer_encoder.o -MD -MP -MF $(DEPDIR)/fuzzer_encoder-fuzzer_encoder.Tpo -c -o fuzzer_encoder-fuzzer_encoder.o `test -f 'fuzzer_encoder.cc' || echo '$(srcdir)/'`fuzzer_encoder.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fuzzer_encoder-fuzzer_encoder.Tpo $(DEPDIR)/fuzzer_encoder-fuzzer_encoder.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fuzzer_encoder.cc' object='fuzzer_encoder-fuzzer_encoder.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_encoder_CXXFLAGS) $(CXXFLAGS) -c -o fuzzer_encoder-fuzzer_encoder.o `test -f 'fuzzer_encoder.cc' || echo '$(srcdir)/'`fuzzer_encoder.cc - -fuzzer_encoder-fuzzer_encoder.obj: fuzzer_encoder.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_encoder_CXXFLAGS) $(CXXFLAGS) -MT fuzzer_encoder-fuzzer_encoder.obj -MD -MP -MF $(DEPDIR)/fuzzer_encoder-fuzzer_encoder.Tpo -c -o fuzzer_encoder-fuzzer_encoder.obj `if test -f 'fuzzer_encoder.cc'; then $(CYGPATH_W) 'fuzzer_encoder.cc'; else $(CYGPATH_W) '$(srcdir)/fuzzer_encoder.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fuzzer_encoder-fuzzer_encoder.Tpo $(DEPDIR)/fuzzer_encoder-fuzzer_encoder.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fuzzer_encoder.cc' object='fuzzer_encoder-fuzzer_encoder.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_encoder_CXXFLAGS) $(CXXFLAGS) -c -o fuzzer_encoder-fuzzer_encoder.obj `if test -f 'fuzzer_encoder.cc'; then $(CYGPATH_W) 'fuzzer_encoder.cc'; else $(CYGPATH_W) '$(srcdir)/fuzzer_encoder.cc'; fi` - -fuzzer_encoder_v2-fuzzer_encoder_v2.o: fuzzer_encoder_v2.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_encoder_v2_CXXFLAGS) $(CXXFLAGS) -MT fuzzer_encoder_v2-fuzzer_encoder_v2.o -MD -MP -MF $(DEPDIR)/fuzzer_encoder_v2-fuzzer_encoder_v2.Tpo -c -o fuzzer_encoder_v2-fuzzer_encoder_v2.o `test -f 'fuzzer_encoder_v2.cc' || echo '$(srcdir)/'`fuzzer_encoder_v2.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fuzzer_encoder_v2-fuzzer_encoder_v2.Tpo $(DEPDIR)/fuzzer_encoder_v2-fuzzer_encoder_v2.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fuzzer_encoder_v2.cc' object='fuzzer_encoder_v2-fuzzer_encoder_v2.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_encoder_v2_CXXFLAGS) $(CXXFLAGS) -c -o fuzzer_encoder_v2-fuzzer_encoder_v2.o `test -f 'fuzzer_encoder_v2.cc' || echo '$(srcdir)/'`fuzzer_encoder_v2.cc - -fuzzer_encoder_v2-fuzzer_encoder_v2.obj: fuzzer_encoder_v2.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_encoder_v2_CXXFLAGS) $(CXXFLAGS) -MT fuzzer_encoder_v2-fuzzer_encoder_v2.obj -MD -MP -MF $(DEPDIR)/fuzzer_encoder_v2-fuzzer_encoder_v2.Tpo -c -o fuzzer_encoder_v2-fuzzer_encoder_v2.obj `if test -f 'fuzzer_encoder_v2.cc'; then $(CYGPATH_W) 'fuzzer_encoder_v2.cc'; else $(CYGPATH_W) '$(srcdir)/fuzzer_encoder_v2.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fuzzer_encoder_v2-fuzzer_encoder_v2.Tpo $(DEPDIR)/fuzzer_encoder_v2-fuzzer_encoder_v2.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fuzzer_encoder_v2.cc' object='fuzzer_encoder_v2-fuzzer_encoder_v2.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_encoder_v2_CXXFLAGS) $(CXXFLAGS) -c -o fuzzer_encoder_v2-fuzzer_encoder_v2.obj `if test -f 'fuzzer_encoder_v2.cc'; then $(CYGPATH_W) 'fuzzer_encoder_v2.cc'; else $(CYGPATH_W) '$(srcdir)/fuzzer_encoder_v2.cc'; fi` - -fuzzer_metadata-fuzzer_metadata.o: fuzzer_metadata.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_metadata_CXXFLAGS) $(CXXFLAGS) -MT fuzzer_metadata-fuzzer_metadata.o -MD -MP -MF $(DEPDIR)/fuzzer_metadata-fuzzer_metadata.Tpo -c -o fuzzer_metadata-fuzzer_metadata.o `test -f 'fuzzer_metadata.cc' || echo '$(srcdir)/'`fuzzer_metadata.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fuzzer_metadata-fuzzer_metadata.Tpo $(DEPDIR)/fuzzer_metadata-fuzzer_metadata.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fuzzer_metadata.cc' object='fuzzer_metadata-fuzzer_metadata.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_metadata_CXXFLAGS) $(CXXFLAGS) -c -o fuzzer_metadata-fuzzer_metadata.o `test -f 'fuzzer_metadata.cc' || echo '$(srcdir)/'`fuzzer_metadata.cc - -fuzzer_metadata-fuzzer_metadata.obj: fuzzer_metadata.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_metadata_CXXFLAGS) $(CXXFLAGS) -MT fuzzer_metadata-fuzzer_metadata.obj -MD -MP -MF $(DEPDIR)/fuzzer_metadata-fuzzer_metadata.Tpo -c -o fuzzer_metadata-fuzzer_metadata.obj `if test -f 'fuzzer_metadata.cc'; then $(CYGPATH_W) 'fuzzer_metadata.cc'; else $(CYGPATH_W) '$(srcdir)/fuzzer_metadata.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fuzzer_metadata-fuzzer_metadata.Tpo $(DEPDIR)/fuzzer_metadata-fuzzer_metadata.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fuzzer_metadata.cc' object='fuzzer_metadata-fuzzer_metadata.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_metadata_CXXFLAGS) $(CXXFLAGS) -c -o fuzzer_metadata-fuzzer_metadata.obj `if test -f 'fuzzer_metadata.cc'; then $(CYGPATH_W) 'fuzzer_metadata.cc'; else $(CYGPATH_W) '$(srcdir)/fuzzer_metadata.cc'; fi` - -fuzzer_seek-fuzzer_seek.o: fuzzer_seek.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_seek_CXXFLAGS) $(CXXFLAGS) -MT fuzzer_seek-fuzzer_seek.o -MD -MP -MF $(DEPDIR)/fuzzer_seek-fuzzer_seek.Tpo -c -o fuzzer_seek-fuzzer_seek.o `test -f 'fuzzer_seek.cc' || echo '$(srcdir)/'`fuzzer_seek.cc -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fuzzer_seek-fuzzer_seek.Tpo $(DEPDIR)/fuzzer_seek-fuzzer_seek.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fuzzer_seek.cc' object='fuzzer_seek-fuzzer_seek.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_seek_CXXFLAGS) $(CXXFLAGS) -c -o fuzzer_seek-fuzzer_seek.o `test -f 'fuzzer_seek.cc' || echo '$(srcdir)/'`fuzzer_seek.cc - -fuzzer_seek-fuzzer_seek.obj: fuzzer_seek.cc -@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_seek_CXXFLAGS) $(CXXFLAGS) -MT fuzzer_seek-fuzzer_seek.obj -MD -MP -MF $(DEPDIR)/fuzzer_seek-fuzzer_seek.Tpo -c -o fuzzer_seek-fuzzer_seek.obj `if test -f 'fuzzer_seek.cc'; then $(CYGPATH_W) 'fuzzer_seek.cc'; else $(CYGPATH_W) '$(srcdir)/fuzzer_seek.cc'; fi` -@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/fuzzer_seek-fuzzer_seek.Tpo $(DEPDIR)/fuzzer_seek-fuzzer_seek.Po -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='fuzzer_seek.cc' object='fuzzer_seek-fuzzer_seek.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(fuzzer_seek_CXXFLAGS) $(CXXFLAGS) -c -o fuzzer_seek-fuzzer_seek.obj `if test -f 'fuzzer_seek.cc'; then $(CYGPATH_W) 'fuzzer_seek.cc'; else $(CYGPATH_W) '$(srcdir)/fuzzer_seek.cc'; fi` - mostlyclean-libtool: -rm -f *.lo @@ -727,6 +882,10 @@ distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + -rm -f ${top_builddir}/src/flac/$(DEPDIR)/$(am__dirstamp) + -rm -f ${top_builddir}/src/flac/$(am__dirstamp) + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/$(am__dirstamp) + -rm -f ${top_builddir}/src/metaflac/$(am__dirstamp) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @@ -737,11 +896,31 @@ mostlyclean-am distclean: distclean-am - -rm -f ./$(DEPDIR)/fuzzer_decoder-fuzzer_decoder.Po - -rm -f ./$(DEPDIR)/fuzzer_encoder-fuzzer_encoder.Po - -rm -f ./$(DEPDIR)/fuzzer_encoder_v2-fuzzer_encoder_v2.Po - -rm -f ./$(DEPDIR)/fuzzer_metadata-fuzzer_metadata.Po - -rm -f ./$(DEPDIR)/fuzzer_seek-fuzzer_seek.Po + -rm -f ${top_builddir}/src/flac/$(DEPDIR)/analyze.Po + -rm -f ${top_builddir}/src/flac/$(DEPDIR)/decode.Po + -rm -f ${top_builddir}/src/flac/$(DEPDIR)/encode.Po + -rm -f ${top_builddir}/src/flac/$(DEPDIR)/foreign_metadata.Po + -rm -f ${top_builddir}/src/flac/$(DEPDIR)/local_string_utils.Po + -rm -f ${top_builddir}/src/flac/$(DEPDIR)/utils.Po + -rm -f ${top_builddir}/src/flac/$(DEPDIR)/vorbiscomment.Po + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations.Po + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_cuesheet.Po + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_picture.Po + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_seektable.Po + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_streaminfo.Po + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_vorbiscomment.Po + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/options.Po + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/usage.Po + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/utils.Po + -rm -f ./$(DEPDIR)/decoder.Po + -rm -f ./$(DEPDIR)/empty.Po + -rm -f ./$(DEPDIR)/encoder.Po + -rm -f ./$(DEPDIR)/encoder_v2.Po + -rm -f ./$(DEPDIR)/metadata.Po + -rm -f ./$(DEPDIR)/reencoder.Po + -rm -f ./$(DEPDIR)/seek.Po + -rm -f ./$(DEPDIR)/tool_flac.Po + -rm -f ./$(DEPDIR)/tool_metaflac.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -787,11 +966,31 @@ installcheck-am: maintainer-clean: maintainer-clean-am - -rm -f ./$(DEPDIR)/fuzzer_decoder-fuzzer_decoder.Po - -rm -f ./$(DEPDIR)/fuzzer_encoder-fuzzer_encoder.Po - -rm -f ./$(DEPDIR)/fuzzer_encoder_v2-fuzzer_encoder_v2.Po - -rm -f ./$(DEPDIR)/fuzzer_metadata-fuzzer_metadata.Po - -rm -f ./$(DEPDIR)/fuzzer_seek-fuzzer_seek.Po + -rm -f ${top_builddir}/src/flac/$(DEPDIR)/analyze.Po + -rm -f ${top_builddir}/src/flac/$(DEPDIR)/decode.Po + -rm -f ${top_builddir}/src/flac/$(DEPDIR)/encode.Po + -rm -f ${top_builddir}/src/flac/$(DEPDIR)/foreign_metadata.Po + -rm -f ${top_builddir}/src/flac/$(DEPDIR)/local_string_utils.Po + -rm -f ${top_builddir}/src/flac/$(DEPDIR)/utils.Po + -rm -f ${top_builddir}/src/flac/$(DEPDIR)/vorbiscomment.Po + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations.Po + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_cuesheet.Po + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_picture.Po + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_seektable.Po + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_streaminfo.Po + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/operations_shorthand_vorbiscomment.Po + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/options.Po + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/usage.Po + -rm -f ${top_builddir}/src/metaflac/$(DEPDIR)/utils.Po + -rm -f ./$(DEPDIR)/decoder.Po + -rm -f ./$(DEPDIR)/empty.Po + -rm -f ./$(DEPDIR)/encoder.Po + -rm -f ./$(DEPDIR)/encoder_v2.Po + -rm -f ./$(DEPDIR)/metadata.Po + -rm -f ./$(DEPDIR)/reencoder.Po + -rm -f ./$(DEPDIR)/seek.Po + -rm -f ./$(DEPDIR)/tool_flac.Po + -rm -f ./$(DEPDIR)/tool_metaflac.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic diff -Nru flac-1.4.2+ds/oss-fuzz/metadata.cc flac-1.4.3+ds1/oss-fuzz/metadata.cc --- flac-1.4.2+ds/oss-fuzz/metadata.cc 1970-01-01 00:00:00.000000000 +0000 +++ flac-1.4.3+ds1/oss-fuzz/metadata.cc 2023-06-15 09:52:54.206861466 +0000 @@ -0,0 +1,526 @@ +/* fuzzer_metadata + * Copyright (C) 2022-2023 Xiph.Org Foundation + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Xiph.org Foundation nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include /* for memcpy */ +#include +#include "FLAC++/metadata.h" +#include "common.h" + +#define CONFIG_LENGTH 2 + +#define min(x,y) (x> 4; + + if(0)//data[1] < 128) /* Use MSB as on/off */ + alloc_check_threshold = data[1]; + else + alloc_check_threshold = INT32_MAX; + alloc_check_counter = 0; + + + /* Leave at least one byte as input */ + if(command_length >= size - 1 - CONFIG_LENGTH) + command_length = size - 1 - CONFIG_LENGTH; + + /* Dump input to file */ + { + int file_to_fuzz = mkstemps(filename, 5); + + if (file_to_fuzz < 0) + abort(); + write(file_to_fuzz,data+CONFIG_LENGTH+command_length,size-CONFIG_LENGTH-command_length); + close(file_to_fuzz); + } + + run_tests_with_level_0_interface(filename); + run_tests_with_level_1_interface(filename, init_bools[1], init_bools[2], data+CONFIG_LENGTH, command_length/2); + + /* Dump input to file, to start fresh for level 2 */ + if(!init_bools[1]){ + FILE * file_to_fuzz = fopen(filename,"w"); + fwrite(data+CONFIG_LENGTH+command_length,1,size-CONFIG_LENGTH-command_length,file_to_fuzz); + fclose(file_to_fuzz); + } + + run_tests_with_level_2_interface(filename, init_bools[0], init_bools[3], data+command_length/2+CONFIG_LENGTH, command_length/2); + + remove(filename); + + return 0; +} + +static void run_tests_with_level_0_interface(char filename[]) { + FLAC::Metadata::StreamInfo streaminfo; + FLAC::Metadata::VorbisComment vorbis_comment; + FLAC::Metadata::CueSheet cue_sheet; + FLAC::Metadata::Picture picture; + + FLAC::Metadata::get_streaminfo(filename,streaminfo); + FLAC::Metadata::get_tags(filename,vorbis_comment); + FLAC::Metadata::get_cuesheet(filename,cue_sheet); + FLAC::Metadata::get_picture(filename,picture, (FLAC__StreamMetadata_Picture_Type)(1), NULL, NULL, -1, -1, -1, -1); +} + +static void run_tests_with_level_1_interface(char filename[], bool readonly, bool preservestats, const uint8_t *data, size_t size) { + FLAC::Metadata::SimpleIterator iterator; + FLAC::Metadata::Prototype *metadata_block = nullptr; + uint8_t id[4] = {0}; + + if(!iterator.is_valid()) + return; + + if(!iterator.init(filename,readonly,preservestats)) + return; + + for(size_t i = 0; i < size && iterator.status() == FLAC__METADATA_SIMPLE_ITERATOR_STATUS_OK; i++) { + switch(data[i] & 7) { + case 0: + iterator.get_block_type(); + iterator.get_block_offset(); + iterator.get_block_length(); + iterator.get_application_id(id); + break; + case 1: + iterator.next(); + break; + case 2: + iterator.prev(); + break; + case 3: + iterator.delete_block(data[i] & 8); + break; + case 4: + if(metadata_block != 0) { + delete metadata_block; + metadata_block = nullptr; + } + metadata_block = iterator.get_block(); + break; + case 5: + if(metadata_block != 0) + iterator.set_block(metadata_block,data[i] & 8); + break; + case 6: + if(metadata_block != 0) + iterator.insert_block_after(metadata_block, data[i] & 8); + break; + case 7: + iterator.status(); + iterator.is_last(); + iterator.is_writable(); + break; + } + } + if(metadata_block != 0) { + delete metadata_block; + metadata_block = nullptr; + } + + +} + + +static void run_tests_with_level_2_interface(char filename[], bool ogg, bool use_padding, const uint8_t *data, size_t size) { + FLAC::Metadata::Chain chain; + FLAC::Metadata::Iterator iterator; + FLAC::Metadata::Prototype *metadata_block_get = nullptr; + FLAC::Metadata::Prototype *metadata_block_transfer = nullptr; + FLAC::Metadata::Prototype *metadata_block_put = nullptr; + + if(!chain.is_valid()) + return; + + if(!chain.read(filename, ogg)) + return; + + iterator.init(chain); + + for(size_t i = 0; i < size; i++) { + switch(data[i] & 15) { + case 0: + iterator.get_block_type(); + break; + case 1: + iterator.next(); + break; + case 2: + iterator.prev(); + break; + case 3: + iterator.delete_block(data[i] & 16); + break; + case 4: + metadata_block_get = iterator.get_block(); + if(metadata_block_get != 0 && metadata_block_get->is_valid()) { + if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) { + if(metadata_block_transfer != metadata_block_get) { + delete metadata_block_transfer; + metadata_block_transfer = nullptr; + metadata_block_transfer = FLAC::Metadata::clone(metadata_block_get); + } + } + else { + metadata_block_transfer = FLAC::Metadata::clone(metadata_block_get); + } + } + delete metadata_block_get; + break; + case 5: + if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) { + metadata_block_put = FLAC::Metadata::clone(metadata_block_transfer); + if(metadata_block_put != 0 && metadata_block_put->is_valid()) { + if(!iterator.insert_block_before(metadata_block_put)) + delete metadata_block_put; + } + else + if(metadata_block_put != 0) + delete metadata_block_put; + } + break; + case 6: + if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) { + metadata_block_put = FLAC::Metadata::clone(metadata_block_transfer); + if(metadata_block_put != 0 && metadata_block_put->is_valid()) { + if(!iterator.insert_block_after(metadata_block_put)) + delete metadata_block_put; + } + else + if(metadata_block_put != 0) + delete metadata_block_put; + } + break; + case 7: + if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) { + metadata_block_put = FLAC::Metadata::clone(metadata_block_transfer); + if(metadata_block_put != 0 && metadata_block_put->is_valid()) { + if(!iterator.set_block(metadata_block_put)) + delete metadata_block_put; + } + else + if(metadata_block_put != 0) + delete metadata_block_put; + } + break; + case 8: /* Examine block */ + if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) { + switch(metadata_block_transfer->get_type()) { + case FLAC__METADATA_TYPE_VORBIS_COMMENT: + { + uint32_t num_comments; + ::FLAC__StreamMetadata_VorbisComment_Entry entry; + FLAC::Metadata::VorbisComment::Entry entry_cpp; + FLAC::Metadata::VorbisComment * vorbiscomment = dynamic_cast(metadata_block_transfer); + const ::FLAC__StreamMetadata * metadata_c = *metadata_block_transfer; + if(vorbiscomment == 0) + abort(); + vorbiscomment->get_vendor_string(); + num_comments = vorbiscomment->get_num_comments(); + if(num_comments > 0) { + entry = metadata_c->data.vorbis_comment.comments[min(data[i]>>4,num_comments-1)]; + if(entry.entry == 0) + abort(); + if(vorbiscomment->get_comment(min(data[i]>>4,num_comments-1)).is_valid()) { + entry_cpp = vorbiscomment->get_comment(min(data[i]>>4,num_comments-1)); + if(entry_cpp.is_valid() && entry_cpp.get_field() == 0) + abort(); + vorbiscomment->find_entry_from(0,"TEST"); + } + } + + } + break; + case FLAC__METADATA_TYPE_CUESHEET: + { + uint32_t num_tracks, num_indices; + FLAC::Metadata::CueSheet * cuesheet = dynamic_cast(metadata_block_transfer); + if(cuesheet == 0 || !cuesheet->is_legal()) + break; + cuesheet->is_legal(true); /* check CDDA subset */ + cuesheet->calculate_cddb_id(); + cuesheet->get_media_catalog_number(); + cuesheet->get_lead_in(); + cuesheet->get_is_cd(); + num_tracks = cuesheet->get_num_tracks(); + if(num_tracks > 0) { + FLAC::Metadata::CueSheet::Track track = cuesheet->get_track(min(data[i]>>4,num_tracks-1)); + track.get_offset(); + track.get_number(); + track.get_isrc(); + track.get_pre_emphasis(); + num_indices = track.get_num_indices(); + if(num_indices > 0) { + FLAC__StreamMetadata_CueSheet_Index index = track.get_index(min(data[i]>>4,num_indices-1)); + (void)index; + } + } + } + break; + case FLAC__METADATA_TYPE_PICTURE: + { + char * violation = nullptr; + FLAC::Metadata::Picture * picture = dynamic_cast(metadata_block_transfer); + if(picture == 0 || !picture->is_legal((const char **)&violation)) + break; + picture->get_data(); + } + break; + default: + break; + } + + } + break; + case 9: /* Replace or add in block */ + if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) { + switch(metadata_block_transfer->get_type()) { + case FLAC__METADATA_TYPE_SEEKTABLE: + { + uint32_t num_seekpoints; + FLAC__StreamMetadata_SeekPoint seekpoint; + FLAC::Metadata::SeekTable * seektable = dynamic_cast(metadata_block_transfer); + if(seektable == 0) + break; + if(seektable->is_valid() && seektable->is_legal()) { + num_seekpoints = seektable->get_num_points(); + if(num_seekpoints > 0) { + seekpoint = seektable->get_point(min(data[i]>>5,num_seekpoints-1)); + seektable->set_point(0,seekpoint); + seektable->insert_point(min(data[i]>>5,num_seekpoints-1),seekpoint); + } + seektable->template_append_placeholders(4); + seektable->template_append_point(111111); + seektable->template_append_points((FLAC__uint64[]){222222, 333333, 444444}, 3); + seektable->template_append_spaced_points(data[i]>>5, 1234567); + seektable->template_append_spaced_points_by_samples(data[i]>>5, 2468000); + seektable->template_sort(data[i] & 16); + } + } + case FLAC__METADATA_TYPE_VORBIS_COMMENT: + { + uint32_t num_comments; + FLAC::Metadata::VorbisComment::Entry entry; + FLAC::Metadata::VorbisComment * vorbiscomment = dynamic_cast(metadata_block_transfer); + if(vorbiscomment == 0) + break; + num_comments = vorbiscomment->get_num_comments(); + if(num_comments > 0 && entry.is_valid()) { + if(vorbiscomment->get_comment(min(data[i]>>5,num_comments-1)).is_valid()) { + entry = vorbiscomment->get_comment(min(data[i]>>5,num_comments-1)); + if(entry.is_valid()) { + vorbiscomment->replace_comment(entry,data[i] & 16); + vorbiscomment->set_comment(0,entry); + vorbiscomment->append_comment(entry); + vorbiscomment->insert_comment(0,entry); + } + } + } + } + break; + case FLAC__METADATA_TYPE_CUESHEET: + { + uint32_t num_tracks, num_indices; + FLAC::Metadata::CueSheet * cuesheet = dynamic_cast(metadata_block_transfer); + if(cuesheet == 0 || !cuesheet->is_legal()) + break; + num_tracks = cuesheet->get_num_tracks(); + if(num_tracks > 0) { + FLAC::Metadata::CueSheet::Track track = cuesheet->get_track(min(data[i]>>4,num_tracks-1)); + num_indices = track.get_num_indices(); + if(num_indices > 0) { + FLAC__StreamMetadata_CueSheet_Index index = track.get_index(min(data[i]>>4,num_indices-1)); + track.set_index(0,index); + cuesheet->insert_index(0,0,index); + cuesheet->insert_blank_index(0,0); + } + cuesheet->insert_blank_track(0); + cuesheet->insert_track(0,track); + cuesheet->resize_indices(min(data[i]>>4,num_tracks-1),data[i]>>4); + } + } + break; + case FLAC__METADATA_TYPE_PICTURE: + { + FLAC::Metadata::Picture * picture = dynamic_cast(metadata_block_transfer); + const char testtext[] = "TEST"; + if(picture == 0 || !picture->is_legal(NULL)) + break; + picture->set_description((FLAC__byte *)&testtext); + picture->set_mime_type((const char *)&testtext); + picture->set_data((FLAC__byte *)&testtext,4); + } + break; + default: + break; + } + + } + break; + case 10: /* Delete from block */ + if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) { + switch(metadata_block_transfer->get_type()) { + case FLAC__METADATA_TYPE_SEEKTABLE: + { + uint32_t num_seekpoints; + FLAC::Metadata::SeekTable * seektable = dynamic_cast(metadata_block_transfer); + if(seektable == 0) + break; + if(seektable->is_valid() && seektable->is_legal()) { + num_seekpoints = seektable->get_num_points(); + if(num_seekpoints > 0) + seektable->delete_point(min(data[i]>>4,num_seekpoints-1)); + } + } + case FLAC__METADATA_TYPE_VORBIS_COMMENT: + { + uint32_t num_comments; + FLAC::Metadata::VorbisComment * vorbiscomment = dynamic_cast(metadata_block_transfer); + if(vorbiscomment == 0) + break; + num_comments = vorbiscomment->get_num_comments(); + if(num_comments > 0) + vorbiscomment->delete_comment(min(data[i]>>4,num_comments-1)); + vorbiscomment->remove_entry_matching("TEST"); + vorbiscomment->remove_entries_matching("TEST"); + } + break; + case FLAC__METADATA_TYPE_CUESHEET: + { + uint32_t num_tracks; + FLAC::Metadata::CueSheet * cuesheet = dynamic_cast(metadata_block_transfer); + if(cuesheet == 0 || !cuesheet->is_legal()) + break; + num_tracks = cuesheet->get_num_tracks(); + if(num_tracks > 0) { + FLAC::Metadata::CueSheet::Track track = cuesheet->get_track(min(data[i]>>4,num_tracks-1)); + if(track.get_num_indices() > 0) + cuesheet->delete_index(min(data[i]>>4,num_tracks-1),0); + cuesheet->delete_track(0); + } + } + break; + default: + break; + } + + } + break; + case 11: /* Resize block */ + if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) { + switch(metadata_block_transfer->get_type()) { + case FLAC__METADATA_TYPE_PADDING: + { + FLAC::Metadata::Padding * padding = dynamic_cast(metadata_block_transfer); + if(padding == 0) + break; + padding->set_length(data[i]>>4); + } + break; + case FLAC__METADATA_TYPE_SEEKTABLE: + { + FLAC::Metadata::SeekTable * seektable = dynamic_cast(metadata_block_transfer); + if(seektable == 0) + break; + seektable->resize_points(data[i]>>4); + } + break; + case FLAC__METADATA_TYPE_VORBIS_COMMENT: + { + FLAC::Metadata::VorbisComment * vorbiscomment = dynamic_cast(metadata_block_transfer); + if(vorbiscomment == 0) + break; + vorbiscomment->resize_comments(data[i]>>4); + } + break; + case FLAC__METADATA_TYPE_CUESHEET: + { + uint32_t num_tracks; + FLAC::Metadata::CueSheet * cuesheet = dynamic_cast(metadata_block_transfer); + if(cuesheet == 0 || !cuesheet->is_legal()) + break; + num_tracks = cuesheet->get_num_tracks(); + if(num_tracks > 0) { + cuesheet->resize_indices(min(data[i]>>4,num_tracks-1),data[i]>>4); + } + cuesheet->resize_tracks(data[i]<<4); + } + break; + default: + break; + } + + } + break; + case 12: /* Prototype functions */ + if(metadata_block_transfer != 0 && metadata_block_transfer->is_valid()) { + const ::FLAC__StreamMetadata * metadata_compare = *metadata_block_transfer; + metadata_block_transfer->get_is_last(); + metadata_block_transfer->get_length(); + metadata_block_transfer->set_is_last(data[i] & 16); + FLAC__metadata_object_is_equal(metadata_compare, metadata_compare); + } + break; + } + } + if(metadata_block_transfer != 0) { + delete metadata_block_transfer; + metadata_block_transfer = nullptr; + } + + chain.status(); + chain.sort_padding(); + chain.merge_padding(); + + chain.check_if_tempfile_needed(!use_padding); + chain.write(use_padding); + +} diff -Nru flac-1.4.2+ds/oss-fuzz/reencoder.cc flac-1.4.3+ds1/oss-fuzz/reencoder.cc --- flac-1.4.2+ds/oss-fuzz/reencoder.cc 1970-01-01 00:00:00.000000000 +0000 +++ flac-1.4.3+ds1/oss-fuzz/reencoder.cc 2023-04-17 09:56:11.722272826 +0000 @@ -0,0 +1,304 @@ +/* Copyright 2019 Guido Vranken + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject + * to the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include +#include +#include + +#include +#include + +#include "FLAC++/encoder.h" +#include "FLAC++/decoder.h" +#include "FLAC++/metadata.h" +#include "common.h" + +#define MAX_NUM_METADATA_BLOCKS 2048 + +namespace FLAC { + namespace Encoder { + class FuzzerStream : public Stream { + private: + // fuzzing::datasource::Datasource& ds; + public: + FuzzerStream(fuzzing::datasource::Datasource&) : + Stream() { } + + ::FLAC__StreamEncoderWriteStatus write_callback(const FLAC__byte buffer[], size_t bytes, uint32_t /* samples */, uint32_t /* current_frame */) override { + fuzzing::memory::memory_test(buffer, bytes); + return FLAC__STREAM_ENCODER_WRITE_STATUS_OK; + } + }; + } + namespace Decoder { + class FuzzerDecoder : public Stream { + private: + fuzzing::datasource::Datasource& ds; + FLAC::Encoder::FuzzerStream& encoder; + public: + FuzzerDecoder(fuzzing::datasource::Datasource& dsrc, FLAC::Encoder::FuzzerStream& encoder_arg) : + Stream(), ds(dsrc), encoder(encoder_arg) { } + + ::FLAC__StreamMetadata * metadata_blocks[MAX_NUM_METADATA_BLOCKS] = {0}; + int num_metadata_blocks = 0; + + void metadata_callback(const ::FLAC__StreamMetadata *metadata) override { + if(num_metadata_blocks < MAX_NUM_METADATA_BLOCKS) + if((metadata_blocks[num_metadata_blocks] = FLAC__metadata_object_clone(metadata)) != NULL) + num_metadata_blocks++; + } + + ::FLAC__StreamDecoderReadStatus read_callback(FLAC__byte buffer[], size_t *bytes) override { + try { + const size_t maxCopySize = *bytes; + + if ( maxCopySize > 0 ) { + /* memset just to test if this overwrites anything, and triggers ASAN */ + memset(buffer, 0, maxCopySize); + } + + const auto data = ds.GetData(0); + const auto dataSize = data.size(); + const auto copySize = std::min(maxCopySize, dataSize); + + if ( copySize > 0 ) { + memcpy(buffer, data.data(), copySize); + } + + *bytes = copySize; + + return FLAC__STREAM_DECODER_READ_STATUS_CONTINUE; + } catch ( ... ) { + return FLAC__STREAM_DECODER_READ_STATUS_ABORT; + } + } + + ::FLAC__StreamDecoderWriteStatus write_callback(const ::FLAC__Frame *frame, const FLAC__int32 * const buffer[]) override { + { + fuzzing::memory::memory_test(&(frame->header), sizeof(frame->header)); + fuzzing::memory::memory_test(&(frame->footer), sizeof(frame->footer)); + } + + { + const auto numChannels = get_channels(); + const size_t bytesPerChannel = frame->header.blocksize * sizeof(FLAC__int32); + for (size_t i = 0; i < numChannels; i++) { + fuzzing::memory::memory_test(buffer[i], bytesPerChannel); + } + } + + /* Data is checked, now pass it towards encoder */ + if(encoder.get_state() == FLAC__STREAM_ENCODER_OK) { + if(encoder.get_channels() != get_channels()) + return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT; + if(encoder.get_bits_per_sample() != get_bits_per_sample()) + return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT; + encoder.process(buffer, frame->header.blocksize); + return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE; + } + else + return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT; + } + void error_callback(::FLAC__StreamDecoderErrorStatus status) override { + fuzzing::memory::memory_test(status); + } + }; + } +} + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { + fuzzing::datasource::Datasource ds(data, size); + FLAC::Encoder::FuzzerStream encoder(ds); + FLAC::Decoder::FuzzerDecoder decoder(ds, encoder); + + try { + const int channels = ds.Get(); + const int bps = ds.Get(); + encoder.set_channels(channels); + encoder.set_bits_per_sample(bps); + + { + const bool res = encoder.set_streamable_subset(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_ogg_serial_number(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_verify(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_compression_level(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_do_mid_side_stereo(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_loose_mid_side_stereo(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_max_lpc_order(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_qlp_coeff_precision(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_do_escape_coding(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_min_residual_partition_order(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_max_residual_partition_order(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_total_samples_estimate(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_blocksize(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_limit_min_bitrate(ds.Get()); + fuzzing::memory::memory_test(res); + } + { + const bool res = encoder.set_sample_rate(ds.Get()); + fuzzing::memory::memory_test(res); + } + + decoder.set_metadata_respond_all(); + + { + ::FLAC__StreamDecoderInitStatus ret; + if ( ds.Get() ) { + ret = decoder.init(); + } else { + ret = decoder.init_ogg(); + } + + if ( ret != FLAC__STREAM_DECODER_INIT_STATUS_OK ) { + goto end; + } + + decoder.process_until_end_of_metadata(); + if(decoder.num_metadata_blocks > 0) + encoder.set_metadata(decoder.metadata_blocks, decoder.num_metadata_blocks); + } + + { + ::FLAC__StreamEncoderInitStatus ret; + if ( ds.Get() ) { + ret = encoder.init(); + } else { + ret = encoder.init_ogg(); + } + + if ( ret != FLAC__STREAM_ENCODER_INIT_STATUS_OK ) { + goto end; + } + } + + /* These sets must fail, because encoder is already initialized */ + { + bool res = false; + res = res || encoder.set_streamable_subset(true); + res = res || encoder.set_ogg_serial_number(0); + res = res || encoder.set_verify(true); + res = res || encoder.set_compression_level(0); + res = res || encoder.set_do_exhaustive_model_search(true); + res = res || encoder.set_do_mid_side_stereo(true); + res = res || encoder.set_loose_mid_side_stereo(true); + res = res || encoder.set_apodization("test"); + res = res || encoder.set_max_lpc_order(0); + res = res || encoder.set_qlp_coeff_precision(0); + res = res || encoder.set_do_qlp_coeff_prec_search(true); + res = res || encoder.set_do_escape_coding(true); + res = res || encoder.set_min_residual_partition_order(0); + res = res || encoder.set_max_residual_partition_order(0); + res = res || encoder.set_rice_parameter_search_dist(0); + res = res || encoder.set_total_samples_estimate(0); + res = res || encoder.set_channels(channels); + res = res || encoder.set_bits_per_sample(16); + res = res || encoder.set_limit_min_bitrate(true); + res = res || encoder.set_blocksize(3021); + res = res || encoder.set_sample_rate(44100); + fuzzing::memory::memory_test(res); + if(res) + abort(); + } + + + { + /* XORing values as otherwise compiler will optimize, apparently */ + bool res = false; + res = res != encoder.get_streamable_subset(); + res = res != encoder.get_verify(); + res = res != encoder.get_do_exhaustive_model_search(); + res = res != encoder.get_do_mid_side_stereo(); + res = res != encoder.get_loose_mid_side_stereo(); + res = res != encoder.get_max_lpc_order(); + res = res != encoder.get_qlp_coeff_precision(); + res = res != encoder.get_do_qlp_coeff_prec_search(); + res = res != encoder.get_do_escape_coding(); + res = res != encoder.get_min_residual_partition_order(); + res = res != encoder.get_max_residual_partition_order(); + res = res != encoder.get_rice_parameter_search_dist(); + res = res != encoder.get_total_samples_estimate(); + res = res != encoder.get_channels(); + res = res != encoder.get_bits_per_sample(); + res = res != encoder.get_limit_min_bitrate(); + res = res != encoder.get_blocksize(); + res = res != encoder.get_sample_rate(); + fuzzing::memory::memory_test(res); + } + + decoder.process_until_end_of_stream(); + + } catch ( ... ) { } + +end: + { + const bool res = encoder.finish(); + fuzzing::memory::memory_test(res); + } + { + const bool res = decoder.finish(); + fuzzing::memory::memory_test(res); + } + for(int i = 0; i < decoder.num_metadata_blocks; i++) + FLAC__metadata_object_delete(decoder.metadata_blocks[i]); + + return 0; +} diff -Nru flac-1.4.2+ds/oss-fuzz/seek.cc flac-1.4.3+ds1/oss-fuzz/seek.cc --- flac-1.4.2+ds/oss-fuzz/seek.cc 1970-01-01 00:00:00.000000000 +0000 +++ flac-1.4.3+ds1/oss-fuzz/seek.cc 2023-06-15 09:52:54.222861523 +0000 @@ -0,0 +1,195 @@ +/* fuzzer_seek + * Copyright (C) 2022-2023 Xiph.Org Foundation + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Xiph.org Foundation nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include /* for memcpy */ +#include "FLAC/stream_decoder.h" +#include "common.h" + +int write_abort_check_counter = -1; + +#if 0 /* set to 1 to debug */ +#define FPRINTF_DEBUG_ONLY(...) fprintf(__VA_ARGS__) +#else +#define FPRINTF_DEBUG_ONLY(...) +#endif + +#define CONFIG_LENGTH 2 + +static FLAC__StreamDecoderWriteStatus write_callback(const FLAC__StreamDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 *const buffer[], void *client_data) +{ + (void)decoder, (void)frame, (void)buffer, (void)client_data; + if(write_abort_check_counter > 0) { + write_abort_check_counter--; + if(write_abort_check_counter == 0) + return FLAC__STREAM_DECODER_WRITE_STATUS_ABORT; + } else if(write_abort_check_counter == 0) + /* This must not happen: write callback called after abort is returned */ + abort(); + return FLAC__STREAM_DECODER_WRITE_STATUS_CONTINUE; +} + +static void error_callback(const FLAC__StreamDecoder *decoder, FLAC__StreamDecoderErrorStatus error, void *client_data) +{ + (void)decoder, (void)error, (void)client_data; +} + + +extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + FLAC__bool decoder_valid = true; + FLAC__StreamDecoder *decoder; + uint8_t command_length; + FLAC__bool init_bools[16], ogg; + + if(size > 2 && data[1] < 128) /* Use MSB as on/off */ + alloc_check_threshold = data[1]; + else + alloc_check_threshold = INT32_MAX; + alloc_check_counter = 0; + + write_abort_check_counter = -1; + + /* allocate the decoder */ + if((decoder = FLAC__stream_decoder_new()) == NULL) { + fprintf(stderr, "ERROR: allocating decoder\n"); + return 1; + } + + /* Use first byte for configuration, leave at least one byte of input */ + if(size < 1 + CONFIG_LENGTH){ + FLAC__stream_decoder_delete(decoder); + return 0; + } + + /* First 4 bits for configuration bools, next 4 for length of command section */ + for(int i = 0; i < 4; i++) + init_bools[i] = data[i/8] & (1 << (i % 8)); + + command_length = data[0] >> 4; + + /* Leave at least one byte as input */ + if(command_length >= size - 1 - CONFIG_LENGTH) + command_length = size - 1 - CONFIG_LENGTH; + + /* Dump decoder input to file */ + { + FILE * file_to_decode = fopen("/tmp/tmp.flac","w"); + fwrite(data+CONFIG_LENGTH+command_length,1,size-CONFIG_LENGTH-command_length,file_to_decode); + fclose(file_to_decode); + } + + ogg = init_bools[0]; + + FLAC__stream_decoder_set_md5_checking(decoder,init_bools[1]); + if(init_bools[2]) + FLAC__stream_decoder_set_metadata_respond_all(decoder); + if(init_bools[3]) + FLAC__stream_decoder_set_metadata_ignore_all(decoder); + + /* initialize decoder */ + if(decoder_valid) { + FLAC__StreamDecoderInitStatus init_status; + if(ogg) + init_status = FLAC__stream_decoder_init_ogg_file(decoder, "/tmp/tmp.flac", write_callback, NULL, error_callback, NULL); + else + init_status = FLAC__stream_decoder_init_file(decoder, "/tmp/tmp.flac", write_callback, NULL, error_callback, NULL); + if(init_status != FLAC__STREAM_DECODER_INIT_STATUS_OK) { + decoder_valid = false; + } + } + + /* Run commands */ + for(uint8_t i = 0; decoder_valid && (i < command_length); i++){ + const uint8_t * command = data+CONFIG_LENGTH+i; + uint8_t shift = 1u << (command[0] >> 3); + FLAC__uint64 seekpos; + + switch(command[0] & 15){ + case 0: + FPRINTF_DEBUG_ONLY(stderr,"end_of_stream\n"); + decoder_valid = FLAC__stream_decoder_process_until_end_of_stream(decoder); + break; + case 1: + FPRINTF_DEBUG_ONLY(stderr,"end_of_metadata\n"); + decoder_valid = FLAC__stream_decoder_process_until_end_of_metadata(decoder); + break; + case 2: + FPRINTF_DEBUG_ONLY(stderr,"single\n"); + decoder_valid = FLAC__stream_decoder_process_single(decoder); + break; + case 3: + FPRINTF_DEBUG_ONLY(stderr,"skip_single\n"); + decoder_valid = FLAC__stream_decoder_skip_single_frame(decoder); + break; + case 4: + FPRINTF_DEBUG_ONLY(stderr,"reset\n"); + decoder_valid = FLAC__stream_decoder_reset(decoder); + break; + case 5: + FPRINTF_DEBUG_ONLY(stderr,"flush\n"); + decoder_valid = FLAC__stream_decoder_flush(decoder); + break; + case 6: + case 14: + shift = 1u << (command[0] >> 3); + FPRINTF_DEBUG_ONLY(stderr,"seek short %hhu\n",shift); + decoder_valid = FLAC__stream_decoder_seek_absolute(decoder,shift); + break; + case 7: + if(i+8 >= command_length) /* Not enough data available to do this */ + break; + seekpos = ((FLAC__uint64)command[1] << 56) + + ((FLAC__uint64)command[2] << 48) + + ((FLAC__uint64)command[3] << 40) + + ((FLAC__uint64)command[4] << 32) + + ((FLAC__uint64)command[5] << 24) + + ((FLAC__uint64)command[6] << 16) + + ((FLAC__uint64)command[7] << 8) + + command[8]; + i+=8; + FPRINTF_DEBUG_ONLY(stderr,"seek long %lu\n",seekpos); + decoder_valid = FLAC__stream_decoder_seek_absolute(decoder,seekpos); + break; + case 8: + /* Set abort on write callback */ + write_abort_check_counter = (command[0] >> 4) + 1; + break; + } + } + + FLAC__stream_decoder_finish(decoder); + + FLAC__stream_decoder_delete(decoder); + + return 0; +} + diff -Nru flac-1.4.2+ds/oss-fuzz/tool_flac.c flac-1.4.3+ds1/oss-fuzz/tool_flac.c --- flac-1.4.2+ds/oss-fuzz/tool_flac.c 1970-01-01 00:00:00.000000000 +0000 +++ flac-1.4.3+ds1/oss-fuzz/tool_flac.c 2023-06-15 09:52:54.222861523 +0000 @@ -0,0 +1,117 @@ +/* fuzzer_tool_flac + * Copyright (C) 2023 Xiph.Org Foundation + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Xiph.org Foundation nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include /* for memcpy */ +#define FUZZ_TOOL_FLAC +#define fprintf(...) +#define printf(...) +#include "../src/flac/main.c" +#include "common.h" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + size_t size_left = size; + size_t arglen; + char * argv[67]; + char exename[] = "flac"; + char filename[] = "/tmp/fuzzXXXXXX"; + int numarg = 0, maxarg; + int file_to_fuzz; + int tmp_stdout, tmp_stdin; + fpos_t pos_stdout; + bool use_stdin = false; + + /* reset global vars */ + flac__utils_verbosity_ = 0; + share__opterr = 0; + share__optind = 0; + + if(size < 2) + return 0; + + maxarg = data[0] & 63; + use_stdin = data[0] & 64; + size_left--; + + argv[0] = exename; + numarg++; + + /* Check whether input is zero delimited */ + while((arglen = strnlen((char *)data+(size-size_left),size_left)) < size_left && numarg < maxarg) { + argv[numarg++] = (char *)data+(size-size_left); + size_left -= arglen + 1; + } + + file_to_fuzz = mkstemp(filename); + + if (file_to_fuzz < 0) + abort(); + write(file_to_fuzz,data+(size-size_left),size_left); + close(file_to_fuzz); + + /* redirect stdout */ + fflush(stdout); + fgetpos(stdout,&pos_stdout); + tmp_stdout = dup(fileno(stdout)); + freopen("/dev/null","w",stdout); + + /* redirect stdin */ + tmp_stdin = dup(fileno(stdin)); + + if(use_stdin) + freopen(filename,"r",stdin); + else { + freopen("/dev/null","r",stdin); + argv[numarg++] = filename; + } + + main_to_fuzz(numarg,argv); + + /* restore stdout */ + fflush(stdout); + dup2(tmp_stdout, fileno(stdout)); + close(tmp_stdout); + clearerr(stdout); + fsetpos(stdout,&pos_stdout); + + /* restore stdin */ + dup2(tmp_stdin, fileno(stdin)); + close(tmp_stdin); + clearerr(stdin); + + unlink(filename); + + return 0; +} + diff -Nru flac-1.4.2+ds/oss-fuzz/tool_metaflac.c flac-1.4.3+ds1/oss-fuzz/tool_metaflac.c --- flac-1.4.2+ds/oss-fuzz/tool_metaflac.c 1970-01-01 00:00:00.000000000 +0000 +++ flac-1.4.3+ds1/oss-fuzz/tool_metaflac.c 2023-04-17 09:56:11.742272843 +0000 @@ -0,0 +1,136 @@ +/* fuzzer_tool_flac + * Copyright (C) 2023 Xiph.Org Foundation + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * - Neither the name of the Xiph.org Foundation nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include /* for memcpy */ +#define FUZZ_TOOL_METAFLAC +#define fprintf(...) +#define printf(...) +#include "../src/metaflac/main.c" +#include "common.h" + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size); + +int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) +{ + size_t size_left = size; + size_t arglen; + char * argv[64]; + char exename[] = "metaflac"; + char filename[] = "/tmp/fuzzXXXXXX"; + char filename_stdin[] = "/tmp/fuzzXXXXXX"; + int numarg = 0, maxarg; + int file_to_fuzz; + int tmp_stdout, tmp_stdin; + fpos_t pos_stdout; + bool use_stdin = false; + + share__opterr = 0; + share__optind = 0; + + + if(size < 2) + return 0; + + maxarg = data[0] & 15; + use_stdin = data[0] & 16; + size_left--; + + argv[0] = exename; + numarg++; + + /* Check whether input is zero delimited */ + while((arglen = strnlen((char *)data+(size-size_left),size_left)) < size_left && numarg < maxarg) { + argv[numarg++] = (char *)data+(size-size_left); + size_left -= arglen + 1; + } + + /* Create file to feed directly */ + file_to_fuzz = mkstemp(filename); + if (file_to_fuzz < 0) + abort(); + if(use_stdin) { + write(file_to_fuzz,data+(size-size_left),size_left/2); + size_left -= size_left/2; + } + else + write(file_to_fuzz,data+(size-size_left),size_left); + close(file_to_fuzz); + + argv[numarg++] = filename; + + /* Create file to feed to stdin */ + if(use_stdin) { + file_to_fuzz = mkstemp(filename_stdin); + if (file_to_fuzz < 0) + abort(); + write(file_to_fuzz,data+(size-size_left),size_left); + close(file_to_fuzz); + } + + /* redirect stdout */ + fflush(stdout); + fgetpos(stdout,&pos_stdout); + tmp_stdout = dup(fileno(stdout)); + freopen("/dev/null","w",stdout); + + /* redirect stdin */ + tmp_stdin = dup(fileno(stdin)); + if(use_stdin) + freopen(filename_stdin,"r",stdin); + else { + freopen("/dev/null","r",stdin); + argv[numarg++] = filename; + } + + main_to_fuzz(numarg,argv); + + /* restore stdout */ + fflush(stdout); + dup2(tmp_stdout, fileno(stdout)); + close(tmp_stdout); + clearerr(stdout); + fsetpos(stdout,&pos_stdout); + + /* restore stdin */ + dup2(tmp_stdin, fileno(stdin)); + close(tmp_stdin); + clearerr(stdin); + + unlink(filename); + + if(use_stdin) + unlink(filename_stdin); + + return 0; +} + diff -Nru flac-1.4.2+ds/README.md flac-1.4.3+ds1/README.md --- flac-1.4.2+ds/README.md 2022-10-21 17:13:30.563504300 +0000 +++ flac-1.4.3+ds1/README.md 2023-06-15 09:52:54.138861224 +0000 @@ -1,7 +1,7 @@ ")) { /* magic MIME type means URL */ - if(!FLAC__metadata_object_picture_set_data(obj, (FLAC__byte*)spec, strlen(spec), /*copy=*/true)) + if(strlen(spec) == 0) + *error_message = error_messages[1]; + else if(!FLAC__metadata_object_picture_set_data(obj, (FLAC__byte*)spec, strlen(spec), /*copy=*/true)) *error_message = error_messages[0]; else if(obj->data.picture.width == 0 || obj->data.picture.height == 0 || obj->data.picture.depth == 0) *error_message = error_messages[3]; diff -Nru flac-1.4.2+ds/src/share/grabbag/replaygain.c flac-1.4.3+ds1/src/share/grabbag/replaygain.c --- flac-1.4.2+ds/src/share/grabbag/replaygain.c 2022-10-21 17:13:34.593113700 +0000 +++ flac-1.4.3+ds1/src/share/grabbag/replaygain.c 2023-06-15 09:52:54.266861680 +0000 @@ -1,6 +1,6 @@ /* grabbag - Convenience lib for various routines common to several tools * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -641,6 +641,8 @@ res = false; if(res && !parse_double_(block->data.vorbis_comment.comments + peak_offset, peak)) res = false; + if(res && *peak < 0.0) + res = false; setlocale(LC_ALL, saved_locale); free(saved_locale); diff -Nru flac-1.4.2+ds/src/share/grabbag/seektable.c flac-1.4.3+ds1/src/share/grabbag/seektable.c --- flac-1.4.2+ds/src/share/grabbag/seektable.c 2022-10-21 17:13:34.612644800 +0000 +++ flac-1.4.3+ds1/src/share/grabbag/seektable.c 2023-06-15 09:52:54.266861680 +0000 @@ -1,6 +1,6 @@ /* grabbag - Convenience lib for various routines common to several tools * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -61,8 +61,7 @@ } } else if(q[-1] == 's') { /* -S #s */ - if(total_samples_to_encode > 0) { /* we can only do these if we know the number of samples to encode up front */ - FLAC__ASSERT(sample_rate > 0); + if(total_samples_to_encode > 0 && sample_rate > 0) { /* we can only do these if we know the number of samples and sample rate to encode up front */ if(0 != spec_has_real_points) *spec_has_real_points = true; if(!only_explicit_placeholders) { diff -Nru flac-1.4.2+ds/src/share/grabbag/snprintf.c flac-1.4.3+ds1/src/share/grabbag/snprintf.c --- flac-1.4.2+ds/src/share/grabbag/snprintf.c 2022-10-21 17:13:34.623615900 +0000 +++ flac-1.4.3+ds1/src/share/grabbag/snprintf.c 2023-06-15 09:52:54.270861694 +0000 @@ -1,5 +1,5 @@ /* grabbag - Convenience lib for various routines common to several tools - * Copyright (C) 2013-2022 Xiph.Org Foundation + * Copyright (C) 2013-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff -Nru flac-1.4.2+ds/src/share/Makefile.am flac-1.4.3+ds1/src/share/Makefile.am --- flac-1.4.2+ds/src/share/Makefile.am 2022-10-21 17:13:34.483102600 +0000 +++ flac-1.4.3+ds1/src/share/Makefile.am 2023-06-15 09:52:54.266861680 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2002-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/src/share/Makefile.in flac-1.4.3+ds1/src/share/Makefile.in --- flac-1.4.2+ds/src/share/Makefile.in 2022-10-21 17:54:47.041136200 +0000 +++ flac-1.4.3+ds1/src/share/Makefile.in 2023-06-22 08:50:44.769747647 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2002-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -113,14 +113,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -336,6 +336,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/src/share/replaygain_synthesis/replaygain_synthesis.c flac-1.4.3+ds1/src/share/replaygain_synthesis/replaygain_synthesis.c --- flac-1.4.2+ds/src/share/replaygain_synthesis/replaygain_synthesis.c 2022-10-21 17:13:34.648616700 +0000 +++ flac-1.4.3+ds1/src/share/replaygain_synthesis/replaygain_synthesis.c 2023-06-15 09:52:54.270861694 +0000 @@ -1,6 +1,6 @@ /* replaygain_synthesis - Routines for applying ReplayGain to a signal * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public diff -Nru flac-1.4.2+ds/src/share/utf8/iconvert.c flac-1.4.3+ds1/src/share/utf8/iconvert.c --- flac-1.4.2+ds/src/share/utf8/iconvert.c 2022-10-21 17:13:34.668366300 +0000 +++ flac-1.4.3+ds1/src/share/utf8/iconvert.c 2023-05-21 18:00:06.806743453 +0000 @@ -62,7 +62,7 @@ char *ib; char *ob; char *utfbuf = 0, *outbuf, *newbuf; - size_t utflen, outlen, ibl, obl, k; + size_t utflen, outlen, ibl, obl, obp, k; char tbuf[2048]; cd1 = iconv_open("UTF-8", fromcode); @@ -124,11 +124,12 @@ if(utflen*2 < utflen) /* overflow check */ goto fail; utflen *= 2; + obp = ob - utfbuf; /* save position */ newbuf = realloc(utfbuf, utflen); if (!newbuf) goto fail; - ob = (ob - utfbuf) + newbuf; - obl = utflen - (ob - newbuf); + ob = newbuf + obp; + obl = utflen - obp; utfbuf = newbuf; } else { @@ -161,6 +162,8 @@ /* Truncate the buffer to be tidy */ utflen = ob - utfbuf; + if (utflen == 0) + goto fail; newbuf = realloc(utfbuf, utflen); if (!newbuf) goto fail; diff -Nru flac-1.4.2+ds/src/share/win_utf8_io/win_utf8_io.c flac-1.4.3+ds1/src/share/win_utf8_io/win_utf8_io.c --- flac-1.4.2+ds/src/share/win_utf8_io/win_utf8_io.c 2022-10-21 17:13:34.700886400 +0000 +++ flac-1.4.3+ds1/src/share/win_utf8_io/win_utf8_io.c 2023-06-15 09:52:54.270861694 +0000 @@ -1,5 +1,5 @@ /* libFLAC - Free Lossless Audio Codec library - * Copyright (C) 2013-2022 Xiph.Org Foundation + * Copyright (C) 2013-2023 Xiph.Org Foundation * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -39,9 +39,15 @@ #define UTF8_BUFFER_SIZE 32768 -#if !defined(WINAPI_FAMILY_PARTITION) -#define WINAPI_FAMILY_PARTITION(x) x -#define WINAPI_PARTITION_DESKTOP 1 +/* detect whether it is Windows APP (UWP) or standard Win32 envionment */ +#ifdef WINAPI_FAMILY_PARTITION + #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) + #define FLAC_WINDOWS_APP 1 + #else + #define FLAC_WINDOWS_APP 0 + #endif +#else + #define FLAC_WINDOWS_APP 0 #endif static int local_vsnprintf(char *str, size_t size, const char *fmt, va_list va) @@ -106,15 +112,22 @@ /* retrieve WCHAR commandline, expand wildcards and convert everything to UTF-8 */ int get_utf8_argv(int *argc, char ***argv) { +#if !FLAC_WINDOWS_APP typedef int (__cdecl *wgetmainargs_t)(int*, wchar_t***, wchar_t***, int, int*); wgetmainargs_t wgetmainargs; HMODULE handle; +#endif // !FLAC_WINDOWS_APP int wargc; wchar_t **wargv; wchar_t **wenv; char **utf8argv; int ret, i; +#if FLAC_WINDOWS_APP + wargc = __argc; + wargv = __wargv; + wenv = _wenviron; +#else // !FLAC_WINDOWS_APP if ((handle = LoadLibraryW(L"msvcrt.dll")) == NULL) return 1; if ((wgetmainargs = (wgetmainargs_t)GetProcAddress(handle, "__wgetmainargs")) == NULL) { FreeLibrary(handle); @@ -126,8 +139,11 @@ FreeLibrary(handle); return 1; } +#endif // !FLAC_WINDOWS_APP if ((utf8argv = (char **)calloc(wargc, sizeof(char*))) == NULL) { + #if !FLAC_WINDOWS_APP FreeLibrary(handle); + #endif // !FLAC_WINDOWS_APP return 1; } @@ -139,7 +155,9 @@ } } +#if !FLAC_WINDOWS_APP FreeLibrary(handle); /* do not free it when wargv or wenv are still in use */ +#endif // !FLAC_WINDOWS_APP if (ret == 0) { *argc = wargc; @@ -160,9 +178,9 @@ HANDLE handle = INVALID_HANDLE_VALUE; if ((wname = wchar_from_utf8(lpFileName)) != NULL) { -#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#if !FLAC_WINDOWS_APP handle = CreateFileW(wname, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile); -#else // !WINAPI_PARTITION_DESKTOP +#else // FLAC_WINDOWS_APP CREATEFILE2_EXTENDED_PARAMETERS params; params.dwSize = sizeof(params); params.dwFileAttributes = dwFlagsAndAttributes & 0xFFFF; @@ -171,7 +189,7 @@ params.lpSecurityAttributes = lpSecurityAttributes; params.hTemplateFile = hTemplateFile; handle = CreateFile2(wname, dwDesiredAccess, dwShareMode, dwCreationDisposition, ¶ms); -#endif // !WINAPI_PARTITION_DESKTOP +#endif // FLAC_WINDOWS_APP free(wname); } @@ -193,19 +211,19 @@ int win_get_console_width(void) { int width = 80; -#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#if !FLAC_WINDOWS_APP CONSOLE_SCREEN_BUFFER_INFO csbi; HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); if(hOut != INVALID_HANDLE_VALUE && hOut != NULL) if (GetConsoleScreenBufferInfo(hOut, &csbi) != 0) width = csbi.dwSize.X; -#endif // WINAPI_PARTITION_DESKTOP +#endif // !FLAC_WINDOWS_APP return width; } /* print functions */ -#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#if !FLAC_WINDOWS_APP static int wprint_console(FILE *stream, const wchar_t *text, size_t len) { DWORD out; @@ -235,7 +253,7 @@ return ret; return len; } -#endif // WINAPI_PARTITION_DESKTOP +#endif // !FLAC_WINDOWS_APP int printf_utf8(const char *format, ...) { @@ -276,12 +294,12 @@ ret = -1; break; } -#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) +#if !FLAC_WINDOWS_APP ret = wprint_console(stream, wout, wcslen(wout)); -#else // !WINAPI_PARTITION_DESKTOP +#else // FLAC_WINDOWS_APP OutputDebugStringW(wout); ret = 0; -#endif // !WINAPI_PARTITION_DESKTOP +#endif // FLAC_WINDOWS_APP } while(0); free(utmp); diff -Nru flac-1.4.2+ds/src/test_grabbag/cuesheet/main.c flac-1.4.3+ds1/src/test_grabbag/cuesheet/main.c --- flac-1.4.2+ds/src/test_grabbag/cuesheet/main.c 2022-10-21 17:13:34.735566200 +0000 +++ flac-1.4.3+ds1/src/test_grabbag/cuesheet/main.c 2023-06-15 09:52:54.270861694 +0000 @@ -1,6 +1,6 @@ /* test_cuesheet - Simple tester for cuesheet routines in grabbag * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_grabbag/cuesheet/Makefile.am flac-1.4.3+ds1/src/test_grabbag/cuesheet/Makefile.am --- flac-1.4.2+ds/src/test_grabbag/cuesheet/Makefile.am 2022-10-21 17:13:34.732876000 +0000 +++ flac-1.4.3+ds1/src/test_grabbag/cuesheet/Makefile.am 2023-06-15 09:52:54.270861694 +0000 @@ -1,6 +1,6 @@ # test_cuesheet - Simple tester for cuesheet routines in grabbag # Copyright (C) 2002-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_grabbag/cuesheet/Makefile.in flac-1.4.3+ds1/src/test_grabbag/cuesheet/Makefile.in --- flac-1.4.2+ds/src/test_grabbag/cuesheet/Makefile.in 2022-10-21 17:54:47.220943900 +0000 +++ flac-1.4.3+ds1/src/test_grabbag/cuesheet/Makefile.in 2023-06-22 08:50:44.793747729 +0000 @@ -16,7 +16,7 @@ # test_cuesheet - Simple tester for cuesheet routines in grabbag # Copyright (C) 2002-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -113,14 +113,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -288,6 +288,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/src/test_grabbag/Makefile.am flac-1.4.3+ds1/src/test_grabbag/Makefile.am --- flac-1.4.2+ds/src/test_grabbag/Makefile.am 2022-10-21 17:13:34.713624800 +0000 +++ flac-1.4.3+ds1/src/test_grabbag/Makefile.am 2023-06-15 09:52:54.270861694 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2002-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/src/test_grabbag/Makefile.in flac-1.4.3+ds1/src/test_grabbag/Makefile.in --- flac-1.4.2+ds/src/test_grabbag/Makefile.in 2022-10-21 17:54:47.092748800 +0000 +++ flac-1.4.3+ds1/src/test_grabbag/Makefile.in 2023-06-22 08:50:44.781747688 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2002-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -296,6 +296,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/src/test_grabbag/picture/main.c flac-1.4.3+ds1/src/test_grabbag/picture/main.c --- flac-1.4.2+ds/src/test_grabbag/picture/main.c 2022-10-21 17:13:34.759810100 +0000 +++ flac-1.4.3+ds1/src/test_grabbag/picture/main.c 2023-06-15 09:52:54.270861694 +0000 @@ -1,6 +1,6 @@ /* test_picture - Simple tester for picture routines in grabbag * Copyright (C) 2006-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_grabbag/picture/Makefile.am flac-1.4.3+ds1/src/test_grabbag/picture/Makefile.am --- flac-1.4.2+ds/src/test_grabbag/picture/Makefile.am 2022-10-21 17:13:34.749529300 +0000 +++ flac-1.4.3+ds1/src/test_grabbag/picture/Makefile.am 2023-06-15 09:52:54.270861694 +0000 @@ -1,6 +1,6 @@ # test_picture - Simple tester for picture routines in grabbag # Copyright (C) 2006-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_grabbag/picture/Makefile.in flac-1.4.3+ds1/src/test_grabbag/picture/Makefile.in --- flac-1.4.2+ds/src/test_grabbag/picture/Makefile.in 2022-10-21 17:54:47.295417900 +0000 +++ flac-1.4.3+ds1/src/test_grabbag/picture/Makefile.in 2023-06-22 08:50:44.809747783 +0000 @@ -16,7 +16,7 @@ # test_picture - Simple tester for picture routines in grabbag # Copyright (C) 2006-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -113,14 +113,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -288,6 +288,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/src/test_libFLAC/bitreader.c flac-1.4.3+ds1/src/test_libFLAC/bitreader.c --- flac-1.4.2+ds/src/test_libFLAC/bitreader.c 2022-10-21 17:13:34.922609400 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/bitreader.c 2023-06-15 09:52:54.274861709 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2000-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -59,12 +59,45 @@ uint32_t read_crc16; /* the running frame CRC */ uint32_t crc16_offset; /* the number of words in the current buffer that should not be CRC'd */ uint32_t crc16_align; /* the number of bits in the current consumed word that should not be CRC'd */ + FLAC__bool read_limit_set; /* whether reads are limited */ + uint32_t read_limit; /* the remaining size of what can be read */ + uint32_t last_seen_framesync; /* the location of the last seen framesync, if it is in the buffer, in bits from front of buffer */ FLAC__BitReaderReadCallback read_callback; void *client_data; }; static FLAC__bool read_callback(FLAC__byte buffer[], size_t *bytes, void *data); +static void FLAC__bitreader_dump(const FLAC__BitReader *br, FILE *out) +{ + uint32_t i, j; + if(br == 0) { + fprintf(out, "bitreader is NULL\n"); + } + else { + fprintf(out, "bitreader: capacity=%u words=%u bytes=%u consumed: words=%u, bits=%u\n", br->capacity, br->words, br->bytes, br->consumed_words, br->consumed_bits); + + for(i = 0; i < br->words; i++) { + fprintf(out, "%08X: ", i); + for(j = 0; j < FLAC__BITS_PER_WORD; j++) + if(i < br->consumed_words || (i == br->consumed_words && j < br->consumed_bits)) + fprintf(out, "."); + else + fprintf(out, "%01d", br->buffer[i] & ((brword)1 << (FLAC__BITS_PER_WORD-j-1)) ? 1:0); + fprintf(out, "\n"); + } + if(br->bytes > 0) { + fprintf(out, "%08X: ", i); + for(j = 0; j < br->bytes*8; j++) + if(i < br->consumed_words || (i == br->consumed_words && j < br->consumed_bits)) + fprintf(out, "."); + else + fprintf(out, "%01d", br->buffer[i] & ((brword)1 << (br->bytes*8-j-1)) ? 1:0); + fprintf(out, "\n"); + } + } +} + FLAC__bool test_bitreader(void) { FLAC__BitReader *br; diff -Nru flac-1.4.2+ds/src/test_libFLAC/bitreader.h flac-1.4.3+ds1/src/test_libFLAC/bitreader.h --- flac-1.4.2+ds/src/test_libFLAC/bitreader.h 2022-10-21 17:13:34.932582900 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/bitreader.h 2023-06-15 09:52:54.274861709 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2000-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC/bitwriter.c flac-1.4.3+ds1/src/test_libFLAC/bitwriter.c --- flac-1.4.2+ds/src/test_libFLAC/bitwriter.c 2022-10-21 17:13:34.942702600 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/bitwriter.c 2023-06-15 09:52:54.274861709 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2000-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -60,6 +60,29 @@ #define WORDS_TO_BITS(words) ((words) * FLAC__BITS_PER_WORD) #define TOTAL_BITS(bw) (WORDS_TO_BITS((bw)->words) + (bw)->bits) +static void FLAC__bitwriter_dump(const FLAC__BitWriter *bw, FILE *out) +{ + uint32_t i, j; + if(bw == 0) { + fprintf(out, "bitwriter is NULL\n"); + } + else { + fprintf(out, "bitwriter: capacity=%u words=%u bits=%u total_bits=%u\n", bw->capacity, bw->words, bw->bits, TOTAL_BITS(bw)); + + for(i = 0; i < bw->words; i++) { + fprintf(out, "%08X: ", i); + for(j = 0; j < FLAC__BITS_PER_WORD; j++) + fprintf(out, "%01d", bw->buffer[i] & ((bwword)1 << (FLAC__BITS_PER_WORD-j-1)) ? 1:0); + fprintf(out, "\n"); + } + if(bw->bits > 0) { + fprintf(out, "%08X: ", i); + for(j = 0; j < bw->bits; j++) + fprintf(out, "%01d", bw->accum & ((bwword)1 << (bw->bits-j-1)) ? 1:0); + fprintf(out, "\n"); + } + } +} FLAC__bool test_bitwriter(void) { diff -Nru flac-1.4.2+ds/src/test_libFLAC/bitwriter.h flac-1.4.3+ds1/src/test_libFLAC/bitwriter.h --- flac-1.4.2+ds/src/test_libFLAC/bitwriter.h 2022-10-21 17:13:34.952981800 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/bitwriter.h 2023-06-15 09:52:54.274861709 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2000-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC/crc.c flac-1.4.3+ds1/src/test_libFLAC/crc.c --- flac-1.4.2+ds/src/test_libFLAC/crc.c 2022-10-21 17:13:34.962193100 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/crc.c 2023-06-15 09:52:54.274861709 +0000 @@ -1,5 +1,5 @@ /* test_libFLAC - Unit tester for libFLAC - * Copyright (C) 2014-2022 Xiph.Org Foundation + * Copyright (C) 2014-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC/crc.h flac-1.4.3+ds1/src/test_libFLAC/crc.h --- flac-1.4.2+ds/src/test_libFLAC/crc.h 2022-10-21 17:13:34.972166400 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/crc.h 2023-06-15 09:52:54.274861709 +0000 @@ -1,5 +1,5 @@ /* test_libFLAC - Unit tester for libFLAC - * Copyright (C) 2014-2022 Xiph.Org Foundation + * Copyright (C) 2014-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC/decoders.c flac-1.4.3+ds1/src/test_libFLAC/decoders.c --- flac-1.4.2+ds/src/test_libFLAC/decoders.c 2022-10-21 17:13:34.981179700 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/decoders.c 2023-06-15 09:52:54.274861709 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -670,11 +670,10 @@ printf("OK\n"); num_expected_ = 0; - if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */ + if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes the seektable */ expected_metadata_sequence_[num_expected_++] = &streaminfo_; expected_metadata_sequence_[num_expected_++] = &vorbiscomment_; expected_metadata_sequence_[num_expected_++] = &padding_; - expected_metadata_sequence_[num_expected_++] = &seektable_; expected_metadata_sequence_[num_expected_++] = &application1_; expected_metadata_sequence_[num_expected_++] = &application2_; expected_metadata_sequence_[num_expected_++] = &cuesheet_; @@ -727,7 +726,8 @@ num_expected_ = 0; expected_metadata_sequence_[num_expected_++] = &streaminfo_; expected_metadata_sequence_[num_expected_++] = &padding_; - expected_metadata_sequence_[num_expected_++] = &seektable_; + if(!is_ogg) /* encoder removes seektable for ogg */ + expected_metadata_sequence_[num_expected_++] = &seektable_; expected_metadata_sequence_[num_expected_++] = &application1_; expected_metadata_sequence_[num_expected_++] = &application2_; expected_metadata_sequence_[num_expected_++] = &cuesheet_; @@ -752,11 +752,10 @@ printf("OK\n"); num_expected_ = 0; - if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */ + if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes the seektable */ expected_metadata_sequence_[num_expected_++] = &streaminfo_; expected_metadata_sequence_[num_expected_++] = &vorbiscomment_; expected_metadata_sequence_[num_expected_++] = &padding_; - expected_metadata_sequence_[num_expected_++] = &seektable_; expected_metadata_sequence_[num_expected_++] = &cuesheet_; expected_metadata_sequence_[num_expected_++] = &picture_; expected_metadata_sequence_[num_expected_++] = &unknown_; @@ -789,11 +788,10 @@ printf("OK\n"); num_expected_ = 0; - if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */ + if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes the seektable */ expected_metadata_sequence_[num_expected_++] = &streaminfo_; expected_metadata_sequence_[num_expected_++] = &vorbiscomment_; expected_metadata_sequence_[num_expected_++] = &padding_; - expected_metadata_sequence_[num_expected_++] = &seektable_; expected_metadata_sequence_[num_expected_++] = &application2_; expected_metadata_sequence_[num_expected_++] = &cuesheet_; expected_metadata_sequence_[num_expected_++] = &picture_; @@ -833,11 +831,10 @@ printf("OK\n"); num_expected_ = 0; - if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */ + if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes the seektable */ expected_metadata_sequence_[num_expected_++] = &streaminfo_; expected_metadata_sequence_[num_expected_++] = &vorbiscomment_; expected_metadata_sequence_[num_expected_++] = &padding_; - expected_metadata_sequence_[num_expected_++] = &seektable_; expected_metadata_sequence_[num_expected_++] = &cuesheet_; expected_metadata_sequence_[num_expected_++] = &picture_; expected_metadata_sequence_[num_expected_++] = &unknown_; @@ -962,11 +959,10 @@ printf("OK\n"); num_expected_ = 0; - if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */ + if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes the seektable */ expected_metadata_sequence_[num_expected_++] = &streaminfo_; expected_metadata_sequence_[num_expected_++] = &vorbiscomment_; expected_metadata_sequence_[num_expected_++] = &padding_; - expected_metadata_sequence_[num_expected_++] = &seektable_; expected_metadata_sequence_[num_expected_++] = &application1_; expected_metadata_sequence_[num_expected_++] = &cuesheet_; expected_metadata_sequence_[num_expected_++] = &picture_; diff -Nru flac-1.4.2+ds/src/test_libFLAC/decoders.h flac-1.4.3+ds1/src/test_libFLAC/decoders.h --- flac-1.4.2+ds/src/test_libFLAC/decoders.h 2022-10-21 17:13:34.993109800 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/decoders.h 2023-06-15 09:52:54.274861709 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC/encoders.c flac-1.4.3+ds1/src/test_libFLAC/encoders.c --- flac-1.4.2+ds/src/test_libFLAC/encoders.c 2022-10-21 17:13:35.003084100 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/encoders.c 2023-06-15 09:52:54.286861752 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC/encoders.h flac-1.4.3+ds1/src/test_libFLAC/encoders.h --- flac-1.4.2+ds/src/test_libFLAC/encoders.h 2022-10-21 17:13:35.014054600 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/encoders.h 2023-06-15 09:52:54.294861780 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC/endswap.c flac-1.4.3+ds1/src/test_libFLAC/endswap.c --- flac-1.4.2+ds/src/test_libFLAC/endswap.c 2022-10-21 17:13:35.051375100 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/endswap.c 2023-06-15 09:52:54.294861780 +0000 @@ -1,5 +1,5 @@ /* test_libFLAC - Unit tester for libFLAC - * Copyright (C) 2014-2022 Xiph.Org Foundation + * Copyright (C) 2014-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC/endswap.h flac-1.4.3+ds1/src/test_libFLAC/endswap.h --- flac-1.4.2+ds/src/test_libFLAC/endswap.h 2022-10-21 17:13:35.068333800 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/endswap.h 2023-06-15 09:52:54.294861780 +0000 @@ -1,5 +1,5 @@ /* test_libFLAC - Unit tester for libFLAC - * Copyright (C) 2014-2022 Xiph.Org Foundation + * Copyright (C) 2014-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC/format.c flac-1.4.3+ds1/src/test_libFLAC/format.c --- flac-1.4.2+ds/src/test_libFLAC/format.c 2022-10-21 17:13:35.085287900 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/format.c 2023-06-15 09:52:54.294861780 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2004-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -33,7 +33,7 @@ FLAC__bool valid; FLAC__bool subset; } SAMPLE_RATES[] = { - { 0 , false, false }, + { 0 , true , true }, { 1 , true , true }, { 9 , true , true }, { 10 , true , true }, diff -Nru flac-1.4.2+ds/src/test_libFLAC/format.h flac-1.4.3+ds1/src/test_libFLAC/format.h --- flac-1.4.2+ds/src/test_libFLAC/format.h 2022-10-21 17:13:35.096520700 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/format.h 2023-06-15 09:52:54.294861780 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2004-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC/main.c flac-1.4.3+ds1/src/test_libFLAC/main.c --- flac-1.4.2+ds/src/test_libFLAC/main.c 2022-10-21 17:13:35.106231700 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/main.c 2023-06-15 09:52:54.294861780 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2000-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC/Makefile.am flac-1.4.3+ds1/src/test_libFLAC/Makefile.am --- flac-1.4.2+ds/src/test_libFLAC/Makefile.am 2022-10-21 17:13:34.912321000 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/Makefile.am 2023-06-15 09:52:54.274861709 +0000 @@ -1,6 +1,6 @@ # test_libFLAC - Unit tester for libFLAC # Copyright (C) 2000-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC/Makefile.in flac-1.4.3+ds1/src/test_libFLAC/Makefile.in --- flac-1.4.2+ds/src/test_libFLAC/Makefile.in 2022-10-21 17:54:47.465089400 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/Makefile.in 2023-06-22 08:50:44.841747892 +0000 @@ -16,7 +16,7 @@ # test_libFLAC - Unit tester for libFLAC # Copyright (C) 2000-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -113,14 +113,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -298,6 +298,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/src/test_libFLAC/md5.c flac-1.4.3+ds1/src/test_libFLAC/md5.c --- flac-1.4.2+ds/src/test_libFLAC/md5.c 2022-10-21 17:13:35.108765900 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/md5.c 2023-06-15 09:52:54.294861780 +0000 @@ -1,5 +1,5 @@ /* test_libFLAC - Unit tester for libFLAC - * Copyright (C) 2014-2022 Xiph.Org Foundation + * Copyright (C) 2014-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC/md5.h flac-1.4.3+ds1/src/test_libFLAC/md5.h --- flac-1.4.2+ds/src/test_libFLAC/md5.h 2022-10-21 17:13:35.118371100 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/md5.h 2023-06-15 09:52:54.294861780 +0000 @@ -1,5 +1,5 @@ /* test_libFLAC - Unit tester for libFLAC - * Copyright (C) 2014-2022 Xiph.Org Foundation + * Copyright (C) 2014-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC/metadata.c flac-1.4.3+ds1/src/test_libFLAC/metadata.c --- flac-1.4.2+ds/src/test_libFLAC/metadata.c 2022-10-21 17:13:35.132162800 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/metadata.c 2023-06-15 09:52:54.294861780 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC/metadata.h flac-1.4.3+ds1/src/test_libFLAC/metadata.h --- flac-1.4.2+ds/src/test_libFLAC/metadata.h 2022-10-21 17:13:35.144131100 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/metadata.h 2023-06-15 09:52:54.294861780 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC/metadata_manip.c flac-1.4.3+ds1/src/test_libFLAC/metadata_manip.c --- flac-1.4.2+ds/src/test_libFLAC/metadata_manip.c 2022-10-21 17:13:35.148120100 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/metadata_manip.c 2023-06-15 09:52:54.298861794 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -907,6 +907,9 @@ else return die_("FLAC__metadata_simple_iterator_set_block() returned true but shouldn't have"); + if(FLAC__metadata_simple_iterator_status(iterator) != FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT) + return die_("FLAC__metadata_simple_iterator_status() should have been FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT"); + printf("[S]VP\tnext\n"); if(!FLAC__metadata_simple_iterator_next(iterator)) return die_("iterator ended early\n"); @@ -958,6 +961,9 @@ if(FLAC__metadata_simple_iterator_delete_block(iterator, false)) return die_ss_("FLAC__metadata_simple_iterator_delete_block(iterator, false) should have returned false", iterator); + if(FLAC__metadata_simple_iterator_status(iterator) != FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT) + return die_("FLAC__metadata_simple_iterator_status() should have been FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT"); + if(!test_file_(/*is_ogg=*/false, decoder_metadata_callback_compare_)) return false; diff -Nru flac-1.4.2+ds/src/test_libFLAC/metadata_object.c flac-1.4.3+ds1/src/test_libFLAC/metadata_object.c --- flac-1.4.2+ds/src/test_libFLAC/metadata_object.c 2022-10-21 17:13:35.171723400 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC/metadata_object.c 2023-06-15 09:52:54.298861794 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -245,9 +245,11 @@ static void vc_insert_new_(FLAC__StreamMetadata_VorbisComment_Entry *entry, FLAC__StreamMetadata *block, uint32_t pos, const char *field) { + FLAC__StreamMetadata_VorbisComment_Entry temp; vc_resize_(block, block->data.vorbis_comment.num_comments+1); + temp = block->data.vorbis_comment.comments[block->data.vorbis_comment.num_comments-1]; memmove(&block->data.vorbis_comment.comments[pos+1], &block->data.vorbis_comment.comments[pos], sizeof(FLAC__StreamMetadata_VorbisComment_Entry)*(block->data.vorbis_comment.num_comments-1-pos)); - memset(&block->data.vorbis_comment.comments[pos], 0, sizeof(FLAC__StreamMetadata_VorbisComment_Entry)); + block->data.vorbis_comment.comments[pos] = temp; vc_set_new_(entry, block, pos, field); vc_calc_len_(block); } diff -Nru flac-1.4.2+ds/src/test_libFLAC++/decoders.cpp flac-1.4.3+ds1/src/test_libFLAC++/decoders.cpp --- flac-1.4.2+ds/src/test_libFLAC++/decoders.cpp 2022-10-21 17:13:34.792721500 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC++/decoders.cpp 2023-06-15 09:52:54.274861709 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC++ - Unit tester for libFLAC++ * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -745,11 +745,10 @@ printf("OK\n"); num_expected_ = 0; - if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */ + if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes the seektable */ expected_metadata_sequence_[num_expected_++] = &streaminfo_; expected_metadata_sequence_[num_expected_++] = &vorbiscomment_; expected_metadata_sequence_[num_expected_++] = &padding_; - expected_metadata_sequence_[num_expected_++] = &seektable_; expected_metadata_sequence_[num_expected_++] = &application1_; expected_metadata_sequence_[num_expected_++] = &application2_; expected_metadata_sequence_[num_expected_++] = &cuesheet_; @@ -808,7 +807,8 @@ num_expected_ = 0; expected_metadata_sequence_[num_expected_++] = &streaminfo_; expected_metadata_sequence_[num_expected_++] = &padding_; - expected_metadata_sequence_[num_expected_++] = &seektable_; + if(!is_ogg) /* encoder removes seektable for ogg */ + expected_metadata_sequence_[num_expected_++] = &seektable_; expected_metadata_sequence_[num_expected_++] = &application1_; expected_metadata_sequence_[num_expected_++] = &application2_; expected_metadata_sequence_[num_expected_++] = &cuesheet_; @@ -837,11 +837,10 @@ printf("OK\n"); num_expected_ = 0; - if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */ + if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes the seektable */ expected_metadata_sequence_[num_expected_++] = &streaminfo_; expected_metadata_sequence_[num_expected_++] = &vorbiscomment_; expected_metadata_sequence_[num_expected_++] = &padding_; - expected_metadata_sequence_[num_expected_++] = &seektable_; expected_metadata_sequence_[num_expected_++] = &cuesheet_; expected_metadata_sequence_[num_expected_++] = &picture_; expected_metadata_sequence_[num_expected_++] = &unknown_; @@ -878,11 +877,10 @@ printf("OK\n"); num_expected_ = 0; - if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */ + if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes the seektable */ expected_metadata_sequence_[num_expected_++] = &streaminfo_; expected_metadata_sequence_[num_expected_++] = &vorbiscomment_; expected_metadata_sequence_[num_expected_++] = &padding_; - expected_metadata_sequence_[num_expected_++] = &seektable_; expected_metadata_sequence_[num_expected_++] = &application2_; expected_metadata_sequence_[num_expected_++] = &cuesheet_; expected_metadata_sequence_[num_expected_++] = &picture_; @@ -928,11 +926,10 @@ printf("OK\n"); num_expected_ = 0; - if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */ + if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes seektable */ expected_metadata_sequence_[num_expected_++] = &streaminfo_; expected_metadata_sequence_[num_expected_++] = &vorbiscomment_; expected_metadata_sequence_[num_expected_++] = &padding_; - expected_metadata_sequence_[num_expected_++] = &seektable_; expected_metadata_sequence_[num_expected_++] = &cuesheet_; expected_metadata_sequence_[num_expected_++] = &picture_; expected_metadata_sequence_[num_expected_++] = &unknown_; @@ -1081,11 +1078,10 @@ printf("OK\n"); num_expected_ = 0; - if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping */ + if(is_ogg) { /* encoder moves vorbis comment after streaminfo according to ogg mapping. Also removes the seektable */ expected_metadata_sequence_[num_expected_++] = &streaminfo_; expected_metadata_sequence_[num_expected_++] = &vorbiscomment_; expected_metadata_sequence_[num_expected_++] = &padding_; - expected_metadata_sequence_[num_expected_++] = &seektable_; expected_metadata_sequence_[num_expected_++] = &application1_; expected_metadata_sequence_[num_expected_++] = &cuesheet_; expected_metadata_sequence_[num_expected_++] = &picture_; diff -Nru flac-1.4.2+ds/src/test_libFLAC++/decoders.h flac-1.4.3+ds1/src/test_libFLAC++/decoders.h --- flac-1.4.2+ds/src/test_libFLAC++/decoders.h 2022-10-21 17:13:34.803790300 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC++/decoders.h 2023-06-15 09:52:54.274861709 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC++ - Unit tester for libFLAC++ * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC++/encoders.cpp flac-1.4.3+ds1/src/test_libFLAC++/encoders.cpp --- flac-1.4.2+ds/src/test_libFLAC++/encoders.cpp 2022-10-21 17:13:34.813667500 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC++/encoders.cpp 2023-06-15 09:52:54.274861709 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC++ - Unit tester for libFLAC++ * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC++/encoders.h flac-1.4.3+ds1/src/test_libFLAC++/encoders.h --- flac-1.4.2+ds/src/test_libFLAC++/encoders.h 2022-10-21 17:13:34.824646400 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC++/encoders.h 2023-06-15 09:52:54.274861709 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC++ - Unit tester for libFLAC++ * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC++/main.cpp flac-1.4.3+ds1/src/test_libFLAC++/main.cpp --- flac-1.4.2+ds/src/test_libFLAC++/main.cpp 2022-10-21 17:13:34.834609300 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC++/main.cpp 2023-06-15 09:52:54.274861709 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC++ - Unit tester for libFLAC++ * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC++/Makefile.am flac-1.4.3+ds1/src/test_libFLAC++/Makefile.am --- flac-1.4.2+ds/src/test_libFLAC++/Makefile.am 2022-10-21 17:13:34.781921300 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC++/Makefile.am 2023-06-15 09:52:54.270861694 +0000 @@ -1,6 +1,6 @@ # test_libFLAC++ - Unit tester for libFLAC++ # Copyright (C) 2002-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC++/Makefile.in flac-1.4.3+ds1/src/test_libFLAC++/Makefile.in --- flac-1.4.2+ds/src/test_libFLAC++/Makefile.in 2022-10-21 17:54:47.380000400 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC++/Makefile.in 2023-06-22 08:50:44.825747837 +0000 @@ -16,7 +16,7 @@ # test_libFLAC++ - Unit tester for libFLAC++ # Copyright (C) 2002-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -113,14 +113,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -312,6 +312,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/src/test_libFLAC++/metadata.cpp flac-1.4.3+ds1/src/test_libFLAC++/metadata.cpp --- flac-1.4.2+ds/src/test_libFLAC++/metadata.cpp 2022-10-21 17:13:34.843585800 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC++/metadata.cpp 2023-06-15 09:52:54.274861709 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC++ - Unit tester for libFLAC++ * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC++/metadata.h flac-1.4.3+ds1/src/test_libFLAC++/metadata.h --- flac-1.4.2+ds/src/test_libFLAC++/metadata.h 2022-10-21 17:13:34.852623900 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC++/metadata.h 2023-06-15 09:52:54.274861709 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC++ - Unit tester for libFLAC++ * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libFLAC++/metadata_manip.cpp flac-1.4.3+ds1/src/test_libFLAC++/metadata_manip.cpp --- flac-1.4.2+ds/src/test_libFLAC++/metadata_manip.cpp 2022-10-21 17:13:34.864881300 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC++/metadata_manip.cpp 2023-06-15 09:52:54.274861709 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC++ - Unit tester for libFLAC++ * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -958,6 +958,9 @@ return die_("iterator.set_block() returned true but shouldn't have"); } + if(iterator.status() != FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT) + return die_("iterator.status() should have been FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT"); + printf("[S]VP\tnext\n"); if(!iterator.next()) { delete app; @@ -1015,6 +1018,9 @@ if(iterator.delete_block(false)) return die_ss_("iterator.delete_block(false) should have returned false", iterator); + if(iterator.status() != FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT) + return die_("iterator.status() should have been FLAC__METADATA_SIMPLE_ITERATOR_STATUS_ILLEGAL_INPUT"); + if(!test_file_(/*is_ogg=*/false, /*ignore_metadata=*/false)) return false; diff -Nru flac-1.4.2+ds/src/test_libFLAC++/metadata_object.cpp flac-1.4.3+ds1/src/test_libFLAC++/metadata_object.cpp --- flac-1.4.2+ds/src/test_libFLAC++/metadata_object.cpp 2022-10-21 17:13:34.877730700 +0000 +++ flac-1.4.3+ds1/src/test_libFLAC++/metadata_object.cpp 2023-06-15 09:52:54.274861709 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC++ - Unit tester for libFLAC++ * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libs_common/file_utils_flac.c flac-1.4.3+ds1/src/test_libs_common/file_utils_flac.c --- flac-1.4.2+ds/src/test_libs_common/file_utils_flac.c 2022-10-21 17:13:35.193670900 +0000 +++ flac-1.4.3+ds1/src/test_libs_common/file_utils_flac.c 2023-06-15 09:52:54.298861794 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libs_common/Makefile.am flac-1.4.3+ds1/src/test_libs_common/Makefile.am --- flac-1.4.2+ds/src/test_libs_common/Makefile.am 2022-10-21 17:13:35.183691000 +0000 +++ flac-1.4.3+ds1/src/test_libs_common/Makefile.am 2023-06-15 09:52:54.298861794 +0000 @@ -1,6 +1,6 @@ # test_libs_common - Common code to library unit tests # Copyright (C) 2000-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_libs_common/Makefile.in flac-1.4.3+ds1/src/test_libs_common/Makefile.in --- flac-1.4.2+ds/src/test_libs_common/Makefile.in 2022-10-21 17:54:47.542330900 +0000 +++ flac-1.4.3+ds1/src/test_libs_common/Makefile.in 2023-06-22 08:50:44.853747932 +0000 @@ -16,7 +16,7 @@ # test_libs_common - Common code to library unit tests # Copyright (C) 2000-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -113,14 +113,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -288,6 +288,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/src/test_libs_common/metadata_utils.c flac-1.4.3+ds1/src/test_libs_common/metadata_utils.c --- flac-1.4.2+ds/src/test_libs_common/metadata_utils.c 2022-10-21 17:13:35.195907900 +0000 +++ flac-1.4.3+ds1/src/test_libs_common/metadata_utils.c 2023-06-15 09:52:54.298861794 +0000 @@ -1,6 +1,6 @@ /* test_libFLAC - Unit tester for libFLAC * Copyright (C) 2002-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -511,7 +511,8 @@ vorbiscomment->data.vorbis_comment.comments[0].entry = malloc_or_die_(5+1); memcpy(vorbiscomment->data.vorbis_comment.comments[0].entry, "ab=cd", 5+1); vorbiscomment->data.vorbis_comment.comments[1].length = 0; - vorbiscomment->data.vorbis_comment.comments[1].entry = 0; + vorbiscomment->data.vorbis_comment.comments[1].entry = malloc_or_die_(1); + vorbiscomment->data.vorbis_comment.comments[1].entry[0] = '\0'; } cuesheet->is_last = false; diff -Nru flac-1.4.2+ds/src/test_seeking/main.c flac-1.4.3+ds1/src/test_seeking/main.c --- flac-1.4.2+ds/src/test_seeking/main.c 2022-10-21 17:13:35.228700600 +0000 +++ flac-1.4.3+ds1/src/test_seeking/main.c 2023-06-15 09:52:54.298861794 +0000 @@ -1,6 +1,6 @@ /* test_seeking - Seeking tester for libFLAC * Copyright (C) 2004-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_seeking/Makefile.am flac-1.4.3+ds1/src/test_seeking/Makefile.am --- flac-1.4.2+ds/src/test_seeking/Makefile.am 2022-10-21 17:13:35.217600900 +0000 +++ flac-1.4.3+ds1/src/test_seeking/Makefile.am 2023-06-15 09:52:54.298861794 +0000 @@ -1,6 +1,6 @@ # test_seeking - Seeking tester for libFLAC # Copyright (C) 2004-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_seeking/Makefile.in flac-1.4.3+ds1/src/test_seeking/Makefile.in --- flac-1.4.2+ds/src/test_seeking/Makefile.in 2022-10-21 17:54:47.620335400 +0000 +++ flac-1.4.3+ds1/src/test_seeking/Makefile.in 2023-06-22 08:50:44.869747986 +0000 @@ -16,7 +16,7 @@ # test_seeking - Seeking tester for libFLAC # Copyright (C) 2004-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -113,14 +113,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -286,6 +286,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/src/test_streams/main.c flac-1.4.3+ds1/src/test_streams/main.c --- flac-1.4.2+ds/src/test_streams/main.c 2022-10-21 17:13:35.251521100 +0000 +++ flac-1.4.3+ds1/src/test_streams/main.c 2023-06-15 09:52:54.302861808 +0000 @@ -1,6 +1,6 @@ /* test_streams - Simple test pattern generator * Copyright (C) 2000-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -992,7 +992,7 @@ if (fwrite("RIFF", 1, 4, f) != 4) return false; - if (!write_little_endian_uint32(f, 40 + 4 + 4 + datalen)) + if (!write_little_endian_uint32(f, 60 + datalen)) return false; if (fwrite("WAVEfmt ", 8, 1, f) != 1) diff -Nru flac-1.4.2+ds/src/test_streams/Makefile.am flac-1.4.3+ds1/src/test_streams/Makefile.am --- flac-1.4.2+ds/src/test_streams/Makefile.am 2022-10-21 17:13:35.241536700 +0000 +++ flac-1.4.3+ds1/src/test_streams/Makefile.am 2023-06-15 09:52:54.298861794 +0000 @@ -1,6 +1,6 @@ # test_streams - Simple test pattern generator # Copyright (C) 2000-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/test_streams/Makefile.in flac-1.4.3+ds1/src/test_streams/Makefile.in --- flac-1.4.2+ds/src/test_streams/Makefile.in 2022-10-21 17:54:47.699797100 +0000 +++ flac-1.4.3+ds1/src/test_streams/Makefile.in 2023-06-22 08:50:44.885748041 +0000 @@ -16,7 +16,7 @@ # test_streams - Simple test pattern generator # Copyright (C) 2000-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -113,14 +113,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -286,6 +286,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/src/utils/flacdiff/main.cpp flac-1.4.3+ds1/src/utils/flacdiff/main.cpp --- flac-1.4.2+ds/src/utils/flacdiff/main.cpp 2022-10-21 17:13:35.292019700 +0000 +++ flac-1.4.3+ds1/src/utils/flacdiff/main.cpp 2023-06-15 09:52:54.302861808 +0000 @@ -1,6 +1,6 @@ /* flacdiff - Displays where two FLAC streams differ * Copyright (C) 2007-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/utils/flacdiff/Makefile.am flac-1.4.3+ds1/src/utils/flacdiff/Makefile.am --- flac-1.4.2+ds/src/utils/flacdiff/Makefile.am 2022-10-21 17:13:35.281953500 +0000 +++ flac-1.4.3+ds1/src/utils/flacdiff/Makefile.am 2023-06-15 09:52:54.302861808 +0000 @@ -1,6 +1,6 @@ # flacdiff - Displays where two FLAC streams differ # Copyright (C) 2007-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/utils/flacdiff/Makefile.in flac-1.4.3+ds1/src/utils/flacdiff/Makefile.in --- flac-1.4.2+ds/src/utils/flacdiff/Makefile.in 2022-10-21 17:54:47.776647200 +0000 +++ flac-1.4.3+ds1/src/utils/flacdiff/Makefile.in 2023-06-22 08:50:44.905748109 +0000 @@ -16,7 +16,7 @@ # flacdiff - Displays where two FLAC streams differ # Copyright (C) 2007-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -238,6 +238,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/src/utils/flactimer/main.cpp flac-1.4.3+ds1/src/utils/flactimer/main.cpp --- flac-1.4.2+ds/src/utils/flactimer/main.cpp 2022-10-21 17:13:35.313953000 +0000 +++ flac-1.4.3+ds1/src/utils/flactimer/main.cpp 2023-06-15 09:52:54.302861808 +0000 @@ -1,6 +1,6 @@ /* flactimer - Runs a command and prints timing information * Copyright (C) 2007-2009 Josh Coalson - * Copyright (C) 2011-2022 Xiph.Org Foundation + * Copyright (C) 2011-2023 Xiph.Org Foundation * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/utils/flactimer/Makefile.am flac-1.4.3+ds1/src/utils/flactimer/Makefile.am --- flac-1.4.2+ds/src/utils/flactimer/Makefile.am 2022-10-21 17:13:35.304046900 +0000 +++ flac-1.4.3+ds1/src/utils/flactimer/Makefile.am 2023-06-15 09:52:54.302861808 +0000 @@ -1,6 +1,6 @@ # flactimer - Runs a command and prints timing information # Copyright (C) 2007-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License diff -Nru flac-1.4.2+ds/src/utils/flactimer/Makefile.in flac-1.4.3+ds1/src/utils/flactimer/Makefile.in --- flac-1.4.2+ds/src/utils/flactimer/Makefile.in 2022-10-21 17:54:47.816377700 +0000 +++ flac-1.4.3+ds1/src/utils/flactimer/Makefile.in 2023-06-22 08:50:44.917748148 +0000 @@ -16,7 +16,7 @@ # flactimer - Runs a command and prints timing information # Copyright (C) 2007-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -238,6 +238,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/src/utils/Makefile.am flac-1.4.3+ds1/src/utils/Makefile.am --- flac-1.4.2+ds/src/utils/Makefile.am 2022-10-21 17:13:35.261998800 +0000 +++ flac-1.4.3+ds1/src/utils/Makefile.am 2023-06-15 09:52:54.302861808 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/src/utils/Makefile.in flac-1.4.3+ds1/src/utils/Makefile.in --- flac-1.4.2+ds/src/utils/Makefile.in 2022-10-21 17:54:47.736872100 +0000 +++ flac-1.4.3+ds1/src/utils/Makefile.in 2023-06-22 08:50:44.897748081 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -296,6 +296,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/test/CMakeLists.txt flac-1.4.3+ds1/test/CMakeLists.txt --- flac-1.4.2+ds/test/CMakeLists.txt 2022-10-21 17:13:35.341850300 +0000 +++ flac-1.4.3+ds1/test/CMakeLists.txt 2023-04-17 09:56:12.110273155 +0000 @@ -50,12 +50,16 @@ COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_libFLAC++.sh" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") list(APPEND ALL_TESTS libFLAC++) + set_tests_properties(libFLAC++ PROPERTIES DEPENDS libFLAC) endif() file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/cuesheets") add_test(NAME grabbag COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_grabbag.sh" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") if(BUILD_PROGRAMS) + add_test(NAME generate_streams + COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/generate_streams.sh" + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") add_test(NAME flac COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_flac.sh" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") @@ -85,7 +89,8 @@ add_test(NAME compression COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_compression.sh" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") - list(APPEND ALL_TESTS flac metaflac replaygain seeking streams compression) + set_tests_properties(flac metaflac replaygain seeking streams compression PROPERTIES DEPENDS generate_streams) + list(APPEND ALL_TESTS generate_streams flac metaflac replaygain seeking streams compression) endif() diff -Nru flac-1.4.2+ds/test/common.sh.in flac-1.4.3+ds1/test/common.sh.in --- flac-1.4.2+ds/test/common.sh.in 2022-10-21 17:13:35.421592800 +0000 +++ flac-1.4.3+ds1/test/common.sh.in 2023-06-15 09:52:54.314861851 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/test/cuesheets/Makefile.am flac-1.4.3+ds1/test/cuesheets/Makefile.am --- flac-1.4.2+ds/test/cuesheets/Makefile.am 2022-10-21 17:13:35.432563500 +0000 +++ flac-1.4.3+ds1/test/cuesheets/Makefile.am 2023-06-15 09:52:54.314861851 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/test/cuesheets/Makefile.in flac-1.4.3+ds1/test/cuesheets/Makefile.in --- flac-1.4.2+ds/test/cuesheets/Makefile.in 2022-10-21 17:54:47.917679500 +0000 +++ flac-1.4.3+ds1/test/cuesheets/Makefile.in 2023-06-22 08:50:44.965748312 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -238,6 +238,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/test/flac-to-flac-metadata-test-files/Makefile.am flac-1.4.3+ds1/test/flac-to-flac-metadata-test-files/Makefile.am --- flac-1.4.2+ds/test/flac-to-flac-metadata-test-files/Makefile.am 2022-10-21 17:13:35.442536800 +0000 +++ flac-1.4.3+ds1/test/flac-to-flac-metadata-test-files/Makefile.am 2023-06-15 09:52:54.314861851 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2006-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/test/flac-to-flac-metadata-test-files/Makefile.in flac-1.4.3+ds1/test/flac-to-flac-metadata-test-files/Makefile.in --- flac-1.4.2+ds/test/flac-to-flac-metadata-test-files/Makefile.in 2022-10-21 17:54:47.960297400 +0000 +++ flac-1.4.3+ds1/test/flac-to-flac-metadata-test-files/Makefile.in 2023-06-22 08:50:44.977748352 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2006-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -238,6 +238,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ Binary files /tmp/tmp12pm6aeo/pbK8c3IocR/flac-1.4.2+ds/test/foreign-metadata-test-files/24bit-WaveFmtPCM.wav and /tmp/tmp12pm6aeo/MybNsVg2DV/flac-1.4.3+ds1/test/foreign-metadata-test-files/24bit-WaveFmtPCM.wav differ Binary files /tmp/tmp12pm6aeo/pbK8c3IocR/flac-1.4.2+ds/test/foreign-metadata-test-files/AIFF-C-sowt-compression-type-name.aifc and /tmp/tmp12pm6aeo/MybNsVg2DV/flac-1.4.3+ds1/test/foreign-metadata-test-files/AIFF-C-sowt-compression-type-name.aifc differ Binary files /tmp/tmp12pm6aeo/pbK8c3IocR/flac-1.4.2+ds/test/foreign-metadata-test-files/AIFF-C-sowt-tag.aifc and /tmp/tmp12pm6aeo/MybNsVg2DV/flac-1.4.3+ds1/test/foreign-metadata-test-files/AIFF-C-sowt-tag.aifc differ Binary files /tmp/tmp12pm6aeo/pbK8c3IocR/flac-1.4.2+ds/test/foreign-metadata-test-files/AIFF-ID3.aiff and /tmp/tmp12pm6aeo/MybNsVg2DV/flac-1.4.3+ds1/test/foreign-metadata-test-files/AIFF-ID3.aiff differ Binary files /tmp/tmp12pm6aeo/pbK8c3IocR/flac-1.4.2+ds/test/foreign-metadata-test-files/BWF-WaveFmtEx.wav and /tmp/tmp12pm6aeo/MybNsVg2DV/flac-1.4.3+ds1/test/foreign-metadata-test-files/BWF-WaveFmtEx.wav differ diff -Nru flac-1.4.2+ds/test/foreign-metadata-test-files/Makefile.am flac-1.4.3+ds1/test/foreign-metadata-test-files/Makefile.am --- flac-1.4.2+ds/test/foreign-metadata-test-files/Makefile.am 1970-01-01 00:00:00.000000000 +0000 +++ flac-1.4.3+ds1/test/foreign-metadata-test-files/Makefile.am 2023-06-15 09:52:54.322861880 +0000 @@ -0,0 +1,24 @@ +# FLAC - Free Lossless Audio Codec +# Copyright (C) 2006-2009 Josh Coalson +# Copyright (C) 2011-2023 Xiph.Org Foundation +# +# This file is part the FLAC project. FLAC is comprised of several +# components distributed under different licenses. The codec libraries +# are distributed under Xiph.Org's BSD-like license (see the file +# COPYING.Xiph in this distribution). All other programs, libraries, and +# plugins are distributed under the GPL (see COPYING.GPL). The documentation +# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the +# FLAC distribution contains at the top the terms under which it may be +# distributed. +# +# Since this particular file is relevant to all components of FLAC, +# it may be distributed under the Xiph.Org license, which is the least +# restrictive of those mentioned above. See the file COPYING.Xiph in this +# distribution. + +EXTRA_DIST = \ + 24bit-WaveFmtPCM.wav \ + AIFF-C-sowt-compression-type-name.aifc \ + AIFF-C-sowt-tag.aifc \ + AIFF-ID3.aiff \ + BWF-WaveFmtEx.wav diff -Nru flac-1.4.2+ds/test/foreign-metadata-test-files/Makefile.in flac-1.4.3+ds1/test/foreign-metadata-test-files/Makefile.in --- flac-1.4.2+ds/test/foreign-metadata-test-files/Makefile.in 1970-01-01 00:00:00.000000000 +0000 +++ flac-1.4.3+ds1/test/foreign-metadata-test-files/Makefile.in 2023-06-22 08:50:44.985748380 +0000 @@ -0,0 +1,504 @@ +# Makefile.in generated by automake 1.16.5 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2021 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ + +# FLAC - Free Lossless Audio Codec +# Copyright (C) 2006-2009 Josh Coalson +# Copyright (C) 2011-2023 Xiph.Org Foundation +# +# This file is part the FLAC project. FLAC is comprised of several +# components distributed under different licenses. The codec libraries +# are distributed under Xiph.Org's BSD-like license (see the file +# COPYING.Xiph in this distribution). All other programs, libraries, and +# plugins are distributed under the GPL (see COPYING.GPL). The documentation +# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the +# FLAC distribution contains at the top the terms under which it may be +# distributed. +# +# Since this particular file is relevant to all components of FLAC, +# it may be distributed under the Xiph.Org license, which is the least +# restrictive of those mentioned above. See the file COPYING.Xiph in this +# distribution. +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = test/foreign-metadata-test-files +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/add_cflags.m4 \ + $(top_srcdir)/m4/add_cxxflags.m4 \ + $(top_srcdir)/m4/ax_add_fortify_source.m4 \ + $(top_srcdir)/m4/ax_check_compile_flag.m4 \ + $(top_srcdir)/m4/ax_check_enable_debug.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(srcdir)/Makefile.in +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AR = @AR@ +AS = @AS@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCAS = @CCAS@ +CCASDEPMODE = @CCASDEPMODE@ +CCASFLAGS = @CCASFLAGS@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CSCOPE = @CSCOPE@ +CTAGS = @CTAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +DLLTOOL = @DLLTOOL@ +DOXYGEN = @DOXYGEN@ +DSYMUTIL = @DSYMUTIL@ +DUMPBIN = @DUMPBIN@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +ENABLE_64_BIT_WORDS = @ENABLE_64_BIT_WORDS@ +ETAGS = @ETAGS@ +EXEEXT = @EXEEXT@ +FGREP = @FGREP@ +FLAC__HAS_OGG = @FLAC__HAS_OGG@ +FLAC__TEST_LEVEL = @FLAC__TEST_LEVEL@ +FLAC__TEST_WITH_VALGRIND = @FLAC__TEST_WITH_VALGRIND@ +GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@ +GCC_MINOR_VERSION = @GCC_MINOR_VERSION@ +GCC_VERSION = @GCC_VERSION@ +GIT_COMMIT_VERSION_HASH = @GIT_COMMIT_VERSION_HASH@ +GIT_FOUND = @GIT_FOUND@ +GREP = @GREP@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LD = @LD@ +LDFLAGS = @LDFLAGS@ +LIBICONV = @LIBICONV@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@ +LIB_FUZZING_ENGINE = @LIB_FUZZING_ENGINE@ +LIPO = @LIPO@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +MAKEINFO = @MAKEINFO@ +MANIFEST_TOOL = @MANIFEST_TOOL@ +MKDIR_P = @MKDIR_P@ +NM = @NM@ +NMEDIT = @NMEDIT@ +OBJDUMP = @OBJDUMP@ +OBJEXT = @OBJEXT@ +OBJ_FORMAT = @OBJ_FORMAT@ +OGG_CFLAGS = @OGG_CFLAGS@ +OGG_LIBS = @OGG_LIBS@ +OGG_PACKAGE = @OGG_PACKAGE@ +OTOOL = @OTOOL@ +OTOOL64 = @OTOOL64@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PANDOC = @PANDOC@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +RANLIB = @RANLIB@ +RC = @RC@ +SED = @SED@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +EXTRA_DIST = \ + 24bit-WaveFmtPCM.wav \ + AIFF-C-sowt-compression-type-name.aifc \ + AIFF-C-sowt-tag.aifc \ + AIFF-ID3.aiff \ + BWF-WaveFmtEx.wav + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/foreign-metadata-test-files/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --foreign test/foreign-metadata-test-files/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic clean-libtool \ + cscopelist-am ctags-am distclean distclean-generic \ + distclean-libtool distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ + tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff -Nru flac-1.4.2+ds/test/generate_streams.sh flac-1.4.3+ds1/test/generate_streams.sh --- flac-1.4.2+ds/test/generate_streams.sh 1970-01-01 00:00:00.000000000 +0000 +++ flac-1.4.3+ds1/test/generate_streams.sh 2023-06-15 09:52:54.326861894 +0000 @@ -0,0 +1,29 @@ +#!/bin/sh -e + +# FLAC - Free Lossless Audio Codec +# Copyright (C) 2001-2009 Josh Coalson +# Copyright (C) 2011-2023 Xiph.Org Foundation +# +# This file is part the FLAC project. FLAC is comprised of several +# components distributed under different licenses. The codec libraries +# are distributed under Xiph.Org's BSD-like license (see the file +# COPYING.Xiph in this distribution). All other programs, libraries, and +# plugins are distributed under the GPL (see COPYING.GPL). The documentation +# is distributed under the Gnu FDL (see COPYING.FDL). Each file in the +# FLAC distribution contains at the top the terms under which it may be +# distributed. +# +# Since this particular file is relevant to all components of FLAC, +# it may be distributed under the Xiph.Org license, which is the least +# restrictive of those mentioned above. See the file COPYING.Xiph in this +# distribution. + +. ./common.sh + +PATH="$(pwd)/../src/test_streams:$PATH" +PATH="$(pwd)/../objs/$BUILD/bin:$PATH" + +echo "Generating streams..." +if [ ! -f wacky1.wav ] ; then + test_streams || die "ERROR during test_streams" +fi diff -Nru flac-1.4.2+ds/test/Makefile.am flac-1.4.3+ds1/test/Makefile.am --- flac-1.4.2+ds/test/Makefile.am 2022-10-21 17:13:35.352754200 +0000 +++ flac-1.4.3+ds1/test/Makefile.am 2023-06-22 08:50:23.449675384 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -18,7 +18,7 @@ TESTS_ENVIRONMENT = FLAC__TEST_LEVEL=@FLAC__TEST_LEVEL@ FLAC__TEST_WITH_VALGRIND=@FLAC__TEST_WITH_VALGRIND@ ECHO_N="@ECHO_N@" ECHO_C="@ECHO_C@" -SUBDIRS = cuesheets flac-to-flac-metadata-test-files metaflac-test-files pictures +SUBDIRS = cuesheets foreign-metadata-test-files flac-to-flac-metadata-test-files metaflac-test-files pictures check_SCRIPTS = \ test_libFLAC.sh \ @@ -49,8 +49,9 @@ @echo "----------------" EXTRA_DIST = \ - CMakeLists.txt \ + CMakeLists.txt \ cuesheet.ok \ + generate_streams.sh \ metaflac.flac.in \ metaflac.flac.ok \ picture.ok \ diff -Nru flac-1.4.2+ds/test/Makefile.in flac-1.4.3+ds1/test/Makefile.in --- flac-1.4.2+ds/test/Makefile.in 2022-10-21 17:54:47.865374300 +0000 +++ flac-1.4.3+ds1/test/Makefile.in 2023-06-22 08:50:44.945748244 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -296,6 +296,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -356,7 +357,7 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ TESTS_ENVIRONMENT = FLAC__TEST_LEVEL=@FLAC__TEST_LEVEL@ FLAC__TEST_WITH_VALGRIND=@FLAC__TEST_WITH_VALGRIND@ ECHO_N="@ECHO_N@" ECHO_C="@ECHO_C@" -SUBDIRS = cuesheets flac-to-flac-metadata-test-files metaflac-test-files pictures +SUBDIRS = cuesheets foreign-metadata-test-files flac-to-flac-metadata-test-files metaflac-test-files pictures check_SCRIPTS = \ test_libFLAC.sh \ test_libFLAC++.sh \ @@ -369,8 +370,9 @@ test_compression.sh EXTRA_DIST = \ - CMakeLists.txt \ + CMakeLists.txt \ cuesheet.ok \ + generate_streams.sh \ metaflac.flac.in \ metaflac.flac.ok \ picture.ok \ diff -Nru flac-1.4.2+ds/test/metaflac-test-files/case07-expect.meta flac-1.4.3+ds1/test/metaflac-test-files/case07-expect.meta --- flac-1.4.2+ds/test/metaflac-test-files/case07-expect.meta 2022-10-21 17:32:48.987568900 +0000 +++ flac-1.4.3+ds1/test/metaflac-test-files/case07-expect.meta 2023-06-22 08:50:23.525675641 +0000 @@ -1,4 +1,4 @@ -reference libFLAC 1.4.2 20221022 +reference libFLAC 1.4.3 20230623 ARTIST=The_artist_formerly_known_as_the_artist... ARTIST=Chuck_Woolery ARTIST=Vern diff -Nru flac-1.4.2+ds/test/metaflac-test-files/case63-expect.meta flac-1.4.3+ds1/test/metaflac-test-files/case63-expect.meta --- flac-1.4.2+ds/test/metaflac-test-files/case63-expect.meta 1970-01-01 00:00:00.000000000 +0000 +++ flac-1.4.3+ds1/test/metaflac-test-files/case63-expect.meta 2023-04-17 09:56:12.218273247 +0000 @@ -0,0 +1,74 @@ +METADATA block #0 + type: 0 (STREAMINFO) + is last: false + length: XXX + sample_rate: 8000 Hz + channels: 1 + bits-per-sample: 8 + total samples: 80000 + MD5 signature: a042237c5493fdb9656b94a83608d11a +METADATA block #1 + type: 3 (SEEKTABLE) + is last: false + length: XXX + seek points: 1 + point 0: sample_number=0 +METADATA block #2 + type: 4 (VORBIS_COMMENT) + is last: false + length: XXX + comments: 3 + comment[0]: TITLE=Tittle + comment[1]: artist=Fartist + comment[2]: artist=artits +METADATA block #3 + type: 5 (CUESHEET) + is last: false + length: XXX + media catalog number: 1234567890123 + lead-in: 0 + is CD: false + number of tracks: 2 + track[0] + offset: 0 + number: 1 + ISRC: + type: AUDIO + pre-emphasis: false + number of index points: 1 + index[0] + offset: 0 + number: 1 + track[1] + offset: 80000 + number: 255 (LEAD-OUT) +METADATA block #4 + type: 6 (PICTURE) + is last: false + length: XXX + type: 1 (32x32 pixels 'file icon' (PNG only)) + MIME type: image/png + description: standard_icon + width: 32 + height: 32 + depth: 24 + colors: 0 (unindexed) + data length: XXX + data: +METADATA block #5 + type: 6 (PICTURE) + is last: false + length: XXX + type: 2 (Other file icon) + MIME type: image/png + description: icon + width: 64 + height: 64 + depth: 24 + colors: 0 (unindexed) + data length: XXX + data: +METADATA block #6 + type: 1 (PADDING) + is last: true + length: XXX diff -Nru flac-1.4.2+ds/test/metaflac-test-files/case64-expect.meta flac-1.4.3+ds1/test/metaflac-test-files/case64-expect.meta --- flac-1.4.2+ds/test/metaflac-test-files/case64-expect.meta 1970-01-01 00:00:00.000000000 +0000 +++ flac-1.4.3+ds1/test/metaflac-test-files/case64-expect.meta 2023-04-17 09:56:12.218273247 +0000 @@ -0,0 +1,3 @@ +TITLE=Tittle +artist=Fartist +artist=artits Binary files /tmp/tmp12pm6aeo/pbK8c3IocR/flac-1.4.2+ds/test/metaflac-test-files/case65-expect.meta and /tmp/tmp12pm6aeo/MybNsVg2DV/flac-1.4.3+ds1/test/metaflac-test-files/case65-expect.meta differ diff -Nru flac-1.4.2+ds/test/metaflac-test-files/case66-expect.meta flac-1.4.3+ds1/test/metaflac-test-files/case66-expect.meta --- flac-1.4.2+ds/test/metaflac-test-files/case66-expect.meta 1970-01-01 00:00:00.000000000 +0000 +++ flac-1.4.3+ds1/test/metaflac-test-files/case66-expect.meta 2023-04-17 09:56:12.218273247 +0000 @@ -0,0 +1,62 @@ +METADATA block #0 + type: 0 (STREAMINFO) + is last: false + length: 34 + minimum blocksize: 1152 samples + maximum blocksize: 1152 samples + minimum framesize: 11 bytes + maximum framesize: 11 bytes + sample_rate: 44100 Hz + channels: 1 + bits-per-sample: 8 + total samples: 1 + MD5 signature: 8d39dd7eef115ea6975446ef4082951f +METADATA block #1 + type: 3 (SEEKTABLE) + is last: false + length: 18 + seek points: 1 + point 0: sample_number=0, stream_offset=0, frame_samples=1 +METADATA block #2 + type: 4 (VORBIS_COMMENT) + is last: false + length: 46 + vendor string: reference libFLAC 1.0.5_beta2 20030114 + comments: 0 +METADATA block #3 + type: 126 (UNKNOWN) + is last: false + length: 4 + data contents: + 00000000: AA 55 A5 5A 00 00 00 00 00 00 00 00 00 00 00 00 .U.Z +METADATA block #4 + type: 5 (CUESHEET) + is last: false + length: 480 + media catalog number: + lead-in: 88200 + is CD: true + number of tracks: 2 + track[0] + offset: 0 + number: 1 + ISRC: + type: AUDIO + pre-emphasis: false + number of index points: 1 + index[0] + offset: 0 + number: 1 + track[1] + offset: 1 + number: 170 (LEAD-OUT) +METADATA block #5 + type: 2 (APPLICATION) + is last: false + length: 12 + application ID: 61626364 + data contents: +calfflacMETADATA block #6 + type: 1 (PADDING) + is last: true + length: 12 diff -Nru flac-1.4.2+ds/test/metaflac-test-files/case67-expect.meta flac-1.4.3+ds1/test/metaflac-test-files/case67-expect.meta --- flac-1.4.2+ds/test/metaflac-test-files/case67-expect.meta 1970-01-01 00:00:00.000000000 +0000 +++ flac-1.4.3+ds1/test/metaflac-test-files/case67-expect.meta 2023-04-17 09:56:12.218273247 +0000 @@ -0,0 +1,95 @@ +METADATA block #0 + type: 0 (STREAMINFO) + is last: false + length: 34 + minimum blocksize: 1152 samples + maximum blocksize: 1152 samples + minimum framesize: 11 bytes + maximum framesize: 11 bytes + sample_rate: 44100 Hz + channels: 1 + bits-per-sample: 8 + total samples: 1 + MD5 signature: 8d39dd7eef115ea6975446ef4082951f +METADATA block #1 + type: 126 (UNKNOWN) + is last: false + length: 4 + data contents: + 00000000: AA 55 A5 5A 00 00 00 00 00 00 00 00 00 00 00 00 .U.Z +METADATA block #2 + type: 5 (CUESHEET) + is last: false + length: 480 + media catalog number: + lead-in: 88200 + is CD: true + number of tracks: 2 + track[0] + offset: 0 + number: 1 + ISRC: + type: AUDIO + pre-emphasis: false + number of index points: 1 + index[0] + offset: 0 + number: 1 + track[1] + offset: 1 + number: 170 (LEAD-OUT) +METADATA block #3 + type: 2 (APPLICATION) + is last: false + length: 12 + application ID: 61626364 + data contents: +calfflacMETADATA block #4 + type: 3 (SEEKTABLE) + is last: false + length: 18 + seek points: 1 + point 0: sample_number=0, stream_offset=0, frame_samples=1 +METADATA block #5 + type: 4 (VORBIS_COMMENT) + is last: false + length: 46 + vendor string: reference libFLAC 1.0.5_beta2 20030114 + comments: 0 +METADATA block #6 + type: 126 (UNKNOWN) + is last: false + length: 4 + data contents: + 00000000: AA 55 A5 5A 00 00 00 00 00 00 00 00 00 00 00 00 .U.Z +METADATA block #7 + type: 5 (CUESHEET) + is last: false + length: 480 + media catalog number: + lead-in: 88200 + is CD: true + number of tracks: 2 + track[0] + offset: 0 + number: 1 + ISRC: + type: AUDIO + pre-emphasis: false + number of index points: 1 + index[0] + offset: 0 + number: 1 + track[1] + offset: 1 + number: 170 (LEAD-OUT) +METADATA block #8 + type: 2 (APPLICATION) + is last: false + length: 12 + application ID: 61626364 + data contents: +calfflacMETADATA block #9 + type: 1 (PADDING) + is last: true + length: 28 diff -Nru flac-1.4.2+ds/test/metaflac-test-files/Makefile.am flac-1.4.3+ds1/test/metaflac-test-files/Makefile.am --- flac-1.4.2+ds/test/metaflac-test-files/Makefile.am 2022-10-21 17:13:35.498532400 +0000 +++ flac-1.4.3+ds1/test/metaflac-test-files/Makefile.am 2023-06-15 09:52:54.326861894 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2006-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -79,7 +79,12 @@ case59-expect.meta \ case60-expect.meta \ case61-expect.meta \ - case62-expect.meta + case62-expect.meta \ + case63-expect.meta \ + case64-expect.meta \ + case65-expect.meta \ + case66-expect.meta \ + case67-expect.meta clean-local: -rm -f out.* diff -Nru flac-1.4.2+ds/test/metaflac-test-files/Makefile.in flac-1.4.3+ds1/test/metaflac-test-files/Makefile.in --- flac-1.4.2+ds/test/metaflac-test-files/Makefile.in 2022-10-21 17:54:48.002616900 +0000 +++ flac-1.4.3+ds1/test/metaflac-test-files/Makefile.in 2023-06-22 08:50:44.997748419 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2006-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -238,6 +238,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ @@ -360,7 +361,12 @@ case59-expect.meta \ case60-expect.meta \ case61-expect.meta \ - case62-expect.meta + case62-expect.meta \ + case63-expect.meta \ + case64-expect.meta \ + case65-expect.meta \ + case66-expect.meta \ + case67-expect.meta all: all-am diff -Nru flac-1.4.2+ds/test/pictures/Makefile.am flac-1.4.3+ds1/test/pictures/Makefile.am --- flac-1.4.2+ds/test/pictures/Makefile.am 2022-10-21 17:13:35.532297400 +0000 +++ flac-1.4.3+ds1/test/pictures/Makefile.am 2023-06-15 09:52:54.326861894 +0000 @@ -1,6 +1,6 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2006-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/test/pictures/Makefile.in flac-1.4.3+ds1/test/pictures/Makefile.in --- flac-1.4.2+ds/test/pictures/Makefile.in 2022-10-21 17:54:48.049127400 +0000 +++ flac-1.4.3+ds1/test/pictures/Makefile.in 2023-06-22 08:50:45.021748502 +0000 @@ -16,7 +16,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2006-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -112,14 +112,14 @@ $(top_srcdir)/m4/ax_add_fortify_source.m4 \ $(top_srcdir)/m4/ax_check_compile_flag.m4 \ $(top_srcdir)/m4/ax_check_enable_debug.m4 \ - $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/c_attribute.m4 \ - $(top_srcdir)/m4/clang.m4 $(top_srcdir)/m4/codeset.m4 \ - $(top_srcdir)/m4/gcc_version.m4 $(top_srcdir)/m4/iconv.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/ogg.m4 $(top_srcdir)/m4/really_gcc.m4 \ + $(top_srcdir)/m4/bswap.m4 $(top_srcdir)/m4/clang.m4 \ + $(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/gcc_version.m4 \ + $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ + $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ + $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ + $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ + $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/ogg.m4 \ + $(top_srcdir)/m4/really_gcc.m4 \ $(top_srcdir)/m4/stack_protect.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) @@ -238,6 +238,7 @@ PANDOC = @PANDOC@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ +RC = @RC@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ diff -Nru flac-1.4.2+ds/test/test_compression.sh flac-1.4.3+ds1/test/test_compression.sh --- flac-1.4.2+ds/test/test_compression.sh 2022-10-21 17:13:35.543268000 +0000 +++ flac-1.4.3+ds1/test/test_compression.sh 2023-06-15 09:52:54.326861894 +0000 @@ -1,7 +1,7 @@ #!/bin/sh -e # FLAC - Free Lossless Audio Codec -# Copyright (C) 2012-2022 Xiph.Org Foundation +# Copyright (C) 2012-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/test/test_flac.sh flac-1.4.3+ds1/test/test_flac.sh --- flac-1.4.2+ds/test/test_flac.sh 2022-10-21 17:13:35.557230500 +0000 +++ flac-1.4.3+ds1/test/test_flac.sh 2023-06-15 09:52:54.326861894 +0000 @@ -2,7 +2,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -182,6 +182,20 @@ rm -f rt.flac rt.wav } +rt_test_wav_autokf () +{ + f="$1" + extra="$2" + echo $ECHO_N "round-trip test ($f) encode... " $ECHO_C + run_flac --force --verify --channel-map=none --no-padding --lax -o rt.flac $extra $f || die "ERROR" + echo $ECHO_N "decode... " $ECHO_C + run_flac --force --decode --channel-map=none $extra rt.flac || die "ERROR" + echo $ECHO_N "compare... " $ECHO_C + cmp $f rt.wav || die "ERROR: file mismatch" + echo "OK" + rm -f rt.flac rt.wav +} + rt_test_w64 () { f="$1" @@ -196,6 +210,20 @@ rm -f rt.flac rt.w64 } +rt_test_w64_autokf () +{ + f="$1" + extra="$2" + echo $ECHO_N "round-trip test ($f) encode... " $ECHO_C + run_flac --force --verify --channel-map=none --no-padding --lax -o rt.flac $extra $f || die "ERROR" + echo $ECHO_N "decode... " $ECHO_C + run_flac --force --decode --channel-map=none $extra rt.flac || die "ERROR" + echo $ECHO_N "compare... " $ECHO_C + cmp $f rt.w64 || die "ERROR: file mismatch" + echo "OK" + rm -f rt.flac rt.w64 +} + rt_test_rf64 () { f="$1" @@ -210,6 +238,20 @@ rm -f rt.flac rt.rf64 } +rt_test_rf64_autokf () +{ + f="$1" + extra="$2" + echo $ECHO_N "round-trip test ($f) encode... " $ECHO_C + run_flac --force --verify --channel-map=none --no-padding --lax -o rt.flac $extra $f || die "ERROR" + echo $ECHO_N "decode... " $ECHO_C + run_flac --force --decode --channel-map=none $extra rt.flac || die "ERROR" + echo $ECHO_N "compare... " $ECHO_C + cmp $f rt.rf64 || die "ERROR: file mismatch" + echo "OK" + rm -f rt.flac rt.rf64 +} + rt_test_aiff () { f="$1" @@ -224,6 +266,20 @@ rm -f rt.flac rt.aiff } +rt_test_autokf () +{ + f="$1" + extra="$2" + echo $ECHO_N "round-trip test ($f) encode... " $ECHO_C + run_flac --force --verify --no-padding --lax -o rt.flac $extra $f || die "ERROR" + echo $ECHO_N "decode... " $ECHO_C + run_flac --force --decode $extra rt.flac || die "ERROR" + echo $ECHO_N "compare... " $ECHO_C + cmp $f $3 || die "ERROR: file mismatch" + echo "OK" + rm -f rt.flac $3 +} + # assumes input file is WAVE; does not check the metadata-preserving features of flac-to-flac; that is checked later rt_test_flac () { @@ -1036,45 +1092,12 @@ cp shortnoise.raw file1.raw cp shortnoise.raw file2.raw rm -f shortnoise.raw -# create authoritative sector-aligned files for comparison -file0_samples=$(( (short_noise_cdda_samples / 588) * 588)) -file0_remainder=$((short_noise_cdda_samples - file0_samples)) -file1_samples=$(( ( ( file0_remainder + short_noise_cdda_samples ) / 588 ) * 588)) -file1_remainder=$((file0_remainder + short_noise_cdda_samples - file1_samples)) -file1_samples=$((file1_samples - file0_remainder)) -file2_samples=$(( ( ( file1_remainder + short_noise_cdda_samples ) / 588 ) * 588)) -file2_remainder=$(( file1_remainder + short_noise_cdda_samples - file2_samples)) -file2_samples=$((file2_samples - file1_remainder)) -if [ $file2_remainder != '0' ] ; then - file2_samples=$((file2_samples + file2_remainder)) - file2_remainder=$((588 - file2_remainder)) -fi - -dd if=file0.raw ibs=4 count=$file0_samples of=file0s.raw 2>/dev/null || $dddie -dd if=file0.raw ibs=4 count=$file0_remainder of=file1s.raw skip=$file0_samples 2>/dev/null || $dddie -dd if=file1.raw ibs=4 count=$file1_samples of=z.raw 2>/dev/null || $dddie -cat z.raw >> file1s.raw || die "ERROR: cat-ing sector-aligned files" -dd if=file1.raw ibs=4 count=$file1_remainder of=file2s.raw skip=$file1_samples 2>/dev/null || $dddie -dd if=file2.raw ibs=4 count=$file2_samples of=z.raw 2>/dev/null || $dddie -cat z.raw >> file2s.raw || die "ERROR: cat-ing sector-aligned files" -dd if=/dev/zero ibs=4 count=$file2_remainder of=z.raw 2>/dev/null || $dddie -cat z.raw >> file2s.raw || die "ERROR: cat-ing sector-aligned files" -rm -f z.raw - -convert_to_wav file0s "$multifile_format_encode --force --force-raw-format" "$SILENT --force --decode" || die "ERROR creating authoritative sector-aligned WAVE" -convert_to_wav file1s "$multifile_format_encode --force --force-raw-format" "$SILENT --force --decode" || die "ERROR creating authoritative sector-aligned WAVE" -convert_to_wav file2s "$multifile_format_encode --force --force-raw-format" "$SILENT --force --decode" || die "ERROR creating authoritative sector-aligned WAVE" - -convert_to_aiff file0s "$multifile_format_encode --force --force-raw-format" "$SILENT --force --decode" || die "ERROR creating authoritative sector-aligned AIFF" -convert_to_aiff file1s "$multifile_format_encode --force --force-raw-format" "$SILENT --force --decode" || die "ERROR creating authoritative sector-aligned AIFF" -convert_to_aiff file2s "$multifile_format_encode --force --force-raw-format" "$SILENT --force --decode" || die "ERROR creating authoritative sector-aligned AIFF" test_multifile () { input_type=$1 streamtype=$2 - sector_align=$3 - encode_options="$4" + encode_options="$3" extra_encode_options="" extra_decode_options="" @@ -1094,10 +1117,6 @@ suffix=flac fi - if [ $sector_align = sector_align ] ; then - encode_options="$encode_options --sector-align" - fi - if [ $input_type = flac ] || [ $input_type = ogg ] ; then CMP=md5cmp else @@ -1109,15 +1128,9 @@ done run_flac --force $encode_options $extra_encode_options file0x.$input_type file1x.$input_type file2x.$input_type || die "ERROR" run_flac --force --decode $extra_decode_options file0x.$suffix file1x.$suffix file2x.$suffix || die "ERROR" - if [ $sector_align != sector_align ] ; then - for n in 0 1 2 ; do - $CMP file$n.$input_type file${n}x.$input_type || die "ERROR: file mismatch on file #$n" - done - else - for n in 0 1 2 ; do - $CMP file${n}s.$input_type file${n}x.$input_type || die "ERROR: file mismatch on file #$n" - done - fi + for n in 0 1 2 ; do + $CMP file$n.$input_type file${n}x.$input_type || die "ERROR: file mismatch on file #$n" + done for n in 0 1 2 ; do rm -f file${n}x.$suffix file${n}x.$input_type done @@ -1130,36 +1143,20 @@ #@@@fi for input_type in $input_types ; do echo "Testing multiple $input_type files without verify..." - test_multifile $input_type flac no_sector_align "" + test_multifile $input_type flac "" echo "Testing multiple $input_type files with verify..." - test_multifile $input_type flac no_sector_align "--verify" - - if [ $input_type != flac ] && [ $input_type != ogg ] ; then # --sector-align not supported for FLAC input - echo "Testing multiple $input_type files with --sector-align, without verify..." - test_multifile $input_type flac sector_align "" - - echo "Testing multiple $input_type files with --sector-align, with verify..." - test_multifile $input_type flac sector_align "--verify" - fi + test_multifile $input_type flac "--verify" if [ $has_ogg = yes ] ; then echo "Testing multiple $input_type files with --ogg, without verify..." - test_multifile $input_type ogg no_sector_align "" + test_multifile $input_type ogg "" echo "Testing multiple $input_type files with --ogg, with verify..." - test_multifile $input_type ogg no_sector_align "--verify" - - if [ $input_type != flac ] ; then # --sector-align not supported for FLAC input - echo "Testing multiple $input_type files with --ogg and --sector-align, without verify..." - test_multifile $input_type ogg sector_align "" - - echo "Testing multiple $input_type files with --ogg and --sector-align, with verify..." - test_multifile $input_type ogg sector_align "--verify" - fi + test_multifile $input_type ogg "--verify" echo "Testing multiple $input_type files with --ogg and --serial-number, with verify..." - test_multifile $input_type ogg no_sector_align "--serial-number=321 --verify" + test_multifile $input_type ogg "--serial-number=321 --verify" fi done @@ -1177,6 +1174,20 @@ rt_test_rf64 wacky1.rf64 '--keep-foreign-metadata' rt_test_rf64 wacky2.rf64 '--keep-foreign-metadata' +rt_test_wav_autokf wacky1.wav '--keep-foreign-metadata' +rt_test_wav_autokf wacky2.wav '--keep-foreign-metadata' +rt_test_w64_autokf wacky1.w64 '--keep-foreign-metadata' +rt_test_w64_autokf wacky2.w64 '--keep-foreign-metadata' +rt_test_rf64_autokf wacky1.rf64 '--keep-foreign-metadata' +rt_test_rf64_autokf wacky2.rf64 '--keep-foreign-metadata' + +testdatadir=${top_srcdir}/test/foreign-metadata-test-files + +rt_test_autokf "$testdatadir/BWF-WaveFmtEx.wav" '--keep-foreign-metadata' 'rt.wav' +rt_test_autokf "$testdatadir/AIFF-ID3.aiff" '--keep-foreign-metadata' 'rt.aiff' +rt_test_autokf "$testdatadir/AIFF-C-sowt-tag.aifc" '--keep-foreign-metadata' 'rt.aifc' +rt_test_autokf "$testdatadir/AIFF-C-sowt-compression-type-name.aifc" '--keep-foreign-metadata' 'rt.aifc' +rt_test_autokf "$testdatadir/24bit-WaveFmtPCM.wav" '--keep-foreign-metadata' 'rt.wav' ############################################################################ # test the metadata-handling properties of flac-to-flac encoding diff -Nru flac-1.4.2+ds/test/test_grabbag.sh flac-1.4.3+ds1/test/test_grabbag.sh --- flac-1.4.2+ds/test/test_grabbag.sh 2022-10-21 17:13:35.582163600 +0000 +++ flac-1.4.3+ds1/test/test_grabbag.sh 2023-06-15 09:52:54.326861894 +0000 @@ -2,7 +2,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/test/test_libFLAC.sh flac-1.4.3+ds1/test/test_libFLAC.sh --- flac-1.4.2+ds/test/test_libFLAC.sh 2022-10-21 17:13:35.608094000 +0000 +++ flac-1.4.3+ds1/test/test_libFLAC.sh 2023-06-15 09:52:54.326861894 +0000 @@ -2,7 +2,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/test/test_libFLAC++.sh flac-1.4.3+ds1/test/test_libFLAC++.sh --- flac-1.4.2+ds/test/test_libFLAC++.sh 2022-10-21 17:13:35.598407800 +0000 +++ flac-1.4.3+ds1/test/test_libFLAC++.sh 2023-06-15 09:52:54.326861894 +0000 @@ -2,7 +2,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2002-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/test/test_metaflac.sh flac-1.4.3+ds1/test/test_metaflac.sh --- flac-1.4.2+ds/test/test_metaflac.sh 2022-10-21 17:13:35.617364300 +0000 +++ flac-1.4.3+ds1/test/test_metaflac.sh 2023-06-15 09:52:54.326861894 +0000 @@ -2,7 +2,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2002-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries @@ -30,7 +30,7 @@ fi testdir="metaflac-test-files" -flacfile="metaflac.flac" +flacfile="metaflac1.flac" flac${EXE} --help 1>/dev/null 2>/dev/null || die "ERROR can't find flac executable" metaflac${EXE} --help 1>/dev/null 2>/dev/null || die "ERROR can't find metaflac executable" @@ -69,6 +69,17 @@ fi } +run_metaflac_to_metaflac_silent () +{ + if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then + echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=50 metaflac $*" >>test_metaflac.valgrind.log + valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 metaflac${EXE} $* 2>/dev/null 4>>test_metaflac.valgrind.log + else + metaflac${EXE} $1 | metaflac${EXE} $2 2>/dev/null + fi +} + + check_flac () { run_flac --silent --test $flacfile || die "ERROR in $flacfile" 1>&2 @@ -113,6 +124,30 @@ echo OK } +metaflac_test_nofilter () +{ + case="$testdatadir/$1" + desc="$2" + args="$3" + expect="$case-expect.meta" + echo $ECHO_N "test $1: $desc... " $ECHO_C + run_metaflac $args $flacfile > $testdir/out.meta || die "ERROR running metaflac" + diff -w $expect $testdir/out.meta || die "ERROR: metadata does not match expected $expect" + echo OK +} + +metaflac_test_binary () +{ + case="$testdatadir/$1" + desc="$2" + args="$3" + expect="$case-expect.meta" + echo $ECHO_N "test $1: $desc... " $ECHO_C + run_metaflac $args $flacfile > $testdir/out.meta || die "ERROR running metaflac" + cmp $expect $testdir/out.meta || die "ERROR: metadata does not match expected $expect" + echo OK +} + metaflac_test case00 "--list" "--list" metaflac_test case01 "STREAMINFO --show-* shortcuts" " @@ -369,8 +404,17 @@ run_metaflac --import-picture-from="2|image/png|icon|64x64x24|${top_srcdir}/test/pictures/1.png" $flacfile check_flac metaflac_test case62 "--import-picture-from" "--list" +run_metaflac --remove-all-tags-except=artist=title $flacfile +check_flac +metaflac_test case63 "--remove-all-tags-except=artist=title" "--list" +metaflac_test case64 "--export-tags-to=-" "--export-tags-to=-" +metaflac_test case64 "--show-all-tags" "--show-all-tags" + +run_flac ${top_srcdir}/test/foreign-metadata-test-files/AIFF-ID3.aiff --keep-foreign-metadata -f -o $flacfile +metaflac_test_binary case65 "--data-format=binary" "--list --data-format=binary-headerless --block-type=APPLICATION:aiff" # UNKNOWN blocks +flacfile=metaflac2.flac echo $ECHO_N "Testing FLAC file with unknown metadata... " $ECHO_C cp -p ${top_srcdir}/test/metaflac.flac.in $flacfile # remove the VORBIS_COMMENT block so vendor string changes don't interfere with the comparison: @@ -378,4 +422,57 @@ cmp $flacfile ${top_srcdir}/test/metaflac.flac.ok || die "ERROR, $flacfile and metaflac.flac.ok differ" echo OK +flacfile=metaflac3.flac +cp -p ${top_srcdir}/test/metaflac.flac.in $flacfile + +flacfile2=metaflac4.flac +cp $flacfile $flacfile2 +run_metaflac --remove-all --dont-use-padding $flacfile + +echo $ECHO_N "Appending a streaminfo metadata block... " $ECHO_C +if run_metaflac_to_metaflac_silent "--list --data-format=binary $flacfile2" "--append $flacfile" ; then + die "ERROR: it should have failed but didn't" +else + echo "OK, it failed as it should" +fi + +echo $ECHO_N "Appending a seektable metadata block... " $ECHO_C +if run_metaflac_to_metaflac_silent "--list --data-format=binary --except-block-type=STREAMINFO $flacfile2" "--append $flacfile" ; then + die "ERROR: it should have failed but didn't" +else + echo "OK, it failed as it should" +fi + +run_metaflac --add-seekpoint=0 $flacfile + +echo $ECHO_N "Appending a vorbis comment metadata block... " $ECHO_C +if run_metaflac_to_metaflac_silent "--list --data-format=binary --block-type=VORBIS_COMMENT $flacfile2" "--append $flacfile" ; then + echo "OK" +else + die "ERROR, couldn't add vorbis comment metadata block" +fi + +echo $ECHO_N "Appending another vorbis comment metadata block... " $ECHO_C +if run_metaflac_to_metaflac_silent "--list --data-format=binary --block-type=VORBIS_COMMENT $flacfile2" "--append $flacfile" ; then + die "ERROR: it should have failed but didn't" +else + echo "OK, it failed as it should" +fi + +if run_metaflac_to_metaflac_silent "--list --data-format=binary --except-block-type=STREAMINFO,SEEKTABLE,VORBIS_COMMENT $flacfile2" "--append $flacfile" ; then + : +else + die "ERROR, couldn't add vorbis comment metadata block" +fi + +metaflac_test_nofilter case66 "--append" "--list" + +if run_metaflac_to_metaflac_silent "--list --data-format=binary --except-block-type=STREAMINFO,SEEKTABLE,VORBIS_COMMENT $flacfile2" "--append --block-number=0 $flacfile" ; then + : +else + die "ERROR, couldn't add vorbis comment metadata block" +fi + +metaflac_test_nofilter case67 "--append --block-number=0" "--list" + rm -f metaflac-test-files/out.meta metaflac-test-files/out1.meta diff -Nru flac-1.4.2+ds/test/test_replaygain.sh flac-1.4.3+ds1/test/test_replaygain.sh --- flac-1.4.2+ds/test/test_replaygain.sh 2022-10-21 17:13:35.631033000 +0000 +++ flac-1.4.3+ds1/test/test_replaygain.sh 2023-06-15 09:52:54.326861894 +0000 @@ -2,7 +2,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2002-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/test/test_seeking.sh flac-1.4.3+ds1/test/test_seeking.sh --- flac-1.4.2+ds/test/test_seeking.sh 2022-10-21 17:13:35.641006200 +0000 +++ flac-1.4.3+ds1/test/test_seeking.sh 2023-06-15 09:52:54.330861908 +0000 @@ -2,7 +2,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2004-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries diff -Nru flac-1.4.2+ds/test/test_streams.sh flac-1.4.3+ds1/test/test_streams.sh --- flac-1.4.2+ds/test/test_streams.sh 2022-10-21 17:13:35.654067300 +0000 +++ flac-1.4.3+ds1/test/test_streams.sh 2023-06-15 09:52:54.330861908 +0000 @@ -2,7 +2,7 @@ # FLAC - Free Lossless Audio Codec # Copyright (C) 2001-2009 Josh Coalson -# Copyright (C) 2011-2022 Xiph.Org Foundation +# Copyright (C) 2011-2023 Xiph.Org Foundation # # This file is part the FLAC project. FLAC is comprised of several # components distributed under different licenses. The codec libraries