| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  *  Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2  *  Copyright (c) 2013 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 244 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 255   vie_channel_.RegisterSendChannelRtpStatisticsCallback(&stats_proxy_); | 255   vie_channel_.RegisterSendChannelRtpStatisticsCallback(&stats_proxy_); | 
| 256   vie_channel_.RegisterRtcpPacketTypeCounterObserver(&stats_proxy_); | 256   vie_channel_.RegisterRtcpPacketTypeCounterObserver(&stats_proxy_); | 
| 257   vie_channel_.RegisterSendBitrateObserver(&stats_proxy_); | 257   vie_channel_.RegisterSendBitrateObserver(&stats_proxy_); | 
| 258   vie_channel_.RegisterSendFrameCountObserver(&stats_proxy_); | 258   vie_channel_.RegisterSendFrameCountObserver(&stats_proxy_); | 
| 259 | 259 | 
| 260   module_process_thread_->RegisterModule(&overuse_detector_); | 260   module_process_thread_->RegisterModule(&overuse_detector_); | 
| 261 } | 261 } | 
| 262 | 262 | 
| 263 VideoSendStream::~VideoSendStream() { | 263 VideoSendStream::~VideoSendStream() { | 
| 264   LOG(LS_INFO) << "~VideoSendStream: " << config_.ToString(); | 264   LOG(LS_INFO) << "~VideoSendStream: " << config_.ToString(); | 
|  | 265   Stop(); | 
|  | 266 | 
| 265   module_process_thread_->DeRegisterModule(&overuse_detector_); | 267   module_process_thread_->DeRegisterModule(&overuse_detector_); | 
| 266   // Remove vcm_protection_callback (part of vie_channel_) before destroying | 268   // Remove vcm_protection_callback (part of vie_channel_) before destroying | 
| 267   // ViEChannel. vcm_ is owned by ViEEncoder and the registered callback does | 269   // ViEChannel. vcm_ is owned by ViEEncoder and the registered callback does | 
| 268   // not outlive it. | 270   // not outlive it. | 
| 269   vcm_->RegisterProtectionCallback(nullptr); | 271   vcm_->RegisterProtectionCallback(nullptr); | 
| 270   vie_channel_.RegisterSendFrameCountObserver(nullptr); | 272   vie_channel_.RegisterSendFrameCountObserver(nullptr); | 
| 271   vie_channel_.RegisterSendBitrateObserver(nullptr); | 273   vie_channel_.RegisterSendBitrateObserver(nullptr); | 
| 272   vie_channel_.RegisterRtcpPacketTypeCounterObserver(nullptr); | 274   vie_channel_.RegisterRtcpPacketTypeCounterObserver(nullptr); | 
| 273   vie_channel_.RegisterSendChannelRtpStatisticsCallback(nullptr); | 275   vie_channel_.RegisterSendChannelRtpStatisticsCallback(nullptr); | 
| 274   vie_channel_.RegisterSendChannelRtcpStatisticsCallback(nullptr); | 276   vie_channel_.RegisterSendChannelRtcpStatisticsCallback(nullptr); | 
| (...skipping 20 matching lines...) Expand all  Loading... | 
| 295 } | 297 } | 
| 296 | 298 | 
| 297 void VideoSendStream::Start() { | 299 void VideoSendStream::Start() { | 
| 298   transport_adapter_.Enable(); | 300   transport_adapter_.Enable(); | 
| 299   vie_encoder_.Pause(); | 301   vie_encoder_.Pause(); | 
| 300   if (vie_channel_.StartSend() == 0) { | 302   if (vie_channel_.StartSend() == 0) { | 
| 301     // Was not already started, trigger a keyframe. | 303     // Was not already started, trigger a keyframe. | 
| 302     vie_encoder_.SendKeyFrame(); | 304     vie_encoder_.SendKeyFrame(); | 
| 303   } | 305   } | 
| 304   vie_encoder_.Restart(); | 306   vie_encoder_.Restart(); | 
| 305   vie_channel_.StartReceive(); | 307   vie_receiver_->StartReceive(); | 
| 306 } | 308 } | 
| 307 | 309 | 
| 308 void VideoSendStream::Stop() { | 310 void VideoSendStream::Stop() { | 
| 309   // TODO(pbos): Make sure the encoder stops here. | 311   // TODO(pbos): Make sure the encoder stops here. | 
| 310   vie_channel_.StopSend(); | 312   vie_channel_.StopSend(); | 
| 311   vie_channel_.StopReceive(); | 313   vie_receiver_->StopReceive(); | 
| 312   transport_adapter_.Disable(); | 314   transport_adapter_.Disable(); | 
| 313 } | 315 } | 
| 314 | 316 | 
| 315 bool VideoSendStream::ReconfigureVideoEncoder( | 317 bool VideoSendStream::ReconfigureVideoEncoder( | 
| 316     const VideoEncoderConfig& config) { | 318     const VideoEncoderConfig& config) { | 
| 317   TRACE_EVENT0("webrtc", "VideoSendStream::(Re)configureVideoEncoder"); | 319   TRACE_EVENT0("webrtc", "VideoSendStream::(Re)configureVideoEncoder"); | 
| 318   LOG(LS_INFO) << "(Re)configureVideoEncoder: " << config.ToString(); | 320   LOG(LS_INFO) << "(Re)configureVideoEncoder: " << config.ToString(); | 
| 319   const std::vector<VideoStream>& streams = config.streams; | 321   const std::vector<VideoStream>& streams = config.streams; | 
| 320   RTC_DCHECK(!streams.empty()); | 322   RTC_DCHECK(!streams.empty()); | 
| 321   RTC_DCHECK_GE(config_.rtp.ssrcs.size(), streams.size()); | 323   RTC_DCHECK_GE(config_.rtp.ssrcs.size(), streams.size()); | 
| (...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 596   used_ssrcs.resize(static_cast<size_t>(video_codec.numberOfSimulcastStreams)); | 598   used_ssrcs.resize(static_cast<size_t>(video_codec.numberOfSimulcastStreams)); | 
| 597   vie_encoder_.SetSsrcs(used_ssrcs); | 599   vie_encoder_.SetSsrcs(used_ssrcs); | 
| 598 | 600 | 
| 599   // Restart the media flow | 601   // Restart the media flow | 
| 600   vie_encoder_.Restart(); | 602   vie_encoder_.Restart(); | 
| 601 | 603 | 
| 602   return true; | 604   return true; | 
| 603 } | 605 } | 
| 604 }  // namespace internal | 606 }  // namespace internal | 
| 605 }  // namespace webrtc | 607 }  // namespace webrtc | 
| OLD | NEW | 
|---|