#include "third_party/blink/renderer/platform/peerconnection/webrtc_encoding_info_handler.h"
#include <utility>
#include <vector>
#include "base/containers/contains.h"
#include "base/logging.h"
#include "media/mojo/clients/mojo_video_encoder_metrics_provider.h"
#include "third_party/blink/public/platform/platform.h"
#include "third_party/blink/renderer/platform/peerconnection/audio_codec_factory.h"
#include "third_party/blink/renderer/platform/peerconnection/video_codec_factory.h"
#include "third_party/blink/renderer/platform/wtf/text/string_hash.h"
#include "third_party/webrtc/api/audio_codecs/audio_encoder_factory.h"
#include "third_party/webrtc/api/audio_codecs/audio_format.h"
#include "third_party/webrtc/api/scoped_refptr.h"
#include "third_party/webrtc/api/video_codecs/sdp_video_format.h"
#include "third_party/webrtc/api/video_codecs/video_encoder_factory.h"
namespace blink {
WebrtcEncodingInfoHandler* WebrtcEncodingInfoHandler::Instance() { … }
WebrtcEncodingInfoHandler::WebrtcEncodingInfoHandler()
: … { … }
WebrtcEncodingInfoHandler::WebrtcEncodingInfoHandler(
std::unique_ptr<webrtc::VideoEncoderFactory> video_encoder_factory,
rtc::scoped_refptr<webrtc::AudioEncoderFactory> audio_encoder_factory)
: … { … }
WebrtcEncodingInfoHandler::~WebrtcEncodingInfoHandler() = default;
void WebrtcEncodingInfoHandler::EncodingInfo(
const std::optional<webrtc::SdpAudioFormat> sdp_audio_format,
const std::optional<webrtc::SdpVideoFormat> sdp_video_format,
const std::optional<String> video_scalability_mode,
OnMediaCapabilitiesEncodingInfoCallback callback) const { … }
}