From 3c2359c663a6935e47e08977204c346baf44f8df Mon Sep 17 00:00:00 2001 From: Artem Titarenko Date: Thu, 5 May 2022 10:29:51 +0000 Subject: [PATCH] Revert "RTP video stream receivers: By default consider frames decryptable." MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 658dfb74e563295b7ed4961d06c68afbd566ef8d. Reason for revert: Breaks downstream tests. Original change's description: > RTP video stream receivers: By default consider frames decryptable. > > Looks like the original code [0] that should limit the amount of keyframe requests behaves a bit strange in a situation when the first keyframe is missed. Effectively in the encrypted session the receiver can't enforce getting the keyframe until it receives at least one frame which is decryptable [1]. And with dependency descriptors it can't do that until it receives a keyframe which contains proper DD header [2]. This leads to unnecessary delays until the sender sends a keyframe itself. > > In this CL we "trust" that the stream is decryptable from the beginning unless proven the opposite [3]. > > [0]: https://webrtc-review.googlesource.com/c/src/+/123414/ > [1]: https://webrtc.googlesource.com/src/+/9432768024b0397f2dccfec0cab30f33dde87b93/video/video_receive_stream2.cc#950 > [2]: https://webrtc.googlesource.com/src/+/9432768024b0397f2dccfec0cab30f33dde87b93/video/rtp_video_stream_receiver2.cc#415 > [3]: https://webrtc.googlesource.com/src/+/9432768024b0397f2dccfec0cab30f33dde87b93/video/rtp_video_stream_receiver2.cc#882 > > Bug: webrtc:10330 > Change-Id: I167d728ddc7cde74a5c5e3327bce7364ed97b7ea > Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/260326 > Reviewed-by: Philip Eliasson > Reviewed-by: Erik Språng > Commit-Queue: Artem Titarenko > Cr-Commit-Position: refs/heads/main@{#36775} Bug: webrtc:10330 Change-Id: I1e390c938502048a678a9c3a9a88a44f08dc058f No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/261261 Reviewed-by: Artem Titarenko Auto-Submit: Artem Titarenko Bot-Commit: rubber-stamper@appspot.gserviceaccount.com Commit-Queue: Erik Språng Reviewed-by: Erik Språng Cr-Commit-Position: refs/heads/main@{#36777} --- video/rtp_video_stream_receiver.cc | 2 +- video/rtp_video_stream_receiver2.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/video/rtp_video_stream_receiver.cc b/video/rtp_video_stream_receiver.cc index e142c5797d..04484b91cc 100644 --- a/video/rtp_video_stream_receiver.cc +++ b/video/rtp_video_stream_receiver.cc @@ -278,7 +278,7 @@ RtpVideoStreamReceiver::RtpVideoStreamReceiver( PacketBufferMaxSize(field_trials_)), reference_finder_(std::make_unique()), has_received_frame_(false), - frames_decryptable_(true), + frames_decryptable_(false), absolute_capture_time_interpolator_(clock) { constexpr bool remb_candidate = true; if (packet_router_) diff --git a/video/rtp_video_stream_receiver2.cc b/video/rtp_video_stream_receiver2.cc index 0568f80702..9956760c3b 100644 --- a/video/rtp_video_stream_receiver2.cc +++ b/video/rtp_video_stream_receiver2.cc @@ -259,7 +259,7 @@ RtpVideoStreamReceiver2::RtpVideoStreamReceiver2( PacketBufferMaxSize(field_trials_)), reference_finder_(std::make_unique()), has_received_frame_(false), - frames_decryptable_(true), + frames_decryptable_(false), absolute_capture_time_interpolator_(clock) { packet_sequence_checker_.Detach(); constexpr bool remb_candidate = true;