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

Side by Side Diff: webrtc/video/video_send_stream.cc

Issue 1932683002: Remove ViEEncoder::SetNetworkStatus (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@move_pacer
Patch Set: Addressed comments Created 4 years, 7 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) 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 468 matching lines...) Expand 10 before | Expand all | Expand 10 after
479 rtp_rtcp_modules_[0]->SetREMBStatus(false); 479 rtp_rtcp_modules_[0]->SetREMBStatus(false);
480 remb_->RemoveRembSender(rtp_rtcp_modules_[0]); 480 remb_->RemoveRembSender(rtp_rtcp_modules_[0]);
481 481
482 for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_) { 482 for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_) {
483 congestion_controller_->packet_router()->RemoveRtpModule(rtp_rtcp); 483 congestion_controller_->packet_router()->RemoveRtpModule(rtp_rtcp);
484 module_process_thread_->DeRegisterModule(rtp_rtcp); 484 module_process_thread_->DeRegisterModule(rtp_rtcp);
485 delete rtp_rtcp; 485 delete rtp_rtcp;
486 } 486 }
487 } 487 }
488 488
489 void VideoSendStream::SignalNetworkState(NetworkState state) {
490 // When network goes up, enable RTCP status before setting transmission state.
491 // When it goes down, disable RTCP afterwards. This ensures that any packets
492 // sent due to the network state changed will not be dropped.
493 if (state == kNetworkUp) {
494 for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_)
495 rtp_rtcp->SetRTCPStatus(config_.rtp.rtcp_mode);
496 }
497 vie_encoder_.SetNetworkTransmissionState(state == kNetworkUp);
498 if (state == kNetworkDown) {
499 for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_)
500 rtp_rtcp->SetRTCPStatus(RtcpMode::kOff);
501 }
502 }
503
504 bool VideoSendStream::DeliverRtcp(const uint8_t* packet, size_t length) { 489 bool VideoSendStream::DeliverRtcp(const uint8_t* packet, size_t length) {
505 for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_) 490 for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_)
506 rtp_rtcp->IncomingRtcpPacket(packet, length); 491 rtp_rtcp->IncomingRtcpPacket(packet, length);
507 return true; 492 return true;
508 } 493 }
509 494
510 void VideoSendStream::Start() { 495 void VideoSendStream::Start() {
511 if (payload_router_.active()) 496 if (payload_router_.active())
512 return; 497 return;
513 TRACE_EVENT_INSTANT0("webrtc", "VideoSendStream::Start"); 498 TRACE_EVENT_INSTANT0("webrtc", "VideoSendStream::Start");
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
735 } 720 }
736 721
737 for (size_t i = 0; i < config_.rtp.rtx.ssrcs.size(); ++i) { 722 for (size_t i = 0; i < config_.rtp.rtx.ssrcs.size(); ++i) {
738 uint32_t ssrc = config_.rtp.rtx.ssrcs[i]; 723 uint32_t ssrc = config_.rtp.rtx.ssrcs[i];
739 rtp_states[ssrc] = rtp_rtcp_modules_[i]->GetRtxState(); 724 rtp_states[ssrc] = rtp_rtcp_modules_[i]->GetRtxState();
740 } 725 }
741 726
742 return rtp_states; 727 return rtp_states;
743 } 728 }
744 729
730 void VideoSendStream::SignalNetworkState(NetworkState state) {
731 for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_) {
732 rtp_rtcp->SetRTCPStatus(state == kNetworkUp ? config_.rtp.rtcp_mode
733 : RtcpMode::kOff);
734 }
735 }
736
745 int VideoSendStream::GetPaddingNeededBps() const { 737 int VideoSendStream::GetPaddingNeededBps() const {
746 return vie_encoder_.GetPaddingNeededBps(); 738 return vie_encoder_.GetPaddingNeededBps();
747 } 739 }
748 740
749 void VideoSendStream::OnBitrateUpdated(uint32_t bitrate_bps, 741 void VideoSendStream::OnBitrateUpdated(uint32_t bitrate_bps,
750 uint8_t fraction_loss, 742 uint8_t fraction_loss,
751 int64_t rtt) { 743 int64_t rtt) {
752 payload_router_.SetTargetSendBitrate(bitrate_bps); 744 payload_router_.SetTargetSendBitrate(bitrate_bps);
753 vie_encoder_.OnBitrateUpdated(bitrate_bps, fraction_loss, rtt); 745 vie_encoder_.OnBitrateUpdated(bitrate_bps, fraction_loss, rtt);
754 } 746 }
(...skipping 16 matching lines...) Expand all
771 &module_nack_rate); 763 &module_nack_rate);
772 *sent_video_rate_bps += module_video_rate; 764 *sent_video_rate_bps += module_video_rate;
773 *sent_nack_rate_bps += module_nack_rate; 765 *sent_nack_rate_bps += module_nack_rate;
774 *sent_fec_rate_bps += module_fec_rate; 766 *sent_fec_rate_bps += module_fec_rate;
775 } 767 }
776 return 0; 768 return 0;
777 } 769 }
778 770
779 } // namespace internal 771 } // namespace internal
780 } // namespace webrtc 772 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698