Use EncoderInfo in SimulcastEncoderAdapter

Remove use of deprecated methods.

Bug: webrtc:9890
Change-Id: I96cce2fc94cb4c4ac07ffc882f5d2b84e279e3b6
Reviewed-on: https://webrtc-review.googlesource.com/c/108123
Commit-Queue: Erik Språng <sprang@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25474}
This commit is contained in:
Erik Språng
2018-11-01 14:52:30 +01:00
committed by Commit Bot
parent 4eb4112508
commit 9b5b070817
5 changed files with 28 additions and 45 deletions

View File

@ -516,31 +516,24 @@ void SimulcastEncoderAdapter::DestroyStoredEncoders() {
}
}
bool SimulcastEncoderAdapter::SupportsNativeHandle() const {
RTC_DCHECK_CALLED_SEQUENTIALLY(&encoder_queue_);
// We should not be calling this method before streaminfos_ are configured.
VideoEncoder::EncoderInfo SimulcastEncoderAdapter::GetEncoderInfo() const {
EncoderInfo info;
if (Initialized() && NumberOfStreams(codec_) > 1) {
info = streaminfos_[0].encoder->GetEncoderInfo();
}
info.supports_native_handle = true;
for (const auto& streaminfo : streaminfos_) {
if (!streaminfo.encoder->SupportsNativeHandle()) {
return false;
if (!streaminfo.encoder->GetEncoderInfo().supports_native_handle) {
info.supports_native_handle = false;
break;
}
}
return true;
}
VideoEncoder::ScalingSettings SimulcastEncoderAdapter::GetScalingSettings()
const {
// TODO(brandtr): Investigate why the sequence checker below fails on mac.
// RTC_DCHECK_CALLED_SEQUENTIALLY(&encoder_queue_);
// Turn off quality scaling for simulcast.
if (!Initialized() || NumberOfStreams(codec_) != 1) {
return VideoEncoder::ScalingSettings::kOff;
}
return streaminfos_[0].encoder->GetScalingSettings();
}
info.implementation_name = implementation_name_;
const char* SimulcastEncoderAdapter::ImplementationName() const {
RTC_DCHECK_CALLED_SEQUENTIALLY(&encoder_queue_);
return implementation_name_.c_str();
return info;
}
} // namespace webrtc

View File

@ -61,10 +61,7 @@ class SimulcastEncoderAdapter : public VideoEncoder {
const CodecSpecificInfo* codec_specific_info,
const RTPFragmentationHeader* fragmentation);
VideoEncoder::ScalingSettings GetScalingSettings() const override;
bool SupportsNativeHandle() const override;
const char* ImplementationName() const override;
EncoderInfo GetEncoderInfo() const override;
private:
struct StreamInfo {

View File

@ -212,8 +212,11 @@ class MockVideoEncoder : public VideoEncoder {
MOCK_METHOD2(SetChannelParameters, int32_t(uint32_t packetLoss, int64_t rtt));
bool SupportsNativeHandle() const /* override */ {
return supports_native_handle_;
EncoderInfo GetEncoderInfo() const override {
EncoderInfo info;
info.supports_native_handle = supports_native_handle_;
info.implementation_name = implementation_name_;
return info;
}
virtual ~MockVideoEncoder() { factory_->DestroyVideoEncoder(this); }
@ -235,17 +238,20 @@ class MockVideoEncoder : public VideoEncoder {
supports_native_handle_ = enabled;
}
void set_implementation_name(const std::string& name) {
implementation_name_ = name;
}
void set_init_encode_return_value(int32_t value) {
init_encode_return_value_ = value;
}
VideoBitrateAllocation last_set_bitrate() const { return last_set_bitrate_; }
MOCK_CONST_METHOD0(ImplementationName, const char*());
private:
MockVideoEncoderFactory* const factory_;
bool supports_native_handle_ = false;
std::string implementation_name_ = "unknown";
int32_t init_encode_return_value_ = 0;
VideoBitrateAllocation last_set_bitrate_;
@ -267,7 +273,7 @@ std::unique_ptr<VideoEncoder> MockVideoEncoderFactory::CreateVideoEncoder(
const char* encoder_name = encoder_names_.empty()
? "codec_implementation_name"
: encoder_names_[encoders_.size()];
ON_CALL(*encoder, ImplementationName()).WillByDefault(Return(encoder_name));
encoder->set_implementation_name(encoder_name);
encoders_.push_back(encoder.get());
return encoder;
}

View File

@ -66,17 +66,8 @@ int VP8EncoderSimulcastProxy::SetRateAllocation(
return encoder_->SetRateAllocation(bitrate, new_framerate);
}
VideoEncoder::ScalingSettings VP8EncoderSimulcastProxy::GetScalingSettings()
const {
return encoder_->GetScalingSettings();
}
bool VP8EncoderSimulcastProxy::SupportsNativeHandle() const {
return encoder_->SupportsNativeHandle();
}
const char* VP8EncoderSimulcastProxy::ImplementationName() const {
return encoder_->ImplementationName();
VideoEncoder::EncoderInfo VP8EncoderSimulcastProxy::GetEncoderInfo() const {
return encoder_->GetEncoderInfo();
}
} // namespace webrtc

View File

@ -45,11 +45,7 @@ class VP8EncoderSimulcastProxy : public VideoEncoder {
int SetChannelParameters(uint32_t packet_loss, int64_t rtt) override;
int SetRateAllocation(const VideoBitrateAllocation& bitrate,
uint32_t new_framerate) override;
VideoEncoder::ScalingSettings GetScalingSettings() const override;
bool SupportsNativeHandle() const override;
const char* ImplementationName() const override;
EncoderInfo GetEncoderInfo() const override;
private:
VideoEncoderFactory* const factory_;