Initial commit

added libraries:
opus
flac
libsndfile

updated:
libvorbis
libogg
openal

- Everything works as expected for now. Bare in mind libsndfile needed the check for whether or not it could find the xiph libraries removed in order for this to work.
This commit is contained in:
marauder2k7 2024-03-21 17:33:47 +00:00
parent 05a083ca6f
commit a745fc3757
1954 changed files with 431332 additions and 21037 deletions

View file

@ -0,0 +1,103 @@
if(WIN32)
set(EXEEXT .exe)
endif()
if(NOT UNIX)
find_program(BUSYBOX_EXE busybox)
if(NOT BUSYBOX_EXE)
message(STATUS "Could NOT find busybox, only basic tests are enabled")
add_test(NAME libFLAC
COMMAND $<TARGET_FILE:test_libFLAC>
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
if(BUILD_CXXLIBS)
add_test(NAME libFLAC++
COMMAND $<TARGET_FILE:test_libFLAC++>
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
endif()
if(BUILD_PROGRAMS)
add_test(NAME flac_help
COMMAND $<TARGET_FILE:flacapp> --help
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
add_test(NAME flac_utf8_test COMMAND $<TARGET_FILE:flacapp> -t
"${CMAKE_CURRENT_SOURCE_DIR}/flac-to-flac-metadata-test-files/שלום.flac"
"${CMAKE_CURRENT_SOURCE_DIR}/flac-to-flac-metadata-test-files/Prøve.flac"
"${CMAKE_CURRENT_SOURCE_DIR}/flac-to-flac-metadata-test-files/🤔.flac")
add_test(NAME metaflac_help
COMMAND $<TARGET_FILE:metaflac> --help
WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
endif()
return()
else()
set(BUSYBOX_CMD "sh")
endif()
endif()
set(top_srcdir "${PROJECT_SOURCE_DIR}")
set(top_builddir "${PROJECT_BINARY_DIR}")
if(NOT GIT_COMMIT_TAG AND GIT_COMMIT_HASH AND GIT_COMMIT_DATE)
set(GIT_COMMIT_VERSION_HASH yes)
endif()
configure_file(common.sh.in common.sh @ONLY)
set(ALL_TESTS libFLAC grabbag)
add_test(NAME libFLAC
COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_libFLAC.sh"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
if(BUILD_CXXLIBS)
add_test(NAME libFLAC++
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}")
# UTF-8 must be tested separately on Windows because busybox-w32 doesn't support UTF-8
if(BUSYBOX_EXE)
add_test(NAME flac_utf8_test COMMAND $<TARGET_FILE:flacapp> -t
"${CMAKE_CURRENT_SOURCE_DIR}/flac-to-flac-metadata-test-files/שלום.flac"
"${CMAKE_CURRENT_SOURCE_DIR}/flac-to-flac-metadata-test-files/Prøve.flac"
"${CMAKE_CURRENT_SOURCE_DIR}/flac-to-flac-metadata-test-files/🤔.flac")
list(APPEND ALL_TESTS flac_utf8_test)
endif()
file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/metaflac-test-files")
add_test(NAME metaflac
COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_metaflac.sh"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
add_test(NAME replaygain
COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_replaygain.sh"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
add_test(NAME seeking
COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_seeking.sh"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
add_test(NAME streams
COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_streams.sh"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
# increase this if standard 1500 seconds are not enough
# set_tests_properties(streams PROPERTIES TIMEOUT 1500)
add_test(NAME compression
COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_compression.sh"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
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()
set_property(TEST ${ALL_TESTS} APPEND PROPERTY ENVIRONMENT FLAC__TEST_LEVEL=1)
if(BUSYBOX_EXE)
set_property(TEST ${ALL_TESTS} APPEND PROPERTY ENVIRONMENT ECHO_N=-n)
set_property(TEST ${ALL_TESTS} APPEND PROPERTY ENVIRONMENT WIN32BUSYBOX=yes)
else()
set_property(TEST ${ALL_TESTS} APPEND PROPERTY ENVIRONMENT ECHO_C=\\c)
endif()

View file

@ -0,0 +1,62 @@
# 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.
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 foreign-metadata-test-files flac-to-flac-metadata-test-files metaflac-test-files pictures
check_SCRIPTS = \
test_libFLAC.sh \
test_libFLAC++.sh \
test_grabbag.sh \
test_flac.sh \
test_metaflac.sh \
test_replaygain.sh \
test_seeking.sh \
test_streams.sh \
test_compression.sh
# This one should pass when building out-of-tree (e.g. 'make distcheck').
check: $(check_SCRIPTS)
$(TESTS_ENVIRONMENT) $(srcdir)/test_libFLAC.sh
if FLaC__WITH_CPPLIBS
$(TESTS_ENVIRONMENT) $(srcdir)/test_libFLAC++.sh
endif
$(TESTS_ENVIRONMENT) $(srcdir)/test_grabbag.sh
$(TESTS_ENVIRONMENT) $(srcdir)/test_flac.sh
$(TESTS_ENVIRONMENT) $(srcdir)/test_metaflac.sh
$(TESTS_ENVIRONMENT) $(srcdir)/test_replaygain.sh
$(TESTS_ENVIRONMENT) $(srcdir)/test_seeking.sh
$(TESTS_ENVIRONMENT) $(srcdir)/test_streams.sh
$(TESTS_ENVIRONMENT) $(srcdir)/test_compression.sh
@echo "----------------"
@echo "All tests passed"
@echo "----------------"
EXTRA_DIST = \
CMakeLists.txt \
cuesheet.ok \
generate_streams.sh \
metaflac.flac.in \
metaflac.flac.ok \
picture.ok \
$(check_SCRIPTS) \
write_iff.pl
clean-local:
-rm -f *.raw *.flac *.oga *.ogg *.cmp *.aiff *.wav *.w64 *.rf64 *.diff *.log *.cue core

View file

@ -0,0 +1,11 @@
<version>
1.4.3
</version>
<headers>
include/FLAC++/all.h
</headers>
<libs>
src/libFLAC++/.libs/libFLAC++.so.10.0.1
</libs>

View file

@ -0,0 +1,11 @@
<version>
1.4.3
</version>
<headers>
include/FLAC/all.h
</headers>
<libs>
src/libFLAC/.libs/libFLAC.so.12.1.0
</libs>

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,87 @@
# 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.
export MALLOC_CHECK_=3
export MALLOC_PERTURB_=$((RANDOM % 255 + 1))
if [ -z "$1" ] ; then
BUILD=debug
else
BUILD="$1"
fi
LD_LIBRARY_PATH=../objs/$BUILD/lib:$LD_LIBRARY_PATH
LD_LIBRARY_PATH="$(pwd)/../objs/$BUILD/lib:$LD_LIBRARY_PATH"
LD_LIBRARY_PATH="$(pwd)/../src/libFLAC/.libs:$LD_LIBRARY_PATH"
LD_LIBRARY_PATH="$(pwd)/../src/share/getopt/.libs:$LD_LIBRARY_PATH"
LD_LIBRARY_PATH="$(pwd)/../src/share/grabbag/.libs:$LD_LIBRARY_PATH"
LD_LIBRARY_PATH="$(pwd)/../src/share/replaygain_analysis/.libs:$LD_LIBRARY_PATH"
LD_LIBRARY_PATH="$(pwd)/../src/share/replaygain_synthesis/.libs:$LD_LIBRARY_PATH"
LD_LIBRARY_PATH="$(pwd)/../src/share/utf8/.libs:$LD_LIBRARY_PATH"
LD_LIBRARY_PATH=../src/libFLAC/.libs:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=../src/libFLAC++/.libs:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=../src/share/getopt/.libs:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=../src/share/grabbag/.libs:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=../src/share/replaygain_analysis/.libs:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=../src/share/replaygain_synthesis/.libs:$LD_LIBRARY_PATH
LD_LIBRARY_PATH=../src/share/utf8/.libs:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
PATH="$(pwd)/../objs/$CMAKE_CONFIG_TYPE:$PATH"
PATH="$(pwd)/../objs:$PATH"
EXE=@EXEEXT@
# Needed for building out-of-tree where source files are in the $top_srcdir tree
# and build products in the $top_builddir tree.
top_srcdir=@top_srcdir@
top_builddir=@top_builddir@
git_commit_version_hash=@GIT_COMMIT_VERSION_HASH@
# Set `is_win` variable which is used in other scripts that source this one.
if test $(env | grep -ic '^comspec=') != 0 ; then
is_win=yes
else
is_win=no
fi
# change to 'false' to show all flac/metaflac output (useful for debugging)
if true ; then
SILENT='--silent'
TOTALLY_SILENT='--totally-silent'
else
SILENT=''
TOTALLY_SILENT=''
fi
# Functions
die ()
{
echo $* 1>&2
exit 1
}
make_streams ()
{
echo "Generating streams..."
if [ ! -f wacky1.wav ] ; then
test_streams${EXE} || die "ERROR during test_streams"
fi
}

View file

@ -0,0 +1,94 @@
NEGATIVE cuesheets/bad.000.CATALOG_multiple.cue
pass1: parse error, line 2: "found multiple CATALOG commands"
NEGATIVE cuesheets/bad.001.CATALOG_missing_number.cue
pass1: parse error, line 1: "CATALOG is missing catalog number"
NEGATIVE cuesheets/bad.002.CATALOG_number_too_long.cue
pass1: parse error, line 1: "CATALOG number is too long"
NEGATIVE cuesheets/bad.003.CATALOG_not_13_digits.cue
pass1: parse error, line 1: "CD-DA CATALOG number must be 13 decimal digits"
NEGATIVE cuesheets/bad.030.FLAGS_multiple.cue
pass1: parse error, line 4: "found multiple FLAGS commands"
NEGATIVE cuesheets/bad.031.FLAGS_wrong_place_1.cue
pass1: parse error, line 1: "FLAGS command must come after TRACK but before INDEX"
NEGATIVE cuesheets/bad.032.FLAGS_wrong_place_2.cue
pass1: parse error, line 4: "FLAGS command must come after TRACK but before INDEX"
NEGATIVE cuesheets/bad.060.INDEX_wrong_place.cue
pass1: parse error, line 2: "found INDEX before any TRACK"
NEGATIVE cuesheets/bad.061.INDEX_missing_number.cue
pass1: parse error, line 4: "INDEX is missing index number"
NEGATIVE cuesheets/bad.062.INDEX_invalid_number_1.cue
pass1: parse error, line 4: "INDEX has invalid index number"
NEGATIVE cuesheets/bad.063.first_INDEX_not_0_or_1.cue
pass1: parse error, line 4: "first INDEX number of a TRACK must be 0 or 1"
NEGATIVE cuesheets/bad.064.INDEX_num_non_sequential.cue
pass1: parse error, line 5: "INDEX numbers must be sequential"
NEGATIVE cuesheets/bad.065.INDEX_num_out_of_range.cue
pass1: parse error, line 104: "CD-DA INDEX number must be between 0 and 99, inclusive"
NEGATIVE cuesheets/bad.066.INDEX_missing_offset.cue
pass1: parse error, line 4: "INDEX is missing an offset after the index number"
NEGATIVE cuesheets/bad.067.INDEX_illegal_offset.cue
pass1: parse error, line 4: "illegal INDEX offset (not of the form MM:SS:FF)"
NEGATIVE cuesheets/bad.068.INDEX_cdda_illegal_offset.cue
pass1: parse error, line 4: "illegal INDEX offset (not of the form MM:SS:FF)"
NEGATIVE cuesheets/bad.069.nonzero_first_INDEX.cue
pass1: parse error, line 4: "first INDEX of first TRACK must have an offset of 00:00:00"
NEGATIVE cuesheets/bad.070.INDEX_offset_not_ascending_1.cue
pass1: parse error, line 5: "CD-DA INDEX offsets must increase in time"
NEGATIVE cuesheets/bad.071.INDEX_offset_not_ascending_2.cue
pass1: parse error, line 6: "CD-DA INDEX offsets must increase in time"
NEGATIVE cuesheets/bad.110.ISRC_multiple.cue
pass1: parse error, line 4: "found multiple ISRC commands"
NEGATIVE cuesheets/bad.111.ISRC_wrong_place_1.cue
pass1: parse error, line 2: "ISRC command must come after TRACK but before INDEX"
NEGATIVE cuesheets/bad.112.ISRC_wrong_place_2.cue
pass1: parse error, line 4: "ISRC command must come after TRACK but before INDEX"
NEGATIVE cuesheets/bad.113.ISRC_missing_number.cue
pass1: parse error, line 3: "ISRC is missing ISRC number"
NEGATIVE cuesheets/bad.114.ISRC_invalid_number.cue
pass1: parse error, line 3: "invalid ISRC number"
NEGATIVE cuesheets/bad.130.TRACK_missing_INDEX_01_1.cue
pass1: parse error, line 2: "previous TRACK must specify at least one INDEX 01"
NEGATIVE cuesheets/bad.131.TRACK_missing_INDEX_01_2.cue
pass1: parse error, line 3: "previous TRACK must specify at least one INDEX 01"
NEGATIVE cuesheets/bad.132.TRACK_missing_INDEX_01_3.cue
pass1: parse error, line 3: "previous TRACK must specify at least one INDEX 01"
NEGATIVE cuesheets/bad.133.TRACK_missing_INDEX_01_4.cue
pass1: parse error, line 4: "previous TRACK must specify at least one INDEX 01"
NEGATIVE cuesheets/bad.134.TRACK_missing_number.cue
pass1: parse error, line 2: "TRACK is missing track number"
NEGATIVE cuesheets/bad.135.TRACK_invalid_number_1.cue
pass1: parse error, line 2: "TRACK has invalid track number"
NEGATIVE cuesheets/bad.136.TRACK_invalid_number_2.cue
pass1: parse error, line 2: "TRACK number must be greater than 0"
NEGATIVE cuesheets/bad.137.TRACK_cdda_out_of_range.cue
pass1: parse error, line 2: "CD-DA TRACK number must be between 1 and 99, inclusive"
NEGATIVE cuesheets/bad.138.TRACK_num_non_sequential.cue
pass1: parse error, line 6: "CD-DA TRACK numbers must be sequential"
NEGATIVE cuesheets/bad.139.TRACK_missing_type.cue
pass1: parse error, line 2: "TRACK is missing a track type after the track number"
NEGATIVE cuesheets/bad.140.no_TRACKs.cue
pass1: parse error, line 1: "there must be at least one TRACK command"
NEGATIVE cuesheets/bad.200.FLAC_leadin_missing_offset.cue
pass1: parse error, line 1: "FLAC__lead-in is missing offset"
NEGATIVE cuesheets/bad.201.FLAC_leadin_illegal_offset.cue
pass1: parse error, line 1: "illegal FLAC__lead-in offset"
NEGATIVE cuesheets/bad.202.FLAC_leadin_cdda_illegal_offset.cue
pass1: parse error, line 1: "illegal CD-DA FLAC__lead-in offset, must be even multiple of 588 samples"
NEGATIVE cuesheets/bad.230.FLAC_leadout_multiple.cue
pass1: parse error, line 3: "multiple FLAC__lead-out commands"
NEGATIVE cuesheets/bad.231.FLAC_leadout_missing_track.cue
pass1: parse error, line 1: "FLAC__lead-out is missing track number"
NEGATIVE cuesheets/bad.232.FLAC_leadout_illegal_track.cue
pass1: parse error, line 1: "illegal FLAC__lead-out track number"
NEGATIVE cuesheets/bad.233.FLAC_leadout_missing_offset.cue
pass1: parse error, line 1: "FLAC__lead-out is missing offset"
NEGATIVE cuesheets/bad.234.FLAC_leadout_illegal_offset.cue
pass1: parse error, line 1: "illegal FLAC__lead-out offset"
NEGATIVE cuesheets/bad.235.FLAC_leadout_offset_not_211680000.cue
pass1: parse error, line 1: "FLAC__lead-out offset does not match end-of-stream offset"
POSITIVE cuesheets/good.000.cue
POSITIVE cuesheets/good.001.cue
POSITIVE cuesheets/good.002.dos_format.cue
POSITIVE cuesheets/good.003.missing_final_newline.cue
POSITIVE cuesheets/good.004.dos_format.missing_final_newline.cue
POSITIVE cuesheets/good.005.quoted.isrc.cue

View file

@ -0,0 +1,69 @@
# 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.
EXTRA_DIST = \
bad.000.CATALOG_multiple.cue \
bad.001.CATALOG_missing_number.cue \
bad.002.CATALOG_number_too_long.cue \
bad.003.CATALOG_not_13_digits.cue \
bad.030.FLAGS_multiple.cue \
bad.031.FLAGS_wrong_place_1.cue \
bad.032.FLAGS_wrong_place_2.cue \
bad.060.INDEX_wrong_place.cue \
bad.061.INDEX_missing_number.cue \
bad.062.INDEX_invalid_number_1.cue \
bad.063.first_INDEX_not_0_or_1.cue \
bad.064.INDEX_num_non_sequential.cue \
bad.065.INDEX_num_out_of_range.cue \
bad.066.INDEX_missing_offset.cue \
bad.067.INDEX_illegal_offset.cue \
bad.068.INDEX_cdda_illegal_offset.cue \
bad.069.nonzero_first_INDEX.cue \
bad.070.INDEX_offset_not_ascending_1.cue \
bad.071.INDEX_offset_not_ascending_2.cue \
bad.110.ISRC_multiple.cue \
bad.111.ISRC_wrong_place_1.cue \
bad.112.ISRC_wrong_place_2.cue \
bad.113.ISRC_missing_number.cue \
bad.114.ISRC_invalid_number.cue \
bad.130.TRACK_missing_INDEX_01_1.cue \
bad.131.TRACK_missing_INDEX_01_2.cue \
bad.132.TRACK_missing_INDEX_01_3.cue \
bad.133.TRACK_missing_INDEX_01_4.cue \
bad.134.TRACK_missing_number.cue \
bad.135.TRACK_invalid_number_1.cue \
bad.136.TRACK_invalid_number_2.cue \
bad.137.TRACK_cdda_out_of_range.cue \
bad.138.TRACK_num_non_sequential.cue \
bad.139.TRACK_missing_type.cue \
bad.140.no_TRACKs.cue \
bad.200.FLAC_leadin_missing_offset.cue \
bad.201.FLAC_leadin_illegal_offset.cue \
bad.202.FLAC_leadin_cdda_illegal_offset.cue \
bad.230.FLAC_leadout_multiple.cue \
bad.231.FLAC_leadout_missing_track.cue \
bad.232.FLAC_leadout_illegal_track.cue \
bad.233.FLAC_leadout_missing_offset.cue \
bad.234.FLAC_leadout_illegal_offset.cue \
bad.235.FLAC_leadout_offset_not_211680000.cue \
good.000.cue \
good.001.cue \
good.002.dos_format.cue \
good.003.missing_final_newline.cue \
good.004.dos_format.missing_final_newline.cue \
good.005.quoted.isrc.cue

View file

@ -0,0 +1,5 @@
CATALOG 1234567890123
CATALOG 0234567890123
FILE "z.wav" WAVE
TRACK 01 AUDIO
INDEX 01 00:00:00

View file

@ -0,0 +1,4 @@
CATALOG
FILE "z.wav" WAVE
TRACK 01 AUDIO
INDEX 01 00:00:00

View file

@ -0,0 +1,4 @@
CATALOG 1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
FILE "z.wav" WAVE
TRACK 01 AUDIO
INDEX 01 00:00:00

View file

@ -0,0 +1,4 @@
CATALOG 123456789012z
FILE "z.wav" WAVE
TRACK 01 AUDIO
INDEX 01 00:00:00

View file

@ -0,0 +1,5 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
FLAGS PRE
FLAGS 4CH
INDEX 01 00:00:00

View file

@ -0,0 +1,4 @@
FLAGS PRE
FILE "z.wav" WAVE
TRACK 01 AUDIO
INDEX 01 00:00:00

View file

@ -0,0 +1,4 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
INDEX 01 00:00:00
FLAGS PRE

View file

@ -0,0 +1,5 @@
FILE "z.wav" WAVE
INDEX 00 00:00:00
TRACK 01 AUDIO
FLAGS PRE
INDEX 01 00:00:00

View file

@ -0,0 +1,4 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
FLAGS PRE
INDEX

View file

@ -0,0 +1,4 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
FLAGS PRE
INDEX thhpt!

View file

@ -0,0 +1,4 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
FLAGS PRE
INDEX 02 00:00:00

View file

@ -0,0 +1,5 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
FLAGS PRE
INDEX 01 00:00:00
INDEX 00 00:00:00

View file

@ -0,0 +1,104 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
FLAGS PRE
INDEX 00 00:00:00
INDEX 01 02:10:15
INDEX 02 02:20:15
INDEX 03 02:30:15
INDEX 04 03:30:15
INDEX 05 03:31:15
INDEX 06 03:32:06
INDEX 07 03:32:07
INDEX 08 03:32:08
INDEX 09 03:32:09
INDEX 10 03:32:10
INDEX 11 03:32:11
INDEX 12 03:32:12
INDEX 13 03:32:13
INDEX 14 03:32:14
INDEX 15 03:32:15
INDEX 16 03:32:16
INDEX 17 03:32:17
INDEX 18 03:32:18
INDEX 19 03:32:19
INDEX 20 03:32:20
INDEX 21 03:32:21
INDEX 22 03:32:22
INDEX 23 03:32:23
INDEX 24 03:32:24
INDEX 25 03:32:25
INDEX 26 03:32:26
INDEX 27 03:32:27
INDEX 28 03:32:28
INDEX 29 03:32:29
INDEX 30 03:32:30
INDEX 31 03:32:31
INDEX 32 03:32:32
INDEX 33 03:32:33
INDEX 34 03:32:34
INDEX 35 03:32:35
INDEX 36 03:32:36
INDEX 37 03:32:37
INDEX 38 03:32:38
INDEX 39 03:32:39
INDEX 40 03:32:40
INDEX 41 03:32:41
INDEX 42 03:32:42
INDEX 43 03:32:43
INDEX 44 03:32:44
INDEX 45 03:32:45
INDEX 46 03:32:46
INDEX 47 03:32:47
INDEX 48 03:32:48
INDEX 49 03:32:49
INDEX 50 03:32:50
INDEX 51 03:32:51
INDEX 52 03:32:52
INDEX 53 03:32:53
INDEX 54 03:32:54
INDEX 55 03:32:55
INDEX 56 03:32:56
INDEX 57 03:32:57
INDEX 58 03:32:58
INDEX 59 03:32:59
INDEX 60 03:32:60
INDEX 61 03:32:61
INDEX 62 03:32:62
INDEX 63 03:32:63
INDEX 64 03:32:64
INDEX 65 03:32:65
INDEX 66 03:32:66
INDEX 67 03:32:67
INDEX 68 03:32:68
INDEX 69 03:32:69
INDEX 70 03:40:50
INDEX 71 03:40:51
INDEX 72 03:40:52
INDEX 73 03:40:53
INDEX 74 03:40:54
INDEX 75 03:40:55
INDEX 76 03:40:56
INDEX 77 03:40:57
INDEX 78 03:40:58
INDEX 79 03:40:59
INDEX 80 03:41:50
INDEX 81 03:41:51
INDEX 82 03:41:52
INDEX 83 03:41:53
INDEX 84 03:41:54
INDEX 85 03:41:55
INDEX 86 03:41:56
INDEX 87 03:41:57
INDEX 88 03:41:58
INDEX 89 03:41:59
INDEX 90 03:42:50
INDEX 91 03:42:51
INDEX 92 03:42:52
INDEX 93 03:42:53
INDEX 94 03:42:54
INDEX 95 03:42:55
INDEX 96 03:42:56
INDEX 97 03:42:57
INDEX 98 03:42:58
INDEX 99 03:42:59
INDEX 100 04:00:00

View file

@ -0,0 +1,4 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
FLAGS PRE
INDEX 01

View file

@ -0,0 +1,4 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
FLAGS PRE
INDEX 01 00:00.00

View file

@ -0,0 +1,4 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
FLAGS PRE
INDEX 01 588

View file

@ -0,0 +1,4 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
FLAGS PRE
INDEX 01 00:02:00

View file

@ -0,0 +1,5 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
INDEX 01 00:00:00
INDEX 02 00:02:00
INDEX 03 00:01:74

View file

@ -0,0 +1,6 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
INDEX 01 00:00:00
INDEX 02 00:02:00
TRACK 02 AUDIO
INDEX 01 00:01:74

View file

@ -0,0 +1,5 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
ISRC ABCDE1234567
ISRC ABCD01234567
INDEX 01 00:00:00

View file

@ -0,0 +1,4 @@
FILE "z.wav" WAVE
ISRC ABCD01234567
TRACK 01 AUDIO
INDEX 01 00:00:00

View file

@ -0,0 +1,4 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
INDEX 01 00:00:00
ISRC ABCD01234567

View file

@ -0,0 +1,4 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
ISRC
INDEX 01 00:00:00

View file

@ -0,0 +1,4 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
ISRC ABCD0123456Z
INDEX 01 00:00:00

View file

@ -0,0 +1,2 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO

View file

@ -0,0 +1,3 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
INDEX 00 00:00:00

View file

@ -0,0 +1,4 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
TRACK 02 AUDIO
INDEX 01 00:02:00

View file

@ -0,0 +1,5 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
INDEX 00 00:00:00
TRACK 02 AUDIO
INDEX 01 00:02:00

View file

@ -0,0 +1,2 @@
FILE "z.wav" WAVE
TRACK

View file

@ -0,0 +1,2 @@
FILE "z.wav" WAVE
TRACK thhpt! AUDIO

View file

@ -0,0 +1,2 @@
FILE "z.wav" WAVE
TRACK 0 AUDIO

View file

@ -0,0 +1,2 @@
FILE "z.wav" WAVE
TRACK 100 AUDIO

View file

@ -0,0 +1,6 @@
FILE "z.wav" WAVE
TRACK 01 AUDIO
INDEX 01 0:0:0
TRACK 02 AUDIO
INDEX 01 2:0:0
TRACK 01 AUDIO

View file

@ -0,0 +1,2 @@
FILE "z.wav" WAVE
TRACK 01

View file

@ -0,0 +1 @@
FILE "z.wav" WAVE

View file

@ -0,0 +1 @@
REM FLAC__lead-in

View file

@ -0,0 +1 @@
REM FLAC__lead-in thhpt!

View file

@ -0,0 +1 @@
REM FLAC__lead-in 123

View file

@ -0,0 +1,3 @@
REM FLAC__lead-in 88200
REM FLAC__lead-out 170 211680000
REM FLAC__lead-out 170 211680588

View file

@ -0,0 +1 @@
REM FLAC__lead-out

View file

@ -0,0 +1 @@
REM FLAC__lead-out thhpt!

View file

@ -0,0 +1 @@
REM FLAC__lead-out 170

View file

@ -0,0 +1 @@
REM FLAC__lead-out 170 thhpt!

View file

@ -0,0 +1 @@
REM FLAC__lead-out 170 211680588

View file

@ -0,0 +1,4 @@
CATALOG "1234567890123"
FILE "z.wav" WAVE
TRACK 01 AUDIO
INDEX 01 00:00:00

View file

@ -0,0 +1,184 @@
REM FLAC__lead-in 88200
REM FLAC__lead-out 170 211680000
CATALOG 1234567890123
FILE "z.wav" WAVE
TRACK 01 AUDIO
FLAGS PRE
INDEX 01 00:00:00
TRACK 02 AUDIO
FLAGS PRE
ISRC ABCDE7654321
INDEX 00 02:09:12
INDEX 01 02:10:15
INDEX 02 02:20:15
INDEX 03 02:30:15
INDEX 04 03:30:15
INDEX 05 03:31:15
INDEX 06 03:32:06
INDEX 07 03:32:07
INDEX 08 03:32:08
INDEX 09 03:32:09
INDEX 10 03:32:10
INDEX 11 03:32:11
INDEX 12 03:32:12
INDEX 13 03:32:13
INDEX 14 03:32:14
INDEX 15 03:32:15
INDEX 16 03:32:16
INDEX 17 03:32:17
INDEX 18 03:32:18
INDEX 19 03:32:19
INDEX 20 03:32:20
INDEX 21 03:32:21
INDEX 22 03:32:22
INDEX 23 03:32:23
INDEX 24 03:32:24
INDEX 25 03:32:25
INDEX 26 03:32:26
INDEX 27 03:32:27
INDEX 28 03:32:28
INDEX 29 03:32:29
INDEX 30 03:32:30
INDEX 31 03:32:31
INDEX 32 03:32:32
INDEX 33 03:32:33
INDEX 34 03:32:34
INDEX 35 03:32:35
INDEX 36 03:32:36
INDEX 37 03:32:37
INDEX 38 03:32:38
INDEX 39 03:32:39
INDEX 40 03:32:40
INDEX 41 03:32:41
INDEX 42 03:32:42
INDEX 43 03:32:43
INDEX 44 03:32:44
INDEX 45 03:32:45
INDEX 46 03:32:46
INDEX 47 03:32:47
INDEX 48 03:32:48
INDEX 49 03:32:49
INDEX 50 03:32:50
INDEX 51 03:32:51
INDEX 52 03:32:52
INDEX 53 03:32:53
INDEX 54 03:32:54
INDEX 55 03:32:55
INDEX 56 03:32:56
INDEX 57 03:32:57
INDEX 58 03:32:58
INDEX 59 03:32:59
INDEX 60 03:32:60
INDEX 61 03:32:61
INDEX 62 03:32:62
INDEX 63 03:32:63
INDEX 64 03:32:64
INDEX 65 03:32:65
INDEX 66 03:32:66
INDEX 67 03:32:67
INDEX 68 03:32:68
INDEX 69 03:32:69
INDEX 70 03:40:50
INDEX 71 03:40:51
INDEX 72 03:40:52
INDEX 73 03:40:53
INDEX 74 03:40:54
INDEX 75 03:40:55
INDEX 76 03:40:56
INDEX 77 03:40:57
INDEX 78 03:40:58
INDEX 79 03:40:59
INDEX 80 03:41:50
INDEX 81 03:41:51
INDEX 82 03:41:52
INDEX 83 03:41:53
INDEX 84 03:41:54
INDEX 85 03:41:55
INDEX 86 03:41:56
INDEX 87 03:41:57
INDEX 88 03:41:58
INDEX 89 03:41:59
INDEX 90 03:42:50
INDEX 91 03:42:51
INDEX 92 03:42:52
INDEX 93 03:42:53
INDEX 94 03:42:54
INDEX 95 03:42:55
INDEX 96 03:42:56
INDEX 97 03:42:57
INDEX 98 03:42:58
INDEX 99 03:42:59
TRACK 03 AUDIO
ISRC AB-CD7-65-43210
INDEX 00 04:50:12
INDEX 01 04:51:72
TRACK 04 AUDIO
INDEX 00 06:36:10
INDEX 01 06:38:47
TRACK 05 AUDIO
INDEX 00 08:34:45
INDEX 01 08:36:15
TRACK 06 AUDIO
INDEX 00 13:20:22
INDEX 01 13:22:12
TRACK 07 AUDIO
INDEX 00 16:08:20
INDEX 01 16:11:17
TRACK 08 AUDIO
INDEX 01 17:48:37
TRACK 09 AUDIO
INDEX 00 19:38:17
INDEX 01 19:39:30
TRACK 10 AUDIO
INDEX 00 22:07:07
INDEX 01 22:08:20
TRACK 11 AUDIO
INDEX 01 24:16:45
TRACK 12 AUDIO
INDEX 01 26:13:67
TRACK 13 AUDIO
INDEX 01 28:03:27
TRACK 14 AUDIO
INDEX 00 30:22:42
INDEX 01 30:24:45
TRACK 15 AUDIO
INDEX 00 34:06:22
INDEX 01 34:07:62
TRACK 16 AUDIO
INDEX 00 35:54:30
INDEX 01 35:56:60
TRACK 17 AUDIO
INDEX 00 38:49:10
INDEX 01 38:51:22
TRACK 18 AUDIO
INDEX 00 41:14:15
INDEX 01 41:17:15
TRACK 19 AUDIO
INDEX 00 44:27:15
INDEX 01 44:28:45
TRACK 20 AUDIO
INDEX 00 48:07:17
INDEX 01 48:09:72
TRACK 21 AUDIO
INDEX 00 50:48:05
INDEX 01 50:49:27
TRACK 22 AUDIO
INDEX 00 53:29:72
INDEX 01 53:31:20
TRACK 23 AUDIO
INDEX 00 57:57:60
INDEX 01 58:00:40
TRACK 24 AUDIO
INDEX 00 61:52:65
INDEX 01 61:55:37
TRACK 25 AUDIO
INDEX 00 65:07:50
INDEX 01 65:10:52
TRACK 26 AUDIO
INDEX 00 68:30:05
INDEX 01 68:32:45
TRACK 27 AUDIO
INDEX 01 71:45:17
TRACK 28 AUDIO
INDEX 00 74:49:07
INDEX 01 74:51:47

View file

@ -0,0 +1,4 @@
CATALOG "1234567890123"
FILE "z.wav" WAVE
TRACK 01 AUDIO
INDEX 01 00:00:00

View file

@ -0,0 +1,4 @@
CATALOG "1234567890123"
FILE "z.wav" WAVE
TRACK 01 AUDIO
INDEX 01 00:00:00

View file

@ -0,0 +1,4 @@
CATALOG "1234567890123"
FILE "z.wav" WAVE
TRACK 01 AUDIO
INDEX 01 00:00:00

View file

@ -0,0 +1,6 @@
TRACK 01 AUDIO
TITLE "Foo"
PERFORMER "Bar"
DISC_ID ""
ISRC "US-SM1-23-45678"
INDEX 01 00:00:00

View file

@ -0,0 +1,49 @@
# 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 = \
case00a-expect.meta \
case01a-expect.meta \
case01b-expect.meta \
case01c-expect.meta \
case01d-expect.meta \
case01e-expect.meta \
case02a-expect.meta \
case02b-expect.meta \
case02c-expect.meta \
case03a-expect.meta \
case03b-expect.meta \
case03c-expect.meta \
case04a-expect.meta \
case04b-expect.meta \
case04c-expect.meta \
case04d-expect.meta \
case04e-expect.meta \
input-SCPAP.flac \
input-SCVA.flac \
input-SCVAUP.flac \
input-SCVPAP.flac \
input-SVAUP.flac \
input-VA.flac \
🤔.flac \
Prøve.flac \
שלום.flac \
input0.cue
clean-local:
-rm -f out.*

View file

@ -0,0 +1,7 @@
CATALOG 9294969890929
FILE "blah" FLAC
TRACK 01 AUDIO
INDEX 01 00:00:00
TRACK 02 AUDIO
INDEX 01 00:00:01
INDEX 02 00:00:05

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,90 @@
# 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 = \
case00-expect.meta \
case01-expect.meta \
case02-expect.meta \
case03-expect.meta \
case04-expect.meta \
case05-expect.meta \
case06-expect.meta \
case07-expect.meta \
case08-expect.meta \
case09-expect.meta \
case10-expect.meta \
case11-expect.meta \
case12-expect.meta \
case13-expect.meta \
case14-expect.meta \
case15-expect.meta \
case16-expect.meta \
case17-expect.meta \
case18-expect.meta \
case19-expect.meta \
case20-expect.meta \
case21-expect.meta \
case22-expect.meta \
case23-expect.meta \
case24-expect.meta \
case25-expect.meta \
case26-expect.meta \
case27-expect.meta \
case28-expect.meta \
case29-expect.meta \
case30-expect.meta \
case31-expect.meta \
case32-expect.meta \
case33-expect.meta \
case34-expect.meta \
case35-expect.meta \
case36-expect.meta \
case37-expect.meta \
case38-expect.meta \
case39-expect.meta \
case40-expect.meta \
case41-expect.meta \
case42-expect.meta \
case43-expect.meta \
case44-expect.meta \
case45-expect.meta \
case46-expect.meta \
case47-expect.meta \
case48-expect.meta \
case49-expect.meta \
case50-expect.meta \
case51-expect.meta \
case52-expect.meta \
case53-expect.meta \
case54-expect.meta \
case55-expect.meta \
case56-expect.meta \
case57-expect.meta \
case58-expect.meta \
case59-expect.meta \
case60-expect.meta \
case61-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.*

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,42 @@
+++ grabbag unit test: picture
testing grabbag__picture_parse_specification("")... OK (failed as expected, error: error opening picture file)
testing grabbag__picture_parse_specification("||||")... OK (failed as expected: error opening picture file)
testing grabbag__picture_parse_specification("|image/gif|||")... OK (failed as expected: error opening picture file)
testing grabbag__picture_parse_specification("|image/gif|desc|320|0.gif")... OK (failed as expected: invalid picture specification: can't parse resolution/color part)
testing grabbag__picture_parse_specification("|image/gif|desc|320x240|0.gif")... OK (failed as expected: invalid picture specification: can't parse resolution/color part)
testing grabbag__picture_parse_specification("|image/gif|desc|320x240x9|")... OK (failed as expected: error opening picture file)
testing grabbag__picture_parse_specification("|image/gif|desc|320x240x9/2345|0.gif")... OK (failed as expected: invalid picture specification: can't parse resolution/color part)
testing grabbag__picture_parse_specification("1|-->|desc|32x24x9|0.gif")... OK (failed as expected: type 1 icon must be a 32x32 pixel PNG)
testing grabbag__picture_parse_specification("|-->|desc||http://blah.blah.blah/z.gif")... OK (failed as expected: unable to extract resolution and color info from URL, user must set explicitly)
testing grabbag__picture_parse_specification("|-->|desc|320x240x9|http://blah.blah.blah/z.gif")... OK
testing grabbag__picture_parse_specification("pictures/0.gif")... OK
testing grabbag__picture_parse_specification("pictures/1.gif")... OK
testing grabbag__picture_parse_specification("pictures/2.gif")... OK
testing grabbag__picture_parse_specification("pictures/0.jpg")... OK
testing grabbag__picture_parse_specification("pictures/4.jpg")... OK
testing grabbag__picture_parse_specification("pictures/0.png")... OK
testing grabbag__picture_parse_specification("pictures/1.png")... OK
testing grabbag__picture_parse_specification("pictures/2.png")... OK
testing grabbag__picture_parse_specification("pictures/3.png")... OK
testing grabbag__picture_parse_specification("pictures/4.png")... OK
testing grabbag__picture_parse_specification("pictures/5.png")... OK
testing grabbag__picture_parse_specification("pictures/6.png")... OK
testing grabbag__picture_parse_specification("pictures/7.png")... OK
testing grabbag__picture_parse_specification("pictures/8.png")... OK
testing grabbag__picture_parse_specification("3|image/gif|||pictures/0.gif")... OK
testing grabbag__picture_parse_specification("4|image/gif|||pictures/1.gif")... OK
testing grabbag__picture_parse_specification("0|image/gif|||pictures/2.gif")... OK
testing grabbag__picture_parse_specification("3|image/jpeg|||pictures/0.jpg")... OK
testing grabbag__picture_parse_specification("3|image/jpeg|||pictures/4.jpg")... OK
testing grabbag__picture_parse_specification("3|image/png|||pictures/0.png")... OK
testing grabbag__picture_parse_specification("3|image/png|||pictures/1.png")... OK
testing grabbag__picture_parse_specification("3|image/png|||pictures/2.png")... OK
testing grabbag__picture_parse_specification("3|image/png|||pictures/3.png")... OK
testing grabbag__picture_parse_specification("3|image/png|||pictures/4.png")... OK
testing grabbag__picture_parse_specification("3|image/png|||pictures/5.png")... OK
testing grabbag__picture_parse_specification("3|image/png|||pictures/6.png")... OK
testing grabbag__picture_parse_specification("3|image/png|||pictures/7.png")... OK
testing grabbag__picture_parse_specification("999|image/png|||pictures/8.png")... OK
testing grabbag__picture_parse_specification("3|image/gif||320x240x3/2|pictures/0.gif")... OK

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 446 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 871 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 532 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 567 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 543 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 244 B

View file

@ -0,0 +1,33 @@
# 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 = \
0.gif \
0.jpg \
0.png \
1.gif \
1.png \
2.gif \
2.png \
3.png \
4.jpg \
4.png \
5.png \
6.png \
7.png \
8.png

View file

@ -0,0 +1,46 @@
#!/bin/sh -e
# FLAC - Free Lossless Audio Codec
# 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
# 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/flac:$PATH"
printf "Using FLAC binary : %s\n" "$(which flac)"
date="$(date "+%Y%m%dT%H%M%S")"
fname="comp${date}.flac"
last_k=0
last_size=$(wc -c < noisy-sine.wav)
echo "Original file size ${last_size} bytes."
for k in 0 1 2 3 4 5 6 7 8 ; do
flac${EXE} -${k} --silent noisy-sine.wav -o ${fname}
size=$(wc -c < ${fname})
echo "Compression level ${k}, file size ${size} bytes."
if test ${last_size} -lt ${size} ; then
echo "Error : Compression ${last_k} size ${last_size} >= compression ${k} size ${size}."
exit 1
fi
# Need this because OSX's 'wc -c' returns a number with leading whitespace.
last_size=$((size+10))
last_k=${k}
rm -f ${fname}
done

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,128 @@
#!/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=../src/test_grabbag/cuesheet:$PATH
PATH=../src/test_grabbag/picture:$PATH
PATH=../objs/$BUILD/bin:$PATH
test_cuesheet -h 1>/dev/null 2>/dev/null || die "ERROR can't find test_cuesheet executable"
test_picture -h 1>/dev/null 2>/dev/null || die "ERROR can't find test_picture executable"
run_test_cuesheet ()
{
if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=50 test_cuesheet $*" >>test_grabbag.valgrind.log
valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 test_cuesheet${EXE} $* 4>>test_grabbag.valgrind.log
else
test_cuesheet${EXE} $*
fi
}
run_test_picture ()
{
if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
echo "valgrind --leak-check=yes --show-reachable=yes --num-callers=50 test_picture $*" >>test_grabbag.valgrind.log
valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 test_picture${EXE} $* 4>>test_grabbag.valgrind.log
else
test_picture${EXE} $*
fi
}
########################################################################
#
# test_picture
#
########################################################################
log=picture.log
picture_dir=${top_srcdir}/test/pictures
echo "Running test_picture..."
rm -f $log
run_test_picture $picture_dir >> $log 2>&1
if [ $is_win = yes ] ; then
diff -w ${top_srcdir}/test/picture.ok $log > picture.diff || die "Error: .log file does not match .ok file, see picture.diff"
else
diff ${top_srcdir}/test/picture.ok $log > picture.diff || die "Error: .log file does not match .ok file, see picture.diff"
fi
echo "PASSED (results are in $log)"
########################################################################
#
# test_cuesheet
#
########################################################################
log=cuesheet.log
bad_cuesheets=${top_srcdir}/test/cuesheets/bad.*.cue
good_cuesheets=${top_srcdir}/test/cuesheets/good.*.cue
good_leadout=$((80 * 60 * 44100))
bad_leadout=$((good_leadout + 1))
echo "Running test_cuesheet..."
rm -f $log
#
# negative tests
#
for cuesheet in $bad_cuesheets ; do
echo "NEGATIVE $cuesheet" | sed "s|${top_srcdir}/test/||" >> $log 2>&1
run_test_cuesheet $cuesheet $good_leadout 44100 cdda >> $log 2>&1 || exit_code=$?
if [ "$exit_code" = 255 ] ; then
die "Error: test script is broken"
fi
cuesheet_pass1=${cuesheet}.1
cuesheet_pass2=${cuesheet}.2
rm -f $cuesheet_pass1 $cuesheet_pass2
done
#
# positive tests
#
for cuesheet in $good_cuesheets ; do
echo "POSITIVE $cuesheet" | sed "s|${top_srcdir}/test/||" >> $log 2>&1
run_test_cuesheet $cuesheet $good_leadout 44100 cdda >> $log 2>&1
exit_code=$?
if [ "$exit_code" = 255 ] ; then
die "Error: test script is broken"
elif [ "$exit_code" != 0 ] ; then
die "Error: good cuesheet is broken"
fi
cuesheet_out=$(echo $cuesheet | sed "s|${top_srcdir}/test/||")
cuesheet_pass1=${cuesheet_out}.1
cuesheet_pass2=${cuesheet_out}.2
diff $cuesheet_pass1 $cuesheet_pass2 >> $log 2>&1 || die "Error: pass1 and pass2 output differ"
rm -f $cuesheet_pass1 $cuesheet_pass2
done
if [ $is_win = yes ] ; then
diff -w ${top_srcdir}/test/cuesheet.ok $log > cuesheet.diff || die "Error: .log file does not match .ok file, see cuesheet.diff"
else
diff ${top_srcdir}/test/cuesheet.ok $log > cuesheet.diff || die "Error: .log file does not match .ok file, see cuesheet.diff"
fi
echo "PASSED (results are in $log)"

View file

@ -0,0 +1,35 @@
#!/bin/sh -e
# FLAC - Free Lossless Audio Codec
# Copyright (C) 2002-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=../src/test_libFLAC++:$PATH
PATH=../objs/$BUILD/bin:$PATH
run_test_libFLACpp ()
{
if [ "$FLAC__TEST_WITH_VALGRIND" = yes ] ; then
valgrind --leak-check=yes --show-reachable=yes --num-callers=50 --log-fd=4 test_libFLAC++${EXE} $* 4>>test_libFLAC++.valgrind.log
else
test_libFLAC++${EXE} $*
fi
}
run_test_libFLACpp "$@" || die "ERROR during test_libFLAC++"

Some files were not shown because too many files have changed in this diff Show more