refactor(streamer): adopt proxy backends and typed statuses

This commit is contained in:
2026-03-10 23:29:59 +08:00
parent 6af97ee5d3
commit 0ad6887095
22 changed files with 1686 additions and 275 deletions
+11 -1
View File
@@ -28,7 +28,7 @@ if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/lib/CLI11/CMakeLists.txt")
add_subdirectory("${CMAKE_CURRENT_LIST_DIR}/lib/CLI11" "${CMAKE_CURRENT_BINARY_DIR}/vendor/cli11")
endif()
pkg_check_modules(FFMPEG REQUIRED IMPORTED_TARGET libavcodec libavutil libswscale)
pkg_check_modules(FFMPEG REQUIRED IMPORTED_TARGET libavcodec libavformat libavutil libswscale)
pkg_check_modules(PROTOBUF_PKG QUIET IMPORTED_TARGET protobuf)
pkg_check_modules(ZSTD REQUIRED IMPORTED_TARGET libzstd)
pkg_check_modules(LZ4 REQUIRED IMPORTED_TARGET liblz4)
@@ -50,6 +50,11 @@ if (NOT TARGET cvmmap::client)
endif()
endif()
set(CVMMAP_PROXY_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/lib/proxy/include")
if (NOT EXISTS "${CVMMAP_PROXY_INCLUDE_DIR}/proxy/proxy.h")
message(FATAL_ERROR "proxy headers not found at ${CVMMAP_PROXY_INCLUDE_DIR}")
endif()
set(CVMMAP_STREAMER_HAS_GSTREAMER 0)
if (ENABLE_GSTREAMER_LEGACY)
pkg_check_modules(GSTREAMER IMPORTED_TARGET gstreamer-1.0>=1.14 gstreamer-video-1.0>=1.14 gstreamer-app-1.0>=1.14)
@@ -95,6 +100,7 @@ add_library(cvmmap_streamer_common STATIC
src/protocol/wire_codec.cpp
src/metrics/latency_tracker.cpp
src/pipeline/pipeline_runtime.cpp
src/protocol/rtmp_output.cpp
src/protocol/rtmp_publisher.cpp
src/protocol/rtp_publisher.cpp
src/encode/encoder_backend.cpp
@@ -109,6 +115,7 @@ target_include_directories(cvmmap_streamer_common
"${CMAKE_CURRENT_LIST_DIR}/lib/CLI11/include"
"${CMAKE_CURRENT_LIST_DIR}/lib/tomlplusplus/include"
"${CMAKE_CURRENT_LIST_DIR}/lib/mcap/include"
"${CVMMAP_PROXY_INCLUDE_DIR}"
"${CMAKE_CURRENT_BINARY_DIR}")
target_compile_definitions(cvmmap_streamer_common
@@ -164,6 +171,7 @@ function(add_cvmmap_binary target source)
"${CMAKE_CURRENT_LIST_DIR}/lib/CLI11/include"
"${CMAKE_CURRENT_LIST_DIR}/lib/tomlplusplus/include"
"${CMAKE_CURRENT_LIST_DIR}/lib/mcap/include"
"${CVMMAP_PROXY_INCLUDE_DIR}"
"${CMAKE_CURRENT_BINARY_DIR}")
target_link_libraries(${target}
PRIVATE
@@ -174,6 +182,7 @@ endfunction()
add_cvmmap_binary(cvmmap_streamer src/main_streamer.cpp)
add_cvmmap_binary(rtp_receiver_tester src/testers/rtp_receiver_tester.cpp)
add_cvmmap_binary(rtmp_stub_tester src/testers/rtmp_stub_tester.cpp)
add_cvmmap_binary(rtmp_output_tester src/testers/rtmp_output_tester.cpp)
add_cvmmap_binary(ipc_snapshot_tester src/testers/ipc_snapshot_tester.cpp)
add_executable(mcap_reader_tester src/testers/mcap_reader_tester.cpp)
@@ -182,6 +191,7 @@ target_include_directories(mcap_reader_tester
"${CMAKE_CURRENT_LIST_DIR}/include"
"${CMAKE_CURRENT_LIST_DIR}/lib/CLI11/include"
"${CMAKE_CURRENT_LIST_DIR}/lib/mcap/include"
"${CVMMAP_PROXY_INCLUDE_DIR}"
"${CMAKE_CURRENT_BINARY_DIR}")
target_link_libraries(mcap_reader_tester
PRIVATE