From 04a8dfa468268f94c6ef16659a3b15d729266407 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Blin?= <sebastien.blin@savoirfairelinux.com> Date: Tue, 7 Nov 2023 11:31:21 -0500 Subject: [PATCH] callmodel: fix mute video Change-Id: Ic0c05b9099bc21b8ee936cbe3aef641534d55f77 --- src/app/avadapter.cpp | 6 ++++-- src/app/calladapter.cpp | 2 +- src/libclient/api/callmodel.h | 4 +++- src/libclient/callmodel.cpp | 5 +++-- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/app/avadapter.cpp b/src/app/avadapter.cpp index 9ef21900b..85d56ac74 100644 --- a/src/app/avadapter.cpp +++ b/src/app/avadapter.cpp @@ -320,14 +320,16 @@ AvAdapter::stopSharing(const QString& source) ->removeMedia(callId, libjami::Media::Details::MEDIA_TYPE_VIDEO, libjami::Media::VideoProtocolPrefix::DISPLAY, - muteCamera_); + muteCamera_, + true); } else { qDebug() << "Stopping file: " << source; lrcInstance_->getCurrentCallModel() ->removeMedia(callId, libjami::Media::Details::MEDIA_TYPE_VIDEO, libjami::Media::VideoProtocolPrefix::FILE, - muteCamera_); + muteCamera_, + true); } } } diff --git a/src/app/calladapter.cpp b/src/app/calladapter.cpp index 0a6e91520..f5036a947 100644 --- a/src/app/calladapter.cpp +++ b/src/app/calladapter.cpp @@ -976,7 +976,7 @@ CallAdapter::muteCameraToggle() callModel->removeMedia(callId, libjami::Media::Details::MEDIA_TYPE_VIDEO, libjami::Media::VideoProtocolPrefix::CAMERA, - mute); + mute, false); else callModel->addMedia(callId, lrcInstance_->avModel().getCurrentVideoCaptureDevice(), diff --git a/src/libclient/api/callmodel.h b/src/libclient/api/callmodel.h index 58a2b29ec..6840fbb52 100644 --- a/src/libclient/api/callmodel.h +++ b/src/libclient/api/callmodel.h @@ -125,11 +125,13 @@ public: * @param source Of the media * @param type Audio/video * @param mute + * @param removeAll Remove Audio/Video */ void removeMedia(const QString& callId, const QString& mediaType, const QString& type, - bool muteCamera); + bool muteCamera, + bool removeAll); /** * Get the call from its call id diff --git a/src/libclient/callmodel.cpp b/src/libclient/callmodel.cpp index faf12a03c..fc799afcb 100644 --- a/src/libclient/callmodel.cpp +++ b/src/libclient/callmodel.cpp @@ -613,7 +613,8 @@ void CallModel::removeMedia(const QString& callId, const QString& mediaType, const QString& type, - bool muteCamera) + bool muteCamera, + bool removeAll) { auto& callInfo = pimpl_->calls[callId]; if (!callInfo) @@ -629,7 +630,7 @@ CallModel::removeMedia(const QString& callId, replaceIdx = true; label = media[MediaAttributeKey::LABEL]; } else { - if (!media[MediaAttributeKey::SOURCE].startsWith(type)) { + if (!removeAll || !media[MediaAttributeKey::SOURCE].startsWith(type)) { if (media[MediaAttributeKey::MEDIA_TYPE] == mediaType) { auto newMedia = media; if (replaceIdx) { -- GitLab