Skip to content
Snippets Groups Projects
Commit 7dfb47df authored by Eloi Bail's avatar Eloi Bail Committed by Guillaume Roguez
Browse files

conference: attach mixer sink if source restarted

If video_rtp_session is restarted due to bitrate changement
we need to setup again conferencepipeline. Otherwise videomixer sink
would be never attached and video never send.

Issue: #81547
Change-Id: I6de180afab5a7dd320fe3b31a1d61735106d76d1
parent b50dac4d
No related branches found
No related tags found
No related merge requests found
......@@ -120,6 +120,8 @@ VideoRtpSession::restartSender()
if (videoLocal_)
videoLocal_->attach(sender_.get());
}
setupVideoPipeline();
}
void VideoRtpSession::startReceiver()
......@@ -170,15 +172,7 @@ void VideoRtpSession::start(std::unique_ptr<IceSocket> rtp_sock,
startSender();
startReceiver();
// Setup video pipeline
if (conference_)
setupConferenceVideoPipeline(*conference_);
else if (sender_) {
if (videoLocal_)
videoLocal_->attach(sender_.get());
} else {
videoLocal_.reset();
}
setupVideoPipeline();
}
void VideoRtpSession::stop()
......@@ -211,6 +205,19 @@ void VideoRtpSession::forceKeyFrame()
sender_->forceKeyFrame();
}
void
VideoRtpSession::setupVideoPipeline()
{
if (conference_)
setupConferenceVideoPipeline(*conference_);
else if (sender_) {
if (videoLocal_)
videoLocal_->attach(sender_.get());
} else {
videoLocal_.reset();
}
}
void VideoRtpSession::setupConferenceVideoPipeline(Conference& conference)
{
RING_DBG("[call:%s] Setup video pipeline on conference %s", callID_.c_str(),
......
......@@ -74,6 +74,7 @@ public:
private:
void setupConferenceVideoPipeline(Conference& conference);
void setupVideoPipeline();
void startSender();
void startReceiver();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment