generateKeyFrame: add rids argument
and do the resolution of rids to layers. This has no effect yet
since the simulcast encoder adapter (SimulcastEncoderAdapter::Encode), the VP8 encoder (LibvpxVp8Encoder::Encode) and the OpenH264 encoder (H264EncoderImpl::Encode) all generate a key frame for all layers whenever a key frame is requested on one layer.
BUG=chromium:1354101
Change-Id: I13f5f1bf136839a68942b0f6bf4f2d5890415250
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/280945
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Commit-Queue: Philipp Hancke <phancke@microsoft.com>
Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Harald Alvestrand <hta@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#38565}
diff --git a/api/rtp_sender_interface.h b/api/rtp_sender_interface.h
index 6fc658f..7e84cd4 100644
--- a/api/rtp_sender_interface.h
+++ b/api/rtp_sender_interface.h
@@ -105,7 +105,9 @@
encoder_selector) = 0;
// TODO(crbug.com/1354101): make pure virtual again after Chrome roll.
- virtual RTCError GenerateKeyFrame() { return RTCError::OK(); }
+ virtual RTCError GenerateKeyFrame(const std::vector<std::string>& rids) {
+ return RTCError::OK();
+ }
protected:
~RtpSenderInterface() override = default;