From 3e87dad8dc4b50e195d73993d7943d0a34fdfcd7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com>
Date: Thu, 14 Nov 2019 16:44:53 -0500
Subject: [PATCH] video_rtp_session: check videoLocal_, cleanup

Change-Id: I4eae6ca5a1725ca2a754b743954c3bc43603aaf0
---
 src/media/video/video_rtp_session.cpp | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/src/media/video/video_rtp_session.cpp b/src/media/video/video_rtp_session.cpp
index 14fd9df830..923675b099 100644
--- a/src/media/video/video_rtp_session.cpp
+++ b/src/media/video/video_rtp_session.cpp
@@ -520,8 +520,8 @@ VideoRtpSession::setNewBitrate(unsigned int newBR)
         storeVideoBitrateInfo();
 
 #if __ANDROID__
-    auto input_device = std::static_pointer_cast<VideoInput>(videoLocal_);
-    emitSignal<DRing::VideoSignal::SetBitrate>(input_device->getParams().name, (int)newBR);
+        if (auto input_device = std::dynamic_pointer_cast<VideoInput>(videoLocal_))
+            emitSignal<DRing::VideoSignal::SetBitrate>(input_device->getParams().name, (int)newBR);
 #endif
 
         // If encoder no longer exist do nothing
@@ -555,9 +555,7 @@ VideoRtpSession::setupVideoBitrateInfo() {
 
 void
 VideoRtpSession::storeVideoBitrateInfo() {
-    auto codecVideo = std::static_pointer_cast<jami::AccountVideoCodecInfo>(send_.codec);
-
-    if (codecVideo) {
+    if (auto codecVideo = std::static_pointer_cast<jami::AccountVideoCodecInfo>(send_.codec)) {
         codecVideo->setCodecSpecifications({
             {DRing::Account::ConfProperties::CodecInfo::BITRATE, std::to_string(videoBitrateInfo_.videoBitrateCurrent)},
             {DRing::Account::ConfProperties::CodecInfo::MIN_BITRATE, std::to_string(videoBitrateInfo_.videoBitrateMin)},
@@ -566,16 +564,16 @@ VideoRtpSession::storeVideoBitrateInfo() {
             {DRing::Account::ConfProperties::CodecInfo::MIN_QUALITY, std::to_string(videoBitrateInfo_.videoQualityMin)},
             {DRing::Account::ConfProperties::CodecInfo::MAX_QUALITY, std::to_string(videoBitrateInfo_.videoQualityMax)}
         });
+    }
 
-        if (histoQuality_.size() > MAX_SIZE_HISTO_QUALITY)
-            histoQuality_.pop_front();
+    if (histoQuality_.size() > MAX_SIZE_HISTO_QUALITY)
+        histoQuality_.pop_front();
 
-        if (histoBitrate_.size() > MAX_SIZE_HISTO_BITRATE)
-            histoBitrate_.pop_front();
+    if (histoBitrate_.size() > MAX_SIZE_HISTO_BITRATE)
+        histoBitrate_.pop_front();
 
-        histoQuality_.push_back(videoBitrateInfo_.videoQualityCurrent);
-        histoBitrate_.push_back(videoBitrateInfo_.videoBitrateCurrent);
-    }
+    histoQuality_.push_back(videoBitrateInfo_.videoQualityCurrent);
+    histoBitrate_.push_back(videoBitrateInfo_.videoBitrateCurrent);
 }
 
 void
-- 
GitLab