Update VideoEncoderSoftwareFallbackWrapper to take VideoEncoder as arg
VideoEncoderSoftwareFallbackWrapper is updated to take a VideoEncoder as
argument instead relying on built-in SW codecs. The purpose is to make
VideoEncoderSoftwareFallbackWrapper more modular and not depend on
built-in SW encoders.
Bug: webrtc:7925
Change-Id: I99896f0751cfb77e01efd29c97d3bd07bdb2c7c0
Reviewed-on: https://webrtc-review.googlesource.com/22320
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20671}
diff --git a/media/engine/videoencodersoftwarefallbackwrapper.h b/media/engine/videoencodersoftwarefallbackwrapper.h
index 6322982..a9a349c 100644
--- a/media/engine/videoencodersoftwarefallbackwrapper.h
+++ b/media/engine/videoencodersoftwarefallbackwrapper.h
@@ -26,8 +26,8 @@
class VideoEncoderSoftwareFallbackWrapper : public VideoEncoder {
public:
VideoEncoderSoftwareFallbackWrapper(
- const cricket::VideoCodec& codec,
- std::unique_ptr<webrtc::VideoEncoder> encoder);
+ std::unique_ptr<webrtc::VideoEncoder> sw_encoder,
+ std::unique_ptr<webrtc::VideoEncoder> hw_encoder);
int32_t InitEncode(const VideoCodec* codec_settings,
int32_t number_of_cores,
@@ -87,10 +87,10 @@
uint32_t packet_loss_;
int64_t rtt_;
- cricket::VideoCodec codec_;
- std::unique_ptr<webrtc::VideoEncoder> encoder_;
+ bool use_fallback_encoder_;
+ const std::unique_ptr<webrtc::VideoEncoder> encoder_;
- std::unique_ptr<webrtc::VideoEncoder> fallback_encoder_;
+ const std::unique_ptr<webrtc::VideoEncoder> fallback_encoder_;
EncodedImageCallback* callback_;
bool forced_fallback_possible_;