File welle-io-fdk-aac.patch of Package welle-io
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5e0ef762..208ad4e7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -24,10 +24,10 @@ option(AIRSPY "Compile with Airspy support" OFF )
option(RTLSDR "Compile with RTL-SDR support" OFF )
option(SOAPYSDR "Compile with SoapySDR support" OFF )
option(FLAC "Compile with flac support for streaming" OFF )
+option(FDK_AAC "Use FDK-AAC instead of FAAD" OFF )
add_definitions(-Wall)
add_definitions(-g)
-add_definitions(-DDABLIN_AAC_FAAD2)
if(MINGW)
add_definitions(-municode)
@@ -94,7 +94,21 @@ if(NOT ANDROID)
set(fft_sources "")
set(KISS_INCLUDE_DIRS "")
endif()
- find_package(Faad REQUIRED)
+ if (FDK_AAC)
+ find_package(FdkAac REQUIRED)
+ if (FDKAAC_FOUND)
+ add_definitions(-DDABLIN_AAC_FDKAAC)
+ set(AAC_LIBRARIES ${FDKAAC_LIBRARIES})
+ set(AAC_INCLUDE_DIRS ${FDKAAC_INCLUDE_DIRS})
+ endif()
+ else()
+ find_package(Faad REQUIRED)
+ if (FAAD_FOUND)
+ add_definitions(-DDABLIN_AAC_FAAD2)
+ set(AAC_LIBRARIES ${FAAD_LIBRARIES})
+ set(AAC_INCLUDE_DIRS ${FAAD_INCLUDE_DIRS})
+ endif()
+ endif()
find_package(MPG123 REQUIRED)
else()
# For KISSFFT
@@ -141,6 +155,7 @@ else()
)
# For FAAD
+ add_definitions(-DDABLIN_AAC_FAAD2)
add_definitions(-DHAVE_CONFIG_H)
include_directories(
src/libs/faad2
@@ -215,7 +230,7 @@ include_directories(
src/libs/fec
${FFTW3F_INCLUDE_DIRS}
${KISS_INCLUDE_DIRS}
- ${FAAD_INCLUDE_DIRS}
+ ${AAC_INCLUDE_DIRS}
${LIBRTLSDR_INCLUDE_DIRS}
${SoapySDR_INCLUDE_DIRS}
${FLACPP_INCLUDE_DIRS}
@@ -416,7 +431,7 @@ if(BUILD_WELLE_IO)
${LIBRTLSDR_LIBRARIES}
${LIBAIRSPY_LIBRARIES}
${FFTW3F_LIBRARIES}
- ${FAAD_LIBRARIES}
+ ${AAC_LIBRARIES}
${SoapySDR_LIBRARIES}
${MPG123_LIBRARIES}
Threads::Threads
@@ -477,7 +492,7 @@ if(BUILD_WELLE_CLI AND NOT ANDROID)
${LIBRTLSDR_LIBRARIES}
${LIBAIRSPY_LIBRARIES}
${FFTW3F_LIBRARIES}
- ${FAAD_LIBRARIES}
+ ${AAC_LIBRARIES}
${ALSA_LIBRARIES}
${LAME_LIBRARIES}
${SoapySDR_LIBRARIES}
diff --git a/cmake/Modules/FindFdkAac.cmake b/cmake/Modules/FindFdkAac.cmake
new file mode 100644
index 00000000..12b79243
--- /dev/null
+++ b/cmake/Modules/FindFdkAac.cmake
@@ -0,0 +1,34 @@
+# Try to find FDKAAC library and include path.
+# Once done this will define
+#
+# FDKAAC_INCLUDE_DIRS - where to find faad.h, etc.
+# FDKAAC_LIBRARIES - List of libraries when using libfaad.
+# FDKAAC_FOUND - True if libfaad found.
+
+find_path(FDKAAC_INCLUDE_DIR fdk-aac/aacdecoder_lib.h DOC "The directory where fdk-aac/aacdecoder_lib.h resides")
+find_library(FDKAAC_LIBRARY NAMES fdk-aac DOC "The libfdk-aac library")
+
+if(FDKAAC_INCLUDE_DIR AND FDKAAC_LIBRARY)
+ set(FDKAAC_FOUND 1)
+ set(FDKAAC_LIBRARIES ${FDKAAC_LIBRARY})
+ set(FDKAAC_INCLUDE_DIRS ${FDKAAC_INCLUDE_DIR})
+else(FDKAAC_INCLUDE_DIR AND FDKAAC_LIBRARY)
+ set(FDKAAC_FOUND 0)
+ set(FDKAAC_LIBRARIES)
+ set(FDKAAC_INCLUDE_DIRS)
+endif(FDKAAC_INCLUDE_DIR AND FDKAAC_LIBRARY)
+
+mark_as_advanced(FDKAAC_INCLUDE_DIR)
+mark_as_advanced(FDKAAC_LIBRARY)
+mark_as_advanced(FDKAAC_FOUND)
+
+if(NOT FDKAAC_FOUND)
+ set(FDKAAC_DIR_MESSAGE "libfaad was not found. Make sure FDKAAC_LIBRARY and FDKAAC_INCLUDE_DIR are set.")
+ if(NOT FDKAAC_FIND_QUIETLY)
+ message(STATUS "${FDKAAC_DIR_MESSAGE}")
+ else(NOT FDKAAC_FIND_QUIETLY)
+ if(FDKAAC_FIND_REQUIRED)
+ message(FATAL_ERROR "${FDKAAC_DIR_MESSAGE}")
+ endif(FDKAAC_FIND_REQUIRED)
+ endif(NOT FDKAAC_FIND_QUIETLY)
+endif(NOT FDKAAC_FOUND)
diff --git a/src/backend/subchannel_sink.h b/src/backend/subchannel_sink.h
index 826c9d22..4d234430 100644
--- a/src/backend/subchannel_sink.h
+++ b/src/backend/subchannel_sink.h
@@ -52,6 +52,7 @@ public:
virtual void ProcessPAD(const uint8_t* /*xpad_data*/, size_t /*xpad_len*/, bool /*exact_xpad_len*/, const uint8_t* /*fpad_data*/) {}
virtual void AudioError(const std::string& /*hint*/) {}
+ virtual void AudioWarning(const std::string& /*hint*/) {}
virtual void ACCFrameError(const unsigned char /* error*/) {}
virtual void FECInfo(int /*total_corr_count*/, bool /*uncorr_errors*/) {}
};