Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Side by Side Diff: webrtc/media/engine/webrtcvideoengine2.cc

Issue 2408153002: Remove cricket::VideoCodec with, height and framerate properties (Closed)
Patch Set: rebased Created 4 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 codec->AddFeedbackParam(FeedbackParam(kRtcpFbParamCcm, kRtcpFbCcmParamFir)); 176 codec->AddFeedbackParam(FeedbackParam(kRtcpFbParamCcm, kRtcpFbCcmParamFir));
177 codec->AddFeedbackParam(FeedbackParam(kRtcpFbParamNack, kParamValueEmpty)); 177 codec->AddFeedbackParam(FeedbackParam(kRtcpFbParamNack, kParamValueEmpty));
178 codec->AddFeedbackParam(FeedbackParam(kRtcpFbParamNack, kRtcpFbNackParamPli)); 178 codec->AddFeedbackParam(FeedbackParam(kRtcpFbParamNack, kRtcpFbNackParamPli));
179 codec->AddFeedbackParam(FeedbackParam(kRtcpFbParamRemb, kParamValueEmpty)); 179 codec->AddFeedbackParam(FeedbackParam(kRtcpFbParamRemb, kParamValueEmpty));
180 codec->AddFeedbackParam( 180 codec->AddFeedbackParam(
181 FeedbackParam(kRtcpFbParamTransportCc, kParamValueEmpty)); 181 FeedbackParam(kRtcpFbParamTransportCc, kParamValueEmpty));
182 } 182 }
183 183
184 static VideoCodec MakeVideoCodecWithDefaultFeedbackParams(int payload_type, 184 static VideoCodec MakeVideoCodecWithDefaultFeedbackParams(int payload_type,
185 const char* name) { 185 const char* name) {
186 VideoCodec codec(payload_type, name, kDefaultVideoMaxWidth, 186 VideoCodec codec(payload_type, name);
187 kDefaultVideoMaxHeight, kDefaultVideoMaxFramerate);
188 AddDefaultFeedbackParams(&codec); 187 AddDefaultFeedbackParams(&codec);
189 return codec; 188 return codec;
190 } 189 }
191 190
192 static std::string CodecVectorToString(const std::vector<VideoCodec>& codecs) { 191 static std::string CodecVectorToString(const std::vector<VideoCodec>& codecs) {
193 std::stringstream out; 192 std::stringstream out;
194 out << '{'; 193 out << '{';
195 for (size_t i = 0; i < codecs.size(); ++i) { 194 for (size_t i = 0; i < codecs.size(); ++i) {
196 out << codecs[i].ToString(); 195 out << codecs[i].ToString();
197 if (i != codecs.size() - 1) { 196 if (i != codecs.size() - 1) {
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after
668 // we only support up to 8 external payload types. 667 // we only support up to 8 external payload types.
669 // TODO(deadbeef): mediasession.cc already has code to dynamically 668 // TODO(deadbeef): mediasession.cc already has code to dynamically
670 // determine a payload type. We should be able to just leave the payload 669 // determine a payload type. We should be able to just leave the payload
671 // type empty and let mediasession determine it. However, currently RTX 670 // type empty and let mediasession determine it. However, currently RTX
672 // codecs are associated to codecs by payload type, meaning we DO need 671 // codecs are associated to codecs by payload type, meaning we DO need
673 // to allocate unique payload types here. So to make this change we would 672 // to allocate unique payload types here. So to make this change we would
674 // need to make RTX codecs associated by name instead. 673 // need to make RTX codecs associated by name instead.
675 const int kExternalVideoPayloadTypeBase = 120; 674 const int kExternalVideoPayloadTypeBase = 120;
676 size_t payload_type = kExternalVideoPayloadTypeBase + i; 675 size_t payload_type = kExternalVideoPayloadTypeBase + i;
677 RTC_DCHECK(payload_type < 128); 676 RTC_DCHECK(payload_type < 128);
678 VideoCodec codec(static_cast<int>(payload_type), codecs[i].name, 677 VideoCodec codec(static_cast<int>(payload_type), codecs[i].name);
679 codecs[i].max_width, codecs[i].max_height,
680 codecs[i].max_fps);
681 678
682 AddDefaultFeedbackParams(&codec); 679 AddDefaultFeedbackParams(&codec);
683 AddCodecAndMaybeRtxCodec(codec, &supported_codecs); 680 AddCodecAndMaybeRtxCodec(codec, &supported_codecs);
684 } 681 }
685 LOG(LS_INFO) << "Supported codecs (incl. external codecs): " 682 LOG(LS_INFO) << "Supported codecs (incl. external codecs): "
686 << CodecVectorToString(supported_codecs); 683 << CodecVectorToString(supported_codecs);
687 LOG(LS_INFO) << "Codecs supported by the external encoder factory: " 684 LOG(LS_INFO) << "Codecs supported by the external encoder factory: "
688 << out.str(); 685 << out.str();
689 return supported_codecs; 686 return supported_codecs;
690 } 687 }
(...skipping 1308 matching lines...) Expand 10 before | Expand all | Expand 10 after
1999 parameters_.max_bitrate_bps); 1996 parameters_.max_bitrate_bps);
2000 1997
2001 int codec_max_bitrate_kbps; 1998 int codec_max_bitrate_kbps;
2002 if (codec.GetParam(kCodecParamMaxBitrate, &codec_max_bitrate_kbps)) { 1999 if (codec.GetParam(kCodecParamMaxBitrate, &codec_max_bitrate_kbps)) {
2003 stream_max_bitrate = codec_max_bitrate_kbps * 1000; 2000 stream_max_bitrate = codec_max_bitrate_kbps * 1000;
2004 } 2001 }
2005 encoder_config.max_bitrate_bps = stream_max_bitrate; 2002 encoder_config.max_bitrate_bps = stream_max_bitrate;
2006 2003
2007 int max_qp = kDefaultQpMax; 2004 int max_qp = kDefaultQpMax;
2008 codec.GetParam(kCodecParamMaxQuantization, &max_qp); 2005 codec.GetParam(kCodecParamMaxQuantization, &max_qp);
2009 int max_framerate =
2010 codec.framerate != 0 ? codec.framerate : kDefaultVideoMaxFramerate;
2011
2012 encoder_config.video_stream_factory = 2006 encoder_config.video_stream_factory =
2013 new rtc::RefCountedObject<EncoderStreamFactory>( 2007 new rtc::RefCountedObject<EncoderStreamFactory>(
2014 codec.name, max_qp, max_framerate, is_screencast, 2008 codec.name, max_qp, kDefaultVideoMaxFramerate, is_screencast,
2015 parameters_.conference_mode); 2009 parameters_.conference_mode);
2016 return encoder_config; 2010 return encoder_config;
2017 } 2011 }
2018 2012
2019 void WebRtcVideoChannel2::WebRtcVideoSendStream::ReconfigureEncoder() { 2013 void WebRtcVideoChannel2::WebRtcVideoSendStream::ReconfigureEncoder() {
2020 RTC_DCHECK_RUN_ON(&thread_checker_); 2014 RTC_DCHECK_RUN_ON(&thread_checker_);
2021 if (!stream_) { 2015 if (!stream_) {
2022 // The webrtc::VideoSendStream |stream_|has not yet been created but other 2016 // The webrtc::VideoSendStream |stream_|has not yet been created but other
2023 // parameters has changed. 2017 // parameters has changed.
2024 return; 2018 return;
(...skipping 671 matching lines...) Expand 10 before | Expand all | Expand 10 after
2696 rtx_mapping[video_codecs[i].codec.id] != 2690 rtx_mapping[video_codecs[i].codec.id] !=
2697 ulpfec_config.red_payload_type) { 2691 ulpfec_config.red_payload_type) {
2698 video_codecs[i].rtx_payload_type = rtx_mapping[video_codecs[i].codec.id]; 2692 video_codecs[i].rtx_payload_type = rtx_mapping[video_codecs[i].codec.id];
2699 } 2693 }
2700 } 2694 }
2701 2695
2702 return video_codecs; 2696 return video_codecs;
2703 } 2697 }
2704 2698
2705 } // namespace cricket 2699 } // namespace cricket
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698