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:
Erik Språng
2018-10-24 11:32:39 +02:00
committed by Commit Bot
parent 2d3a1fb950
commit e2fd86a79c
22 changed files with 171 additions and 102 deletions

View File

@ -79,6 +79,7 @@ struct CodecSpecificInfo {
memset(&codecSpecific, 0, sizeof(codecSpecific));
}
VideoCodecType codecType;
// |codec_name| is deprecated, use name provided by VideoEncoder instead.
const char* codec_name;
CodecSpecificInfoUnion codecSpecific;
};