st-2110-20 pipeline API MTL node in
This commit is contained in:
@@ -76,6 +76,35 @@ FetchContent_MakeAvailable(json)
|
||||
# ── FFmpeg ──────────────────────────────────────────────────────────────────
|
||||
find_package(PkgConfig REQUIRED)
|
||||
|
||||
# ── Media Transport Library (SMPTE ST 2110) ─────────────────────────────────
|
||||
# MTL is Meson-based, so consume an installed Meson build instead of adding the
|
||||
# source tree as a CMake subdirectory.
|
||||
set(MTL_SDK_DIR "" CACHE PATH "Path to installed Media Transport Library prefix")
|
||||
if(MTL_SDK_DIR)
|
||||
find_library(MTL_LIBRARY
|
||||
NAMES mtl
|
||||
PATHS "${MTL_SDK_DIR}/lib" "${MTL_SDK_DIR}/lib64"
|
||||
NO_DEFAULT_PATH
|
||||
REQUIRED
|
||||
)
|
||||
|
||||
add_library(mtl::mtl SHARED IMPORTED GLOBAL)
|
||||
set_target_properties(mtl::mtl PROPERTIES
|
||||
IMPORTED_LOCATION "${MTL_LIBRARY}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${MTL_SDK_DIR}/include"
|
||||
)
|
||||
else()
|
||||
pkg_check_modules(MTL IMPORTED_TARGET mtl)
|
||||
if(MTL_FOUND)
|
||||
add_library(mtl::mtl INTERFACE IMPORTED GLOBAL)
|
||||
target_link_libraries(mtl::mtl INTERFACE PkgConfig::MTL)
|
||||
target_include_directories(mtl::mtl INTERFACE ${MTL_INCLUDE_DIRS})
|
||||
target_link_directories(mtl::mtl INTERFACE ${MTL_LIBRARY_DIRS})
|
||||
target_compile_options(mtl::mtl INTERFACE ${MTL_CFLAGS_OTHER})
|
||||
target_link_options(mtl::mtl INTERFACE ${MTL_LDFLAGS_OTHER})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Check for FFmpeg components
|
||||
pkg_check_modules(FFMPEG REQUIRED IMPORTED_TARGET
|
||||
libavformat
|
||||
@@ -112,6 +141,14 @@ if(DECKLINK_SDK_DIR)
|
||||
add_subdirectory(nodes/decklinkout)
|
||||
endif()
|
||||
|
||||
# ── SMPTE-2110 (Media Transport Library) nodes ──────────────────────────────
|
||||
if(TARGET mtl::mtl)
|
||||
add_subdirectory(nodes/st2110in)
|
||||
else()
|
||||
message(STATUS "Media Transport Library not found; skipping SMPTE ST 2110 nodes")
|
||||
endif()
|
||||
|
||||
|
||||
add_subdirectory(nodes/videoin)
|
||||
add_subdirectory(nodes/pip)
|
||||
add_subdirectory(nodes/gaindb)
|
||||
|
||||
Reference in New Issue
Block a user