diff --git a/daemon/src/media/video/video_rtp_session.cpp b/daemon/src/media/video/video_rtp_session.cpp index 7bae273fa9710ff1fae4835ea1b0ad12a85b49e5..3db519a20afe550a39012711495f32e0a0dd5e4e 100644 --- a/daemon/src/media/video/video_rtp_session.cpp +++ b/daemon/src/media/video/video_rtp_session.cpp @@ -49,8 +49,6 @@ namespace ring { namespace video { using std::map; using std::string; -constexpr static auto NEWPARAMS_TIMEOUT = std::chrono::milliseconds(20); - VideoRtpSession::VideoRtpSession(const string &callID, const DeviceParams& localVideoParams) : RtpSession(callID), localVideoParams_(localVideoParams) @@ -70,12 +68,12 @@ void VideoRtpSession::startSender() RING_WARN("Restarting video sender"); } + std::future<DeviceParams> newParams; if (not conference_) { videoLocal_ = getVideoCamera(); if (auto input = videoManager.videoInput.lock()) { - std::future<DeviceParams> newParams = input->switchInput(input_); - if (newParams.valid() && - newParams.wait_for(NEWPARAMS_TIMEOUT) == std::future_status::ready) + newParams = input->switchInput(input_); + if (newParams.valid()) localVideoParams_ = newParams.get(); else RING_WARN("No valid new video parameters.");