Link fdk-aac.

This commit is contained in:
Fancy code 2024-06-24 19:54:10 +08:00
parent fa360ed2ac
commit cf16b8bca8
17 changed files with 39 additions and 20 deletions

View File

@ -164,6 +164,9 @@ set(MAIN_SRC_FILE "" CACHE STRING INTERNAL)
unset(MAIN_LINK_LIB CACHE)
set(MAIN_LINK_LIB "" CACHE STRING INTERNAL)
unset(EXTERNAL_LIBS_PATH CACHE)
set(EXTERNAL_LIBS_PATH "" CACHE STRING INTERNAL)
# Config message for test code.
unset(TEST_LINK_LIB CACHE)
set(TEST_LINK_LIB "" CACHE STRING INTERNAL)

View File

@ -10,8 +10,7 @@ include_directories(
link_directories(
${LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig/lib
${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg/lib
${EXTERNAL_LIBS_PATH}
)
aux_source_directory(. SRC_FILES)

View File

@ -1,14 +1,15 @@
include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake)
set(FFMPEG_INSTALL_PATH "${EXTERNAL_LIBS_OUTPUT_PATH}/fdk-aac")
set(FDK_AAC_INSTALL_PATH "${EXTERNAL_LIBS_OUTPUT_PATH}/fdk-aac")
set(EXTERNAL_LIBS_PATH "${EXTERNAL_LIBS_PATH};${FDK_AAC_INSTALL_PATH}/lib" CACHE STRING INTERNAL FORCE)
message("Compile fdk-aac cmake config files : ${PLATFORM_PATH}/build/cmake/toolchain/linux.toolchain.cmake")
add_custom_target(
fdk-aac
fdk_aac
COMMAND echo "Now compile fdk-aac, please wait..."
COMMAND test -f ${EXTERNAL_SOURCE_PATH}/fdk-aac/fdk-aac-2.0.3/CMakeLists.txt || tar -xf fdk-aac-2.0.3.tar.gz
COMMAND chmod 777 -R fdk-aac-2.0.3
COMMAND test -f ${EXTERNAL_SOURCE_PATH}/fdk-aac/fdk-aac-2.0.3/build/Makefile || mkdir fdk-aac-2.0.3/build
COMMAND cd fdk-aac-2.0.3/build && cmake ../ -DCMAKE_TOOLCHAIN_FILE=${PLATFORM_PATH}/build/cmake/toolchain/linux.toolchain.cmake
-DCMAKE_INSTALL_PREFIX=${FFMPEG_INSTALL_PATH} -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF
-DCMAKE_INSTALL_PREFIX=${FDK_AAC_INSTALL_PATH} -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF
COMMAND cd fdk-aac-2.0.3/build && make
COMMAND cd fdk-aac-2.0.3/build && make install
COMMAND cd fdk-aac-2.0.3/build && make clean

View File

@ -1,4 +1,5 @@
set(FFMPEG_INSTALL_PATH "${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg")
set(EXTERNAL_LIBS_PATH "${EXTERNAL_LIBS_PATH};${FFMPEG_INSTALL_PATH}/lib" CACHE STRING INTERNAL FORCE)
find_program(NASM nasm)
if(NOT NASM)
message("nasm not found. Now install.")
@ -8,7 +9,7 @@ if(${TARGET_PLATFORM} MATCHES ${DEFINE_LINUX})
set(CONFIGURE_COMMAND "--enable-cross-compile --target-os=linux --arch=x86_64 \
--cc=${CMAKE_C_COMPILER} \
--cxx=${CMAKE_CXX_COMPILER} \
--prefix=${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg \
--prefix=${FFMPEG_INSTALL_PATH} \
--enable-parsers --enable-decoder=h264 --enable-libfdk-aac \
--enable-ffmpeg --enable-static \
--enable-gpl --enable-nonfree --enable-version3 --enable-small \
@ -23,7 +24,7 @@ else()
set(CONFIGURE_COMMAND "--enable-cross-compile --target-os=linux --arch=arm64 \
--cc=${CMAKE_C_COMPILER} \
--cxx=${CMAKE_CXX_COMPILER} \
--prefix=${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg \
--prefix=${FFMPEG_INSTALL_PATH} \
--disable-asm --enable-parsers --disable-decoders --enable-decoder=h264 --enable-libfdk-aac \
--disable-debug --enable-ffmpeg --enable-shared --enable-static --disable-stripping --disable-doc \
--enable-gpl --enable-nonfree --enable-version3 --enable-small \
@ -45,7 +46,7 @@ endif()
message("Compile ffmpeg comand : ${CONFIGURE_COMMAND}")
add_custom_target(
ffmpeg
DEPENDS fdk-aac
DEPENDS fdk_aac
COMMAND echo "Now compile ffmpeg, please wait..."
COMMAND test -f ${EXTERNAL_SOURCE_PATH}/ffmpeg/ffmpeg-6.1.1/Makefile || tar -xf ffmpeg_6.1.1.orig.tar.xz
COMMAND chmod 777 -R ffmpeg-6.1.1

View File

@ -5,6 +5,7 @@ else()
set(CONFIGURE_COMMAND "--host=${COMPILE_HOST} --disable-cxx --enable-static=yes --prefix=${LIBCONFIG_INSTALL_PATH}")
endif()
message("Compile libconfig comand : ${CONFIGURE_COMMAND}")
set(EXTERNAL_LIBS_PATH "${EXTERNAL_LIBS_PATH};${LIBCONFIG_INSTALL_PATH}/lib" CACHE STRING INTERNAL FORCE)
add_custom_target(
libconfig
COMMAND test -f ${EXTERNAL_SOURCE_PATH}/libconfig-1.7.3/Makefile || tar zxvf libconfig-1.7.3.tar.gz

View File

@ -16,7 +16,7 @@ include_directories(
link_directories(
${LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig/lib
${EXTERNAL_LIBS_PATH}
)
aux_source_directory(. SRC_FILES)

View File

@ -33,8 +33,7 @@ include_directories(
link_directories(
${LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig/lib
${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg/lib
${EXTERNAL_LIBS_PATH}
)
aux_source_directory(. SRC_FILES_MAIN)

View File

@ -52,4 +52,18 @@ TEST_F(HuntingCameraTest, INTEGRATION_HunttingCamera_EXAMPLE_MediaTask)
HalTestTool::MockKeyClick("reset", 200); // Simulate pressing a button.
MainThread::GetInstance()->Runing();
}
// ../output_files/test/bin/HuntingCameraTest
// --gtest_filter=HuntingCameraTest.INTEGRATION_HunttingCamera_EXAMPLE_MediaTask_No_sdcard
TEST_F(HuntingCameraTest, INTEGRATION_HunttingCamera_EXAMPLE_MediaTask_No_sdcard)
{
McuManagerTestTool::MockOtherSideIpcMissionReply(IpcMission::TEST);
SetAllCamerasResult(mAllCamerasMock);
MockSdCardRemove(mLinuxTest);
std::this_thread::sleep_for(std::chrono::milliseconds(100));
MainThread::GetInstance()->Init();
TestManager::ResetTimeOut(1000 * 15);
std::this_thread::sleep_for(std::chrono::milliseconds(100));
HalTestTool::MockKeyClick("reset", 200); // Simulate pressing a button.
MainThread::GetInstance()->Runing();
}
} // namespace MediaManager_Mock_Test

View File

@ -12,7 +12,7 @@ include_directories(
link_directories(
${LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg/lib
${EXTERNAL_LIBS_PATH}
)
aux_source_directory(. SRC_FILES)

View File

@ -25,7 +25,7 @@ include_directories(
link_directories(
${LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg/lib
${EXTERNAL_LIBS_PATH}
)
aux_source_directory(. SRC_FILES_MAIN)

View File

@ -23,7 +23,7 @@ include_directories(
link_directories(
${LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg/lib
${EXTERNAL_LIBS_PATH}
)
aux_source_directory(. SRC_FILES_MAIN)

View File

@ -23,7 +23,7 @@ include_directories(
link_directories(
${LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig/lib
${EXTERNAL_LIBS_PATH}
)
aux_source_directory(. SRC_FILES_MAIN)

View File

@ -24,7 +24,7 @@ include_directories(
link_directories(
${LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg/lib
${EXTERNAL_LIBS_PATH}
)
aux_source_directory(. SRC_FILES_MAIN)

View File

@ -15,7 +15,7 @@ include_directories(
link_directories(
${LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}/libconfig/lib
${EXTERNAL_LIBS_PATH}
)
aux_source_directory(. SRC_FILES)

View File

@ -15,7 +15,7 @@ include_directories(
link_directories(
${LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}
${EXTERNAL_LIBS_OUTPUT_PATH}/ffmpeg/lib
${EXTERNAL_LIBS_PATH}
)
aux_source_directory(. SRC_FILES)

View File

@ -1,4 +1,5 @@
all:
@sudo add-apt-repository --remove ppa:george-edison55/cmake-3.x
@sudo apt-get update
@sudo apt-get install openssl
@sudo apt-get install libssl-dev

View File

@ -21,9 +21,9 @@ set(TARGET_NAME MediaBase)
add_library(${TARGET_NAME} STATIC ${SRC_FILES})
if(${TARGET_PLATFORM} MATCHES ${DEFINE_LINUX})
target_link_libraries(${TARGET_NAME} avformat avcodec avutil swresample avdevice avfilter swscale postproc z StatusCode Log)
target_link_libraries(${TARGET_NAME} avformat avcodec avutil swresample avdevice avfilter swscale postproc fdk-aac z StatusCode Log)
else()
target_link_libraries(${TARGET_NAME} avformat avcodec avutil swresample avdevice avfilter swscale postproc StatusCode Log)
target_link_libraries(${TARGET_NAME} avformat avcodec avutil swresample avdevice avfilter swscale postproc fdk-aac StatusCode Log)
endif()
add_custom_target(