Move encoder metadata into EncoderInfo struct.
This deprecates the following methods in VideoEncoder: virtual ScalingSettings GetScalingSettings() const; virtual bool SupportsNativeHandle() const; virtual const char* ImplementationName() const; Though they are not marked RTC_DEPRECATED since we still want to call them from within the default GetEncoderInfo() until downstream projects have been updated. Furthmore, implementation name is changed from const char* to std:string, which prevents some lifetime issues with dynamic encoder names, and CodecSpecificInfo.codec_name is removed in favor of getting the implementation name via GetEncoderInfo(). This CL removes calls to these deprecated methods, follow-ups will also remove implementations of the methods and replace them with new GetEncoderInfo() substitutions. Bug: webrtc:9890 Change-Id: I6fd6e531480c0b952f53dbd5105e0b0adc3e3b0c Reviewed-on: https://webrtc-review.googlesource.com/c/106905 Reviewed-by: Stefan Holmer <stefan@webrtc.org> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org> Reviewed-by: Niels Moller <nisse@webrtc.org> Commit-Queue: Erik Språng <sprang@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25351}
This commit is contained in:
@ -90,9 +90,7 @@ class VideoEncoderSoftwareFallbackWrapper final : public VideoEncoder {
|
||||
int32_t SetChannelParameters(uint32_t packet_loss, int64_t rtt) override;
|
||||
int32_t SetRateAllocation(const VideoBitrateAllocation& bitrate_allocation,
|
||||
uint32_t framerate) override;
|
||||
bool SupportsNativeHandle() const override;
|
||||
ScalingSettings GetScalingSettings() const override;
|
||||
const char* ImplementationName() const override;
|
||||
EncoderInfo GetEncoderInfo() const override;
|
||||
|
||||
private:
|
||||
bool InitFallbackEncoder();
|
||||
@ -162,7 +160,7 @@ VideoEncoderSoftwareFallbackWrapper::VideoEncoderSoftwareFallbackWrapper(
|
||||
if (forced_fallback_possible_) {
|
||||
GetForcedFallbackParamsFromFieldTrialGroup(
|
||||
&forced_fallback_.min_pixels_, &forced_fallback_.max_pixels_,
|
||||
encoder_->GetScalingSettings().min_pixels_per_frame -
|
||||
encoder_->GetEncoderInfo().scaling_settings.min_pixels_per_frame -
|
||||
1); // No HW below.
|
||||
}
|
||||
}
|
||||
@ -294,29 +292,29 @@ int32_t VideoEncoderSoftwareFallbackWrapper::SetRateAllocation(
|
||||
return ret;
|
||||
}
|
||||
|
||||
bool VideoEncoderSoftwareFallbackWrapper::SupportsNativeHandle() const {
|
||||
return use_fallback_encoder_ ? fallback_encoder_->SupportsNativeHandle()
|
||||
: encoder_->SupportsNativeHandle();
|
||||
}
|
||||
VideoEncoder::EncoderInfo VideoEncoderSoftwareFallbackWrapper::GetEncoderInfo()
|
||||
const {
|
||||
EncoderInfo fallback_encoder_info = fallback_encoder_->GetEncoderInfo();
|
||||
EncoderInfo default_encoder_info = encoder_->GetEncoderInfo();
|
||||
|
||||
EncoderInfo info =
|
||||
use_fallback_encoder_ ? fallback_encoder_info : default_encoder_info;
|
||||
|
||||
VideoEncoder::ScalingSettings
|
||||
VideoEncoderSoftwareFallbackWrapper::GetScalingSettings() const {
|
||||
if (forced_fallback_possible_) {
|
||||
const auto settings = forced_fallback_.active_
|
||||
? fallback_encoder_->GetScalingSettings()
|
||||
: encoder_->GetScalingSettings();
|
||||
return settings.thresholds
|
||||
? VideoEncoder::ScalingSettings(settings.thresholds->low,
|
||||
settings.thresholds->high,
|
||||
forced_fallback_.min_pixels_)
|
||||
: VideoEncoder::ScalingSettings::kOff;
|
||||
? fallback_encoder_info.scaling_settings
|
||||
: default_encoder_info.scaling_settings;
|
||||
info.scaling_settings =
|
||||
settings.thresholds
|
||||
? VideoEncoder::ScalingSettings(settings.thresholds->low,
|
||||
settings.thresholds->high,
|
||||
forced_fallback_.min_pixels_)
|
||||
: VideoEncoder::ScalingSettings::kOff;
|
||||
} else {
|
||||
info.scaling_settings = default_encoder_info.scaling_settings;
|
||||
}
|
||||
return encoder_->GetScalingSettings();
|
||||
}
|
||||
|
||||
const char* VideoEncoderSoftwareFallbackWrapper::ImplementationName() const {
|
||||
return use_fallback_encoder_ ? fallback_encoder_->ImplementationName()
|
||||
: encoder_->ImplementationName();
|
||||
return info;
|
||||
}
|
||||
|
||||
bool VideoEncoderSoftwareFallbackWrapper::IsForcedFallbackActive() const {
|
||||
|
||||
Reference in New Issue
Block a user