Revert of Stop caching supported codecs in WebRtcVideoEngine2 (patchset #1 id:1 of https://codereview.webrtc.org/2492473002/ )
Reason for revert: This CL probably broke Chromium FYI. Original issue's description: > Stop caching supported codecs in WebRtcVideoEngine2 > > We currently cache the result of GetSupportedCodecs in a member variable > |video_codecs_| in WebRtcVideoEngine2. This means we need to keep > |video_codecs_| and the result of GetSupportedCodecs in sync, which is > error prone. It's simpler to just call GetSupportedCodecs when we need > it, and we actually end up making fewer calls, so it's faster as well. > This CL also returns all std::vectors by-value instead of by-ref. Move > semantic together with in-place filtering of codecs actually end up with > fewer copies, and it's also simpler to not return references. > > BUG=webrtc:6337 > > Committed: https://crrev.com/9f71ec5a3e3175751f4475b126cfda89767363f2 > Cr-Commit-Position: refs/heads/master@{#15007} TBR=tommi@webrtc.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=webrtc:6337 Review-Url: https://codereview.webrtc.org/2489173004 Cr-Commit-Position: refs/heads/master@{#15014}
This commit is contained in:
@ -543,6 +543,7 @@ WebRtcVideoEngine2::WebRtcVideoEngine2()
|
||||
external_decoder_factory_(NULL),
|
||||
external_encoder_factory_(NULL) {
|
||||
LOG(LS_INFO) << "WebRtcVideoEngine2::WebRtcVideoEngine2()";
|
||||
video_codecs_ = GetSupportedCodecs(external_encoder_factory_);
|
||||
}
|
||||
|
||||
WebRtcVideoEngine2::~WebRtcVideoEngine2() {
|
||||
@ -565,8 +566,8 @@ WebRtcVideoChannel2* WebRtcVideoEngine2::CreateChannel(
|
||||
external_decoder_factory_);
|
||||
}
|
||||
|
||||
const std::vector<VideoCodec> WebRtcVideoEngine2::codecs() const {
|
||||
return GetSupportedCodecs(external_encoder_factory_);
|
||||
const std::vector<VideoCodec>& WebRtcVideoEngine2::codecs() const {
|
||||
return video_codecs_;
|
||||
}
|
||||
|
||||
RtpCapabilities WebRtcVideoEngine2::GetCapabilities() const {
|
||||
@ -613,6 +614,8 @@ void WebRtcVideoEngine2::SetExternalEncoderFactory(
|
||||
encoder_factory = simulcast_encoder_factory_.get();
|
||||
}
|
||||
external_encoder_factory_ = encoder_factory;
|
||||
|
||||
video_codecs_ = GetSupportedCodecs(encoder_factory);
|
||||
}
|
||||
|
||||
static std::vector<VideoCodec> GetSupportedCodecs(
|
||||
|
||||
@ -105,7 +105,7 @@ class WebRtcVideoEngine2 {
|
||||
const MediaConfig& config,
|
||||
const VideoOptions& options);
|
||||
|
||||
const std::vector<VideoCodec> codecs() const;
|
||||
const std::vector<VideoCodec>& codecs() const;
|
||||
RtpCapabilities GetCapabilities() const;
|
||||
|
||||
// Set a WebRtcVideoDecoderFactory for external decoding. Video engine does
|
||||
@ -119,6 +119,8 @@ class WebRtcVideoEngine2 {
|
||||
WebRtcVideoEncoderFactory* encoder_factory);
|
||||
|
||||
private:
|
||||
std::vector<VideoCodec> video_codecs_;
|
||||
|
||||
bool initialized_;
|
||||
|
||||
WebRtcVideoDecoderFactory* external_decoder_factory_;
|
||||
|
||||
Reference in New Issue
Block a user