cmake_uninstall.cmake.in
author Sam Lantinga
Sat, 08 Jun 2019 18:22:18 -0700
changeset 12803 70d338e248c8
parent 11605 b914622c734e
permissions -rw-r--r--
Fixed bug 4294 - Audio: perform more validation on conversion request

janisozaur

There are many cases which are not able to be handled by SDL's audio conversion routines, including too low (negative) rate, too high rate (impossible to allocate).

This patch aims to report such issues early and handle others in a graceful manner. The "INT32_MAX / RESAMPLER_SAMPLES_PER_ZERO_CROSSING" value is the conservative approach in terms of what can _technically_ be supported, but its value is 4'194'303, or just shy of 4.2MHz. I highly doubt any sane person would use such rates, especially in SDL2, so I would like to drive this limit further down, but would need some assistance to do that, as doing so would have to introduce an arbitrary value. Are you OK with such approach? What would a good value be? Wikipedia (https://en.wikipedia.org/wiki/High-resolution_audio) lists 96kHz as the highest sampling rate in use, even if I quadruple it for a good measure, to 384kHz it's still an order of magnitude lower than 4MHz.
slouken@11605
     1
if (NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt")
slouken@11605
     2
    message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_BINARY_DIR@/install_manifest.txt\"")
slouken@11605
     3
endif(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt")
wander@8874
     4
slouken@11605
     5
file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files)
wander@8874
     6
string(REGEX REPLACE "\n" ";" files "${files}")
wander@8874
     7
foreach (file ${files})
wander@8874
     8
    message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
wander@8874
     9
    execute_process(
wander@8874
    10
        COMMAND @CMAKE_COMMAND@ -E remove "$ENV{DESTDIR}${file}"
wander@8874
    11
        OUTPUT_VARIABLE rm_out
wander@8874
    12
        RESULT_VARIABLE rm_retval
wander@8874
    13
    )
wander@8874
    14
    if(NOT ${rm_retval} EQUAL 0)
wander@8874
    15
        message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
wander@8874
    16
    endif (NOT ${rm_retval} EQUAL 0)
wander@8874
    17
endforeach(file)
wander@8874
    18