Chromium Code Reviews| Index: webrtc/video/vie_encoder.cc |
| diff --git a/webrtc/video/vie_encoder.cc b/webrtc/video/vie_encoder.cc |
| index c1f6b0971afbbd3c87eed974cb13685e20b16870..3b7b277073f8810fd1aa1e9e6c9945bf8fc9222c 100644 |
| --- a/webrtc/video/vie_encoder.cc |
| +++ b/webrtc/video/vie_encoder.cc |
| @@ -194,20 +194,19 @@ int32_t ViEEncoder::DeRegisterExternalEncoder(uint8_t pl_type) { |
| } |
| return 0; |
| } |
| - |
| -int32_t ViEEncoder::SetEncoder(const webrtc::VideoCodec& video_codec) { |
| +void ViEEncoder::SetEncoder(const webrtc::VideoCodec& video_codec) { |
| RTC_DCHECK(send_payload_router_ != NULL); |
| // Setting target width and height for VPM. |
| - if (vp_->SetTargetResolution(video_codec.width, video_codec.height, |
| - video_codec.maxFramerate) != VPM_OK) { |
| - return -1; |
| - } |
| + RTC_CHECK_EQ(VPM_OK, |
| + vp_->SetTargetResolution(video_codec.width, video_codec.height, |
| + video_codec.maxFramerate)); |
| // Cache codec before calling AddBitrateObserver (which calls OnNetworkChanged |
| // that makes use of the number of simulcast streams configured). |
| { |
| rtc::CritScope lock(&data_cs_); |
| encoder_config_ = video_codec; |
| + encoder_paused_ = true; |
| } |
| // Add a bitrate observer to the allocator and update the start, max and |
| @@ -220,12 +219,15 @@ int32_t ViEEncoder::SetEncoder(const webrtc::VideoCodec& video_codec) { |
| modified_video_codec.startBitrate = allocated_bitrate_bps / 1000; |
| size_t max_data_payload_length = send_payload_router_->MaxPayloadLength(); |
| - if (vcm_->RegisterSendCodec(&modified_video_codec, number_of_cores_, |
| - static_cast<uint32_t>(max_data_payload_length)) != |
| - VCM_OK) { |
| - return -1; |
| - } |
| - return 0; |
| + RTC_CHECK_EQ(VCM_OK, vcm_->RegisterSendCodec( |
|
pbos-webrtc
2016/03/02 15:37:17
If you prefer we could not CHECK here but rather f
pbos-webrtc
2016/03/02 15:42:19
(Note that this CHECK was effectively in place for
stefan-webrtc
2016/03/02 15:56:33
DCHECK as discussed.
|
| + &modified_video_codec, number_of_cores_, |
| + static_cast<uint32_t>(max_data_payload_length))); |
| + |
| + send_payload_router_->SetSendingRtpModules( |
| + video_codec.numberOfSimulcastStreams); |
| + |
| + // Restart the media flow |
| + Restart(); |
| } |
| int ViEEncoder::GetPaddingNeededBps() const { |