diff --git a/src/conference.cpp b/src/conference.cpp index 915c4197eaac8c6b26d9c9b8a0c3a0d93c1e29d6..3348f22dbad5ff2378c2ef60fbccde82d9bb0c10 100644 --- a/src/conference.cpp +++ b/src/conference.cpp @@ -135,6 +135,12 @@ Conference::~Conference() call->sendTextMessage(std::map<std::string, std::string> {{"application/confInfo+json", "[]"}}, account->getFromUri()); + + // Trigger the SIP negotiation to update the resolution for the remaining call + // ideally this sould be done without renegotiation + call->switchInput( + Manager::instance().getVideoManager().videoDeviceMonitor.getMRLForDefaultDevice()); + // Continue the recording for the call if the conference was recorded if (this->isRecording()) { JAMI_DBG("Stop recording for conf %s", getConfID().c_str()); diff --git a/src/media/video/video_rtp_session.cpp b/src/media/video/video_rtp_session.cpp index 88d7c317647f6b816498e4e37806a999ac58b4ca..8ad2d204a0caad588c3cc1632e4cd1aaccb7017c 100644 --- a/src/media/video/video_rtp_session.cpp +++ b/src/media/video/video_rtp_session.cpp @@ -394,14 +394,6 @@ VideoRtpSession::exitConference() videoMixer_.reset(); } - // videoLocal_ is reset when a conference is created (only mixer need videoInput) - // when the conference is removed, we need to set videoLocal_ for the remaining call - if (!videoLocal_) - videoLocal_ = getVideoCamera(); - - if (videoLocal_) - videoLocal_->attach(sender_.get()); - conference_ = nullptr; }