| Index: webrtc/video/video_send_stream.cc
|
| diff --git a/webrtc/video/video_send_stream.cc b/webrtc/video/video_send_stream.cc
|
| index 241a0de34563d06111d804d1bd88d64654c3b494..f1f9d871538a9d78216dd5839734bbacb51a56e2 100644
|
| --- a/webrtc/video/video_send_stream.cc
|
| +++ b/webrtc/video/video_send_stream.cc
|
| @@ -333,18 +333,21 @@ VideoCaptureInput* VideoSendStream::Input() {
|
| }
|
|
|
| void VideoSendStream::Start() {
|
| + if (payload_router_.active())
|
| + return;
|
| vie_encoder_.Pause();
|
| - if (vie_channel_.StartSend() == 0) {
|
| - // Was not already started, trigger a keyframe.
|
| - vie_encoder_.SendKeyFrame();
|
| - }
|
| + payload_router_.set_active(true);
|
| + // Was not already started, trigger a keyframe.
|
| + vie_encoder_.SendKeyFrame();
|
| vie_encoder_.Restart();
|
| vie_receiver_->StartReceive();
|
| }
|
|
|
| void VideoSendStream::Stop() {
|
| + if (!payload_router_.active())
|
| + return;
|
| // TODO(pbos): Make sure the encoder stops here.
|
| - vie_channel_.StopSend();
|
| + payload_router_.set_active(false);
|
| vie_receiver_->StopReceive();
|
| }
|
|
|
| @@ -613,10 +616,10 @@ bool VideoSendStream::SetSendCodec(VideoCodec video_codec) {
|
| return false;
|
| }
|
|
|
| - if (vie_channel_.SetSendCodec(video_codec, false) != 0) {
|
| - LOG(LS_ERROR) << "Failed to set send codec.";
|
| - return false;
|
| - }
|
| + size_t num_streams = video_codec.numberOfSimulcastStreams > 0
|
| + ? video_codec.numberOfSimulcastStreams
|
| + : 1;
|
| + payload_router_.SetSendingRtpModules(num_streams);
|
|
|
| // Restart the media flow
|
| vie_encoder_.Restart();
|
|
|