From 2af888e414b41f8d89107184d5bc3b8f10f88651 Mon Sep 17 00:00:00 2001 From: "karllen.zheng@ringcentral.com" Date: Thu, 14 Mar 2024 16:51:02 +0800 Subject: [PATCH] Properly propagate error in WebRtcVideoSendStream::SetRtpParameters When an error occurs, the callback needs to be invoked or the signaling thread may block indefinitely waiting for it. Bug: webrtc:15871 Change-Id: Ib73382aff07b3632794300985223c70c24f554f4 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/342901 Reviewed-by: Florent Castelli Reviewed-by: Ilya Nikolaevskiy Commit-Queue: Ilya Nikolaevskiy Cr-Commit-Position: refs/heads/main@{#41904} --- media/engine/webrtc_video_engine.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/media/engine/webrtc_video_engine.cc b/media/engine/webrtc_video_engine.cc index 4a973cdf63..24709ddc6f 100644 --- a/media/engine/webrtc_video_engine.cc +++ b/media/engine/webrtc_video_engine.cc @@ -1966,8 +1966,7 @@ WebRtcVideoSendChannel::WebRtcVideoSendStream::SetRtpParameters( webrtc::RTCError error = CheckRtpParametersInvalidModificationAndValues( rtp_parameters_, new_parameters); if (!error.ok()) { - // Error is propagated to the callback at a higher level - return error; + return webrtc::InvokeSetParametersCallback(callback, error); } bool new_param = false;