diff --git a/CMakeLists.txt b/CMakeLists.txt index 33825057e6a7b8e35c526d42bf8aa68209f88da9..3c11de2515fcfb8f584fcf1d7797c871e7519416 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -184,12 +184,16 @@ source_group("Source Files\\media\\audio\\audio-processing" FILES ${Source_Files source_group("Source Files\\media\\audio\\audio-processing" FILES ${Source_Files__media__audio__webrtc}) source_group("Source Files\\media\\audio\\audio-processing" FILES ${Source_Files__media__audio__speexdsp}) source_group("Source Files\\media\\audio\\sound" FILES ${Source_Files__media__audio__sound}) -source_group("Source Files\\media\\video" FILES ${Source_Files__media__video}) +if(JAMI_VIDEO) + source_group("Source Files\\media\\video" FILES ${Source_Files__media__video}) +endif() source_group("Source Files\\plugin" FILES ${Source_Files__plugin}) if(MSVC) - source_group("Source Files\\media\\audio\\portaudio" FILES ${Source_Files__media__audio__portaudio}) - source_group("Source Files\\media\\video\\winvideo" FILES ${Source_Files__media__video__winvideo}) + source_group("Source Files\\media\\audio\\portaudio" FILES ${Source_Files__media__audio__portaudio}) + if(JAMI_VIDEO) + source_group("Source Files\\media\\video\\winvideo" FILES ${Source_Files__media__video__winvideo}) + endif() endif() list (APPEND ALL_FILES @@ -208,10 +212,12 @@ list (APPEND ALL_FILES ${Source_Files__media__audio} ${Source_Files__media__audio__sound} ${Source_Files__media__audio__audio_processing} - ${Source_Files__media__video} ${Source_Files__security} ${Source_Files__sip} ) +if (JAMI_VIDEO) + list (APPEND ALL_FILES ${Source_Files__media__video}) +endif() if (JAMI_PLUGIN) list (APPEND ALL_FILES ${Source_Files__plugin}) endif() @@ -264,11 +270,15 @@ elseif (APPLE) elseif(MSVC) list (APPEND ALL_FILES ${ALL_FILES} "${Source_Files__media__audio__portaudio}" - "${Source_Files__media__video__uwpvideo}" - "${Source_Files__media__video__winvideo}" "${Source_Files__media__audio__webrtc}" "${Source_Files__media__audio__speexdsp}" ) + if(JAMI_VIDEO) + list (APPEND ALL_FILES ${ALL_FILES} + "${Source_Files__media__video__uwpvideo}" + "${Source_Files__media__video__winvideo}" + ) + endif() endif() add_library(${PROJECT_NAME} STATIC ${ALL_FILES}) @@ -743,9 +753,35 @@ else() target_link_libraries(ut_base64 ut_library) add_test(NAME base64 COMMAND ut_base64) - add_executable(ut_ice_sdp_parser test/unitTest/ice/ice_sdp_parser.cpp) - target_link_libraries(ut_ice_sdp_parser ut_library) - add_test(NAME ice_sdp_parser COMMAND ut_ice_sdp_parser) + if (JAMI_VIDEO) + add_executable(ut_ice_sdp_parser test/unitTest/ice/ice_sdp_parser.cpp) + target_link_libraries(ut_ice_sdp_parser ut_library) + add_test(NAME ice_sdp_parser COMMAND ut_ice_sdp_parser) + + add_executable(ut_conference test/unitTest/call/conference.cpp) + target_link_libraries(ut_conference ut_library) + add_test(NAME conference COMMAND ut_conference) + + add_executable(ut_test_media_frame test/unitTest/media/test_media_frame.cpp) + target_link_libraries(ut_test_media_frame ut_library) + add_test(NAME test_media_frame COMMAND ut_test_media_frame) + + add_executable(ut_test_video_scaler test/unitTest/media/video/test_video_scaler.cpp) + target_link_libraries(ut_test_video_scaler ut_library) + add_test(NAME test_video_scaler COMMAND ut_test_video_scaler) + + add_executable(ut_testVideo_input test/unitTest/media/video/testVideo_input.cpp) + target_link_libraries(ut_testVideo_input ut_library) + add_test(NAME testVideo_input COMMAND ut_testVideo_input) + + add_executable(ut_test_media_filter test/unitTest/media/test_media_filter.cpp) + target_link_libraries(ut_test_media_filter ut_library) + add_test(NAME test_media_filter COMMAND ut_test_media_filter) + + add_executable(ut_test_media_player test/unitTest/media/test_media_player.cpp) + target_link_libraries(ut_test_media_player ut_library) + add_test(NAME test_media_player COMMAND ut_test_media_player) + endif() add_executable(ut_scheduler test/unitTest/scheduler.cpp) target_link_libraries(ut_scheduler ut_library) @@ -759,10 +795,6 @@ else() target_link_libraries(ut_call ut_library) add_test(NAME call COMMAND ut_call) - add_executable(ut_conference test/unitTest/call/conference.cpp) - target_link_libraries(ut_conference ut_library) - add_test(NAME conference COMMAND ut_conference) - add_executable(ut_recorder test/unitTest/call/recorder.cpp) target_link_libraries(ut_recorder ut_library) add_test(NAME recorder COMMAND ut_recorder) @@ -838,19 +870,6 @@ else() add_executable(ut_conversationMembersEvent test/unitTest/conversation/conversationMembersEvent.cpp test/unitTest/conversation/conversationcommon.cpp) target_link_libraries(ut_conversationMembersEvent ut_library) add_test(NAME conversationMembersEvent COMMAND ut_conversationMembersEvent) - - add_executable(ut_test_media_frame test/unitTest/media/test_media_frame.cpp) - target_link_libraries(ut_test_media_frame ut_library) - add_test(NAME test_media_frame COMMAND ut_test_media_frame) - - add_executable(ut_test_video_scaler test/unitTest/media/video/test_video_scaler.cpp) - target_link_libraries(ut_test_video_scaler ut_library) - add_test(NAME test_video_scaler COMMAND ut_test_video_scaler) - - add_executable(ut_testVideo_input test/unitTest/media/video/testVideo_input.cpp) - target_link_libraries(ut_testVideo_input ut_library) - add_test(NAME testVideo_input COMMAND ut_testVideo_input) - add_executable(ut_test_media_encoder test/unitTest/media/test_media_encoder.cpp) target_link_libraries(ut_test_media_encoder ut_library) add_test(NAME test_media_encoder COMMAND ut_test_media_encoder) @@ -867,14 +886,6 @@ else() target_link_libraries(ut_test_audio_frame_resizer ut_library) add_test(NAME test_audio_frame_resizer COMMAND ut_test_audio_frame_resizer) - add_executable(ut_test_media_filter test/unitTest/media/test_media_filter.cpp) - target_link_libraries(ut_test_media_filter ut_library) - add_test(NAME test_media_filter COMMAND ut_test_media_filter) - - add_executable(ut_test_media_player test/unitTest/media/test_media_player.cpp) - target_link_libraries(ut_test_media_player ut_library) - add_test(NAME test_media_player COMMAND ut_test_media_player) - if (JAMI_PLUGIN) add_executable(ut_plugins test/unitTest/plugins/plugins.cpp) target_link_libraries(ut_plugins ut_library) diff --git a/src/conference.cpp b/src/conference.cpp index 64734f491122b235854040b9244f06eaaeefb5ef..d83b44e0e3f0be4e9f0b650c4b5bd02ccf1f5ce8 100644 --- a/src/conference.cpp +++ b/src/conference.cpp @@ -582,12 +582,16 @@ Conference::requestMediaChange(const std::vector<libjami::MediaMap>& mediaList) && oldAttr.label_ == mediaAttr.label_; }); // If video, add to newVideoInputs +#ifdef ENABLE_VIDEO if (mediaAttr.type_ == MediaType::MEDIA_VIDEO) { auto srcUri = mediaAttr.sourceUri_.empty() ? Manager::instance().getVideoManager().videoDeviceMonitor.getMRLForDefaultDevice() : mediaAttr.sourceUri_; newVideoInputs.emplace_back(srcUri); } else { +#endif hostAudioInputs_[mediaAttr.label_] = jami::getAudioInput(mediaAttr.label_); +#ifdef ENABLE_VIDEO } +#endif if (oldIdx != hostSources_.end()) { // Check if muted status changes if (mediaAttr.muted_ != oldIdx->muted_) { @@ -757,6 +761,7 @@ Conference::removeSubCall(const std::string& callId) participantsMuted_.erase(call->getCallId()); if (auto* transport = call->getTransport()) handsRaised_.erase(std::string(transport->deviceId())); +#ifdef ENABLE_VIDEO if (videoMixer_) { for (auto const& rtpSession : call->getRtpSessionList()) { if (rtpSession->getMediaType() == MediaType::MEDIA_AUDIO) @@ -766,7 +771,6 @@ Conference::removeSubCall(const std::string& callId) } } -#ifdef ENABLE_VIDEO auto sinkId = getConfId() + peerId; unbindSubCallAudio(callId); call->exitConference(); diff --git a/src/media/media_player.cpp b/src/media/media_player.cpp index 017f1ec2d1ff61977a07b2c2f0a64fc247db2498..b9262cc94257b101a78af8a0eaa1552cdf448ce5 100644 --- a/src/media/media_player.cpp +++ b/src/media/media_player.cpp @@ -58,7 +58,9 @@ MediaPlayer::~MediaPlayer() pause(true); loop_.join(); audioInput_.reset(); +#ifdef ENABLE_VIDEO videoInput_.reset(); +#endif } bool diff --git a/src/sip/sipcall.cpp b/src/sip/sipcall.cpp index e6e3b4bed66835231e88fe2409e2617667fbb4a3..4a4ca9f35f1b7050b6c004227214152f9ac4894a 100644 --- a/src/sip/sipcall.cpp +++ b/src/sip/sipcall.cpp @@ -166,7 +166,9 @@ SIPCall::~SIPCall() setSipTransport({}); setInviteSession(); // prevents callback usage +#ifdef ENABLE_VIDEO closeMediaPlayer(mediaPlayerId_); +#endif } int @@ -2532,12 +2534,16 @@ SIPCall::requestMediaChange(const std::vector<libjami::MediaMap>& mediaList) if (prefix == libjami::Media::VideoProtocolPrefix::FILE) { hasFileSharing = true; mediaPlayerId_ = media.sourceUri_; +#ifdef ENABLE_VIDEO createMediaPlayer(mediaPlayerId_); +#endif } } if (!hasFileSharing) { +#ifdef ENABLE_VIDEO closeMediaPlayer(mediaPlayerId_); +#endif mediaPlayerId_ = ""; }