diff options
author | Artem Titarenko <artit@webrtc.org> | 2022-05-05 10:29:51 +0000 |
---|---|---|
committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-05-05 10:41:13 +0000 |
commit | 3c2359c663a6935e47e08977204c346baf44f8df (patch) | |
tree | 4d12571b27676b16fc1e1923e1a6d3a3824eaeaa | |
parent | 45361f78ed18c350b3edcaef19ae4c7cf167e95b (diff) | |
download | webrtc-3c2359c663a6935e47e08977204c346baf44f8df.tar.gz |
Revert "RTP video stream receivers: By default consider frames decryptable."
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 <philipel@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Commit-Queue: Artem Titarenko <artit@webrtc.org>
> 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 <artit@webrtc.org>
Auto-Submit: Artem Titarenko <artit@webrtc.org>
Bot-Commit: rubber-stamper@appspot.gserviceaccount.com <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#36777}
-rw-r--r-- | video/rtp_video_stream_receiver.cc | 2 | ||||
-rw-r--r-- | 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<RtpFrameReferenceFinder>()), 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<RtpFrameReferenceFinder>()), has_received_frame_(false), - frames_decryptable_(true), + frames_decryptable_(false), absolute_capture_time_interpolator_(clock) { packet_sequence_checker_.Detach(); constexpr bool remb_candidate = true; |