Chromium Code Reviews| Index: webrtc/video/video_send_stream.cc |
| diff --git a/webrtc/video/video_send_stream.cc b/webrtc/video/video_send_stream.cc |
| index df4b2955465045b4b9509628ad625271c8cdad1f..28da84091ed3acd16480cb9d3839bb740ff95193 100644 |
| --- a/webrtc/video/video_send_stream.cc |
| +++ b/webrtc/video/video_send_stream.cc |
| @@ -529,16 +529,17 @@ void VideoSendStream::Start() { |
| return; |
| TRACE_EVENT_INSTANT0("webrtc", "VideoSendStream::Start"); |
| payload_router_.set_active(true); |
| + vie_encoder_.OnBitrateUpdated( |
| + protection_bitrate_calculator_.GetEncoderTargetRate(), 0, 0); |
|
pbos-webrtc
2016/06/16 13:16:28
What does it mean to put bogus values for fraction
perkj_webrtc
2016/06/16 18:42:18
There is no guarantee that the rtt and packet loss
|
| // Was not already started, trigger a keyframe. |
| vie_encoder_.SendKeyFrame(); |
| - vie_encoder_.Start(); |
| } |
| void VideoSendStream::Stop() { |
| if (!payload_router_.active()) |
| return; |
| TRACE_EVENT_INSTANT0("webrtc", "VideoSendStream::Stop"); |
| - vie_encoder_.Pause(); |
| + vie_encoder_.OnBitrateUpdated(0, 0, 0); |
| payload_router_.set_active(false); |
| } |
| @@ -850,6 +851,8 @@ void VideoSendStream::OnBitrateUpdated(uint32_t bitrate_bps, |
| uint32_t encoder_target_rate = protection_bitrate_calculator_.SetTargetRates( |
| bitrate_bps, stats_proxy_.GetSendFrameRate(), fraction_loss, rtt); |
| + if (!payload_router_.active()) |
| + return; // The send stream is currently not started. |
|
pbos-webrtc
2016/06/16 13:16:28
Should the last fraction_loss and rtt be stored?
perkj_webrtc
2016/06/16 18:42:18
I dont' think they actually make sense. But we cou
|
| vie_encoder_.OnBitrateUpdated(encoder_target_rate, fraction_loss, rtt); |
| } |