From 8f3f82235b5c173ad8e5ca3861de2a2484cb853e Mon Sep 17 00:00:00 2001 From: Alexandre Lision <alexandre.lision@savoirfairelinux.com> Date: Wed, 4 Feb 2015 13:21:11 -0500 Subject: [PATCH] OSX: Adapt build system for video This commit fixes coupling between udev and video, since udev is only available on Linux Refs #65446 Change-Id: I8ad782bbedb031b5973e202eff3487535aac3fb4 --- daemon/bin/osxmain.cpp | 2 +- daemon/configure.ac | 5 ++++- daemon/src/Makefile.am | 9 +++++++-- daemon/src/media/Makefile.am | 4 ---- daemon/src/media/video/Makefile.am | 8 ++++++-- daemon/src/media/video/v4l2/Makefile.am | 1 + daemon/src/media/video/video_rtp_session.h | 16 ++++++++-------- 7 files changed, 27 insertions(+), 18 deletions(-) diff --git a/daemon/bin/osxmain.cpp b/daemon/bin/osxmain.cpp index c98b101ffe..f147f80603 100644 --- a/daemon/bin/osxmain.cpp +++ b/daemon/bin/osxmain.cpp @@ -151,7 +151,7 @@ static int osxTests() .config_ev_handlers = {}, .pres_ev_handlers = {} #ifdef RING_VIDEO - .video_ev_handlers = {} + ,.video_ev_handlers = {} #endif }; diff --git a/daemon/configure.ac b/daemon/configure.ac index ea7a954613..2dd38575ed 100644 --- a/daemon/configure.ac +++ b/daemon/configure.ac @@ -364,7 +364,10 @@ AS_IF([test "x$enable_video" != "xno"], [ AC_DEFINE(RING_VIDEO, [], [Video support enabled]) AM_CONDITIONAL(RING_VIDEO, true) - PKG_CHECK_MODULES(UDEV, libudev,, AC_MSG_ERROR([Missing libudev development files])) + AS_IF([test "$SYS" = linux],[ + PKG_CHECK_MODULES(UDEV, libudev,, AC_MSG_ERROR([Missing libudev development files])) + ],[ + ]) ], [ AM_CONDITIONAL(RING_VIDEO, false) diff --git a/daemon/src/Makefile.am b/daemon/src/Makefile.am index 0b475ed79a..cb9a23f615 100644 --- a/daemon/src/Makefile.am +++ b/daemon/src/Makefile.am @@ -1,8 +1,13 @@ include ../globals.mak +RING_VIDEO_LIBS= + if RING_VIDEO -RING_VIDEO_LIBS=./media/video/libvideo.la \ - ./media/video/v4l2/libv4l2.la +RING_VIDEO_LIBS+=./media/video/libvideo.la +if HAVE_LINUX +RING_VIDEO_LIBS+= \ + ./media/video/v4l2/libv4l2.la +endif endif if BUILD_INSTANT_MESSAGING diff --git a/daemon/src/media/Makefile.am b/daemon/src/media/Makefile.am index b245d41e7d..3e587e4ef1 100644 --- a/daemon/src/media/Makefile.am +++ b/daemon/src/media/Makefile.am @@ -36,7 +36,3 @@ libmedia_la_LDFLAGS = @LIBAVCODEC_LIBS@ @LIBAVFORMAT_LIBS@ @LIBAVDEVICE_LIBS@ @L AM_CFLAGS=@LIBAVCODEC_CFLAGS@ @LIBAVFORMAT_CFLAGS@ @LIBAVDEVICE_CFLAGS@ @LIBSWSCALE_CFLAGS@ AM_CXXFLAGS=@LIBAVCODEC_CFLAGS@ @LIBAVFORMAT_CFLAGS@ @LIBAVDEVICE_CFLAGS@ @LIBSWSCALE_CFLAGS@ - -if RING_VIDEO -AM_CXXFLAGS += @UDEV_CFLAGS@ -endif diff --git a/daemon/src/media/video/Makefile.am b/daemon/src/media/video/Makefile.am index 899fc5ea93..c638ece128 100644 --- a/daemon/src/media/video/Makefile.am +++ b/daemon/src/media/video/Makefile.am @@ -1,6 +1,10 @@ include $(top_srcdir)/globals.mak -SUBDIRS=v4l2 test +SUBDIRS= test + +if HAVE_LINUX +SUBDIRS+=v4l2 +endif noinst_LTLIBRARIES = libvideo.la libvideo_la_SOURCES = \ @@ -18,5 +22,5 @@ libvideo_la_SOURCES = \ libvideo_la_LIBADD = @LIBAVCODEC_LIBS@ @LIBAVFORMAT_LIBS@ @LIBAVDEVICE_LIBS@ @LIBSWSCALE_LIBS@ @LIBAVUTIL_LIBS@ -AM_CXXFLAGS=@LIBAVCODEC_CFLAGS@ @LIBAVFORMAT_CFLAGS@ @LIBAVDEVICE_CFLAGS@ @LIBSWSCALE_CFLAGS@ @UDEV_CFLAGS@ +AM_CXXFLAGS=@LIBAVCODEC_CFLAGS@ @LIBAVFORMAT_CFLAGS@ @LIBAVDEVICE_CFLAGS@ @LIBSWSCALE_CFLAGS@ AM_CFLAGS=@LIBAVCODEC_CFLAGS@ @LIBAVFORMAT_CFLAGS@ @LIBAVDEVICE_CFLAGS@ @LIBSWSCALE_CFLAGS@ diff --git a/daemon/src/media/video/v4l2/Makefile.am b/daemon/src/media/video/v4l2/Makefile.am index e77b30e517..99339d3050 100644 --- a/daemon/src/media/video/v4l2/Makefile.am +++ b/daemon/src/media/video/v4l2/Makefile.am @@ -6,4 +6,5 @@ libv4l2_la_SOURCES = \ video_device_impl.cpp \ video_device_monitor_impl.cpp +AM_CXXFLAGS = @UDEV_CFLAGS@ libv4l2_la_LIBADD = @UDEV_LIBS@ diff --git a/daemon/src/media/video/video_rtp_session.h b/daemon/src/media/video/video_rtp_session.h index 705670d6cd..03e548ca09 100644 --- a/daemon/src/media/video/video_rtp_session.h +++ b/daemon/src/media/video/video_rtp_session.h @@ -78,19 +78,19 @@ private: void startReceiver(); // all public methods must be locked internally before use - std::recursive_mutex mutex_ = {}; + std::recursive_mutex mutex_; - std::unique_ptr<SocketPair> socketPair_ = nullptr; - std::unique_ptr<VideoSender> sender_ = nullptr; - std::unique_ptr<VideoReceiveThread> receiveThread_ = nullptr; + std::unique_ptr<SocketPair> socketPair_; + std::unique_ptr<VideoSender> sender_; + std::unique_ptr<VideoReceiveThread> receiveThread_; std::map<std::string, std::string> txArgs_; - std::map<std::string, std::string> rxArgs_ = {}; + std::map<std::string, std::string> rxArgs_; bool sending_ = false; bool receiving_ = false; const std::string callID_; - Conference* conference_ = nullptr; - std::shared_ptr<VideoMixer> videoMixer_ = nullptr; - std::shared_ptr<VideoFrameActiveWriter> videoLocal_ = nullptr; + Conference* conference_; + std::shared_ptr<VideoMixer> videoMixer_; + std::shared_ptr<VideoFrameActiveWriter> videoLocal_; }; }} // namespace ring::video -- GitLab