Update MultiplexEncoderAdapter to use EncoderInfo
Bug: webrtc:9890 Change-Id: I8d02f0f25e515ec06e0e81624f80c12f95b13c3d Reviewed-on: https://webrtc-review.googlesource.com/c/109024 Commit-Queue: Erik Språng <sprang@webrtc.org> Reviewed-by: Emircan Uysaler <emircan@webrtc.org> Cr-Commit-Position: refs/heads/master@{#25476}
This commit is contained in:
@ -50,7 +50,7 @@ class MultiplexEncoderAdapter : public VideoEncoder {
|
||||
int SetRateAllocation(const VideoBitrateAllocation& bitrate,
|
||||
uint32_t new_framerate) override;
|
||||
int Release() override;
|
||||
const char* ImplementationName() const override;
|
||||
EncoderInfo GetEncoderInfo() const override;
|
||||
|
||||
EncodedImageCallback::Result OnEncodedImage(
|
||||
AlphaCodecStream stream_idx,
|
||||
@ -81,6 +81,8 @@ class MultiplexEncoderAdapter : public VideoEncoder {
|
||||
|
||||
const bool supports_augmented_data_;
|
||||
int augmenting_data_size_ = 0;
|
||||
|
||||
EncoderInfo encoder_info_;
|
||||
};
|
||||
|
||||
} // namespace webrtc
|
||||
|
@ -53,6 +53,7 @@ MultiplexEncoderAdapter::MultiplexEncoderAdapter(
|
||||
: factory_(factory),
|
||||
associated_format_(associated_format),
|
||||
encoded_complete_callback_(nullptr),
|
||||
key_frame_interval_(0),
|
||||
supports_augmented_data_(supports_augmented_data) {}
|
||||
|
||||
MultiplexEncoderAdapter::~MultiplexEncoderAdapter() {
|
||||
@ -92,6 +93,11 @@ int MultiplexEncoderAdapter::InitEncode(const VideoCodec* inst,
|
||||
break;
|
||||
}
|
||||
|
||||
encoder_info_ = EncoderInfo();
|
||||
encoder_info_.implementation_name = "MultiplexEncoderAdapter (";
|
||||
// This needs to be false so that we can do the split in Encode().
|
||||
encoder_info_.supports_native_handle = false;
|
||||
|
||||
for (size_t i = 0; i < kAlphaCodecStreams; ++i) {
|
||||
std::unique_ptr<VideoEncoder> encoder =
|
||||
factory_->CreateVideoEncoder(associated_format_);
|
||||
@ -104,8 +110,17 @@ int MultiplexEncoderAdapter::InitEncode(const VideoCodec* inst,
|
||||
adapter_callbacks_.emplace_back(new AdapterEncodedImageCallback(
|
||||
this, static_cast<AlphaCodecStream>(i)));
|
||||
encoder->RegisterEncodeCompleteCallback(adapter_callbacks_.back().get());
|
||||
|
||||
const EncoderInfo& encoder_impl_info = encoder->GetEncoderInfo();
|
||||
encoder_info_.implementation_name += encoder_impl_info.implementation_name;
|
||||
if (i != kAlphaCodecStreams - 1) {
|
||||
encoder_info_.implementation_name += ", ";
|
||||
}
|
||||
|
||||
encoders_.emplace_back(std::move(encoder));
|
||||
}
|
||||
encoder_info_.implementation_name += ")";
|
||||
|
||||
return WEBRTC_VIDEO_CODEC_OK;
|
||||
}
|
||||
|
||||
@ -238,8 +253,8 @@ int MultiplexEncoderAdapter::Release() {
|
||||
return WEBRTC_VIDEO_CODEC_OK;
|
||||
}
|
||||
|
||||
const char* MultiplexEncoderAdapter::ImplementationName() const {
|
||||
return "MultiplexEncoderAdapter";
|
||||
VideoEncoder::EncoderInfo MultiplexEncoderAdapter::GetEncoderInfo() const {
|
||||
return encoder_info_;
|
||||
}
|
||||
|
||||
EncodedImageCallback::Result MultiplexEncoderAdapter::OnEncodedImage(
|
||||
|
Reference in New Issue
Block a user