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}
57 lines
2.1 KiB
C++
57 lines
2.1 KiB
C++
/*
|
|
* Copyright 2021 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
#ifndef PC_RTP_SENDER_PROXY_H_
|
|
#define PC_RTP_SENDER_PROXY_H_
|
|
|
|
#include <memory>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
#include "api/rtp_sender_interface.h"
|
|
#include "pc/proxy.h"
|
|
|
|
namespace webrtc {
|
|
|
|
// Define proxy for RtpSenderInterface.
|
|
// TODO(deadbeef): Move this to .cc file. What threads methods are called on is
|
|
// an implementation detail.
|
|
BEGIN_PRIMARY_PROXY_MAP(RtpSender)
|
|
PROXY_PRIMARY_THREAD_DESTRUCTOR()
|
|
PROXY_METHOD1(bool, SetTrack, MediaStreamTrackInterface*)
|
|
PROXY_CONSTMETHOD0(rtc::scoped_refptr<MediaStreamTrackInterface>, track)
|
|
PROXY_CONSTMETHOD0(rtc::scoped_refptr<DtlsTransportInterface>, dtls_transport)
|
|
PROXY_CONSTMETHOD0(uint32_t, ssrc)
|
|
BYPASS_PROXY_CONSTMETHOD0(cricket::MediaType, media_type)
|
|
BYPASS_PROXY_CONSTMETHOD0(std::string, id)
|
|
PROXY_CONSTMETHOD0(std::vector<std::string>, stream_ids)
|
|
PROXY_CONSTMETHOD0(std::vector<RtpEncodingParameters>, init_send_encodings)
|
|
PROXY_CONSTMETHOD0(RtpParameters, GetParameters)
|
|
PROXY_METHOD1(RTCError, SetParameters, const RtpParameters&)
|
|
PROXY_CONSTMETHOD0(rtc::scoped_refptr<DtmfSenderInterface>, GetDtmfSender)
|
|
PROXY_METHOD1(void,
|
|
SetFrameEncryptor,
|
|
rtc::scoped_refptr<FrameEncryptorInterface>)
|
|
PROXY_CONSTMETHOD0(rtc::scoped_refptr<FrameEncryptorInterface>,
|
|
GetFrameEncryptor)
|
|
PROXY_METHOD1(void, SetStreams, const std::vector<std::string>&)
|
|
PROXY_METHOD1(void,
|
|
SetEncoderToPacketizerFrameTransformer,
|
|
rtc::scoped_refptr<FrameTransformerInterface>)
|
|
PROXY_METHOD1(void,
|
|
SetEncoderSelector,
|
|
std::unique_ptr<VideoEncoderFactory::EncoderSelectorInterface>)
|
|
PROXY_METHOD1(RTCError, GenerateKeyFrame, const std::vector<std::string>&)
|
|
END_PROXY_MAP(RtpSender)
|
|
|
|
} // namespace webrtc
|
|
|
|
#endif // PC_RTP_SENDER_PROXY_H_
|