Browse Source

cmake add qmlglsink support (gst-plugins_good)

QGC4.4
Daniel Agar 5 years ago
parent
commit
812dea3058
  1. 3
      CMakeLists.txt
  2. 65
      qmlglsink.cmake
  3. 14
      src/VideoStreaming/CMakeLists.txt

3
CMakeLists.txt

@ -87,6 +87,7 @@ find_package(PkgConfig) @@ -87,6 +87,7 @@ find_package(PkgConfig)
pkg_check_modules(GST
gstreamer-1.0>=1.14
gstreamer-video-1.0>=1.14
gstreamer-gl-1.0>=1.14
)
if (GST_FOUND)
@ -100,6 +101,8 @@ if (GST_FOUND) @@ -100,6 +101,8 @@ if (GST_FOUND)
-DQGC_GST_TAISYNC_ENABLED
-DQGC_GST_MICROHARD_ENABLED
)
include(qmlglsink.cmake)
endif()
#=============================================================================
# Qt5

65
qmlglsink.cmake

@ -0,0 +1,65 @@ @@ -0,0 +1,65 @@
find_package(Qt5Gui ${QT_VERSION} CONFIG REQUIRED Private)
add_library(gst_plugins_good
libs/gst-plugins-good/ext/qt/gstplugin.cc
libs/gst-plugins-good/ext/qt/gstqtglutility.cc
libs/gst-plugins-good/ext/qt/gstqsgtexture.cc
libs/gst-plugins-good/ext/qt/gstqtsink.cc
libs/gst-plugins-good/ext/qt/gstqtsrc.cc
libs/gst-plugins-good/ext/qt/qtwindow.cc
libs/gst-plugins-good/ext/qt/qtitem.cc
libs/gst-plugins-good/ext/qt/gstqsgtexture.h
libs/gst-plugins-good/ext/qt/gstqtgl.h
libs/gst-plugins-good/ext/qt/gstqtglutility.h
libs/gst-plugins-good/ext/qt/gstqtsink.h
libs/gst-plugins-good/ext/qt/gstqtsrc.h
libs/gst-plugins-good/ext/qt/qtwindow.h
libs/gst-plugins-good/ext/qt/qtitem.h
)
if(LINUX)
target_compile_definitions(gst_plugins_good PUBLIC HAVE_QT_X11 HAVE_QT_EGLFS HAVE_QT_WAYLAND)
find_package(Qt5 ${QT_VERSION}
COMPONENTS
X11Extras
REQUIRED
HINTS
${QT_LIBRARY_HINTS}
)
target_link_libraries(gst_plugins_good
PUBLIC
Qt5::X11Extras
)
elseif(APPLE)
target_compile_definitions(gst_plugins_good PUBLIC HAVE_QT_MAC)
elseif(IOS)
target_compile_definitions(gst_plugins_good PUBLIC HAVE_QT_MAC)
elseif(WIN32)
target_compile_definitions(gst_plugins_good PUBLIC HAVE_QT_WIN32)
# TODO: use FindOpenGL?
target_link_libraries(gst_plugins_good PUBLIC opengl32.lib user32.lib)
# LIBS += opengl32.lib user32.lib
elseif(ANDROID)
target_compile_definitions(gst_plugins_good PUBLIC HAVE_QT_ANDROID)
endif()
target_link_libraries(gst_plugins_good
PUBLIC
Qt5::Core
Qt5::OpenGL
Qt5::GuiPrivate
)
target_compile_options(gst_plugins_good
PRIVATE
-Wno-unused-parameter
-Wno-implicit-fallthrough
)

14
src/VideoStreaming/CMakeLists.txt

@ -5,13 +5,19 @@ if (GST_FOUND) @@ -5,13 +5,19 @@ if (GST_FOUND)
endif()
add_library(VideoStreaming
VideoReceiver.cc
VideoStreaming.cc
SubtitleWriter.cc
GLVideoItemStub.cc
GLVideoItemStub.cc
GLVideoItemStub.h
SubtitleWriter.cc
SubtitleWriter.h
VideoReceiver.cc
VideoReceiver.h
VideoStreaming.cc
VideoStreaming.h
)
target_link_libraries(VideoStreaming
PRIVATE
gst_plugins_good
PUBLIC
qgc
Qt5::Multimedia

Loading…
Cancel
Save