mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-12 21:30:45 +01:00

This cl/ adds a way of setting an EncoderSelector on a specific RtpSenderInterface. This makes it possible to easily use different EncoderSelector on different streams within the same or different PeerConnections. The cl/ is almost identical to the impl. of RtpSenderInterface::SetFrameEncryptor. Iff a EncoderSelector is set on the RtpSender, it will take precedence over the VideoEncoderFactory::GetEncoderSelector. Bug: webrtc:14122 Change-Id: Ief4f7c06df7f1ef4ce3245de304a48e9de0ad587 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/264542 Reviewed-by: Rasmus Brandt <brandtr@webrtc.org> Commit-Queue: Jonas Oreland <jonaso@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#37150}
42 lines
1.2 KiB
C++
42 lines
1.2 KiB
C++
/*
|
|
* Copyright 2018 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 API_TEST_MOCK_ENCODER_SELECTOR_H_
|
|
#define API_TEST_MOCK_ENCODER_SELECTOR_H_
|
|
|
|
#include "api/video_codecs/video_encoder_factory.h"
|
|
#include "test/gmock.h"
|
|
|
|
namespace webrtc {
|
|
|
|
class MockEncoderSelector
|
|
: public VideoEncoderFactory::EncoderSelectorInterface {
|
|
public:
|
|
MOCK_METHOD(void,
|
|
OnCurrentEncoder,
|
|
(const SdpVideoFormat& format),
|
|
(override));
|
|
|
|
MOCK_METHOD(absl::optional<SdpVideoFormat>,
|
|
OnAvailableBitrate,
|
|
(const DataRate& rate),
|
|
(override));
|
|
|
|
MOCK_METHOD(absl::optional<SdpVideoFormat>,
|
|
OnResolutionChange,
|
|
(const RenderResolution& resolution),
|
|
(override));
|
|
|
|
MOCK_METHOD(absl::optional<SdpVideoFormat>, OnEncoderBroken, (), (override));
|
|
};
|
|
|
|
} // namespace webrtc
|
|
|
|
#endif // API_TEST_MOCK_ENCODER_SELECTOR_H_
|