Limit rate to 96kHz in 32 bits mode + CMakeLists correction

@sle118, le tme know if the CMakeLists works for you as well. I pushed this one as I was pushing other stuff anyway
This commit is contained in:
Philippe G
2021-03-28 13:54:45 -07:00
parent 361cc08e3c
commit 22c2044f17
2 changed files with 15 additions and 6 deletions

View File

@@ -30,10 +30,15 @@ set_source_files_properties(flac.c
)
add_definitions(-DLINKALL -DLOOPBACK -DNO_FAAD -DEMBEDDED -DTREMOR_ONLY -DCUSTOM_VERSION=${BUILD_NUMBER})
if(DEFINED DEPTH AND ${DEPTH} EQUAL "32")
add_definitions(-DBYTES_PER_FRAME=8)
else()
add_definitions(-DRESAMPLE16 -DBYTES_PER_FRAME=4)
endif()
if(NOT DEFINED DEPTH)
set(DEPTH "16")
endif()
if (${DEPTH} EQUAL "32")
add_definitions(-DBYTES_PER_FRAME=8)
else()
add_definitions(-DRESAMPLE16 -DBYTES_PER_FRAME=4)
endif()
add_compile_options (-O3 )

View File

@@ -114,7 +114,11 @@ void set_volume(unsigned left, unsigned right) {
bool test_open(const char *device, unsigned rates[], bool userdef_rates) {
memset(rates, 0, MAX_SUPPORTED_SAMPLERATES * sizeof(unsigned));
if (!strcasecmp(device, "I2S")) {
unsigned _rates[] = { 192000, 176400, 96000, 88200, 48000,
unsigned _rates[] = {
#if BYTES_PER_FRAME == 4
192000, 176400,
#endif
96000, 88200, 48000,
44100, 32000, 24000, 22050, 16000,
12000, 11025, 8000, 0 };
memcpy(rates, _rates, sizeof(_rates));