st-2110-20 pipeline API MTL node in

This commit is contained in:
itten
2026-07-14 18:59:09 +03:00
parent b72b60b9c4
commit 1caeeee17e
13 changed files with 403 additions and 2 deletions
+37
View File
@@ -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)