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

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

Issue 2954903002: Media track ID visibility at BWE level
Patch Set: Media track ID visibility at BWE level Created 3 years, 4 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 #include "webrtc/video/video_send_stream.h" 10 #include "webrtc/video/video_send_stream.h"
(...skipping 902 matching lines...) Expand 10 before | Expand all | Expand 10 after
913 void VideoSendStreamImpl::Start() { 913 void VideoSendStreamImpl::Start() {
914 RTC_DCHECK_RUN_ON(worker_queue_); 914 RTC_DCHECK_RUN_ON(worker_queue_);
915 LOG(LS_INFO) << "VideoSendStream::Start"; 915 LOG(LS_INFO) << "VideoSendStream::Start";
916 if (payload_router_.IsActive()) 916 if (payload_router_.IsActive())
917 return; 917 return;
918 TRACE_EVENT_INSTANT0("webrtc", "VideoSendStream::Start"); 918 TRACE_EVENT_INSTANT0("webrtc", "VideoSendStream::Start");
919 payload_router_.SetActive(true); 919 payload_router_.SetActive(true);
920 920
921 bitrate_allocator_->AddObserver( 921 bitrate_allocator_->AddObserver(
922 this, encoder_min_bitrate_bps_, encoder_max_bitrate_bps_, 922 this, encoder_min_bitrate_bps_, encoder_max_bitrate_bps_,
923 max_padding_bitrate_, !config_->suspend_below_min_bitrate); 923 max_padding_bitrate_, !config_->suspend_below_min_bitrate,
924 config_->track_id);
924 925
925 // Start monitoring encoder activity. 926 // Start monitoring encoder activity.
926 { 927 {
927 rtc::CritScope lock(&encoder_activity_crit_sect_); 928 rtc::CritScope lock(&encoder_activity_crit_sect_);
928 RTC_DCHECK(!check_encoder_activity_task_); 929 RTC_DCHECK(!check_encoder_activity_task_);
929 check_encoder_activity_task_ = new CheckEncoderActivityTask(weak_ptr_); 930 check_encoder_activity_task_ = new CheckEncoderActivityTask(weak_ptr_);
930 worker_queue_->PostDelayedTask( 931 worker_queue_->PostDelayedTask(
931 std::unique_ptr<rtc::QueuedTask>(check_encoder_activity_task_), 932 std::unique_ptr<rtc::QueuedTask>(check_encoder_activity_task_),
932 CheckEncoderActivityTask::kEncoderTimeOutMs); 933 CheckEncoderActivityTask::kEncoderTimeOutMs);
933 } 934 }
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
966 void VideoSendStreamImpl::OnBitrateAllocationUpdated( 967 void VideoSendStreamImpl::OnBitrateAllocationUpdated(
967 const BitrateAllocation& allocation) { 968 const BitrateAllocation& allocation) {
968 payload_router_.OnBitrateAllocationUpdated(allocation); 969 payload_router_.OnBitrateAllocationUpdated(allocation);
969 } 970 }
970 971
971 void VideoSendStreamImpl::SignalEncoderActive() { 972 void VideoSendStreamImpl::SignalEncoderActive() {
972 RTC_DCHECK_RUN_ON(worker_queue_); 973 RTC_DCHECK_RUN_ON(worker_queue_);
973 LOG(LS_INFO) << "SignalEncoderActive, Encoder is active."; 974 LOG(LS_INFO) << "SignalEncoderActive, Encoder is active.";
974 bitrate_allocator_->AddObserver( 975 bitrate_allocator_->AddObserver(
975 this, encoder_min_bitrate_bps_, encoder_max_bitrate_bps_, 976 this, encoder_min_bitrate_bps_, encoder_max_bitrate_bps_,
976 max_padding_bitrate_, !config_->suspend_below_min_bitrate); 977 max_padding_bitrate_, !config_->suspend_below_min_bitrate,
978 config_->track_id);
977 } 979 }
978 980
979 void VideoSendStreamImpl::OnEncoderConfigurationChanged( 981 void VideoSendStreamImpl::OnEncoderConfigurationChanged(
980 std::vector<VideoStream> streams, 982 std::vector<VideoStream> streams,
981 int min_transmit_bitrate_bps) { 983 int min_transmit_bitrate_bps) {
982 if (!worker_queue_->IsCurrent()) { 984 if (!worker_queue_->IsCurrent()) {
983 worker_queue_->PostTask( 985 worker_queue_->PostTask(
984 std::unique_ptr<rtc::QueuedTask>(new EncoderReconfiguredTask( 986 std::unique_ptr<rtc::QueuedTask>(new EncoderReconfiguredTask(
985 weak_ptr_, std::move(streams), min_transmit_bitrate_bps))); 987 weak_ptr_, std::move(streams), min_transmit_bitrate_bps)));
986 return; 988 return;
(...skipping 21 matching lines...) Expand all
1008 streams.back().temporal_layer_thresholds_bps.size() + 1; 1010 streams.back().temporal_layer_thresholds_bps.size() + 1;
1009 protection_bitrate_calculator_.SetEncodingData( 1011 protection_bitrate_calculator_.SetEncodingData(
1010 streams[0].width, streams[0].height, number_of_temporal_layers, 1012 streams[0].width, streams[0].height, number_of_temporal_layers,
1011 config_->rtp.max_packet_size); 1013 config_->rtp.max_packet_size);
1012 1014
1013 if (payload_router_.IsActive()) { 1015 if (payload_router_.IsActive()) {
1014 // The send stream is started already. Update the allocator with new bitrate 1016 // The send stream is started already. Update the allocator with new bitrate
1015 // limits. 1017 // limits.
1016 bitrate_allocator_->AddObserver( 1018 bitrate_allocator_->AddObserver(
1017 this, encoder_min_bitrate_bps_, encoder_max_bitrate_bps_, 1019 this, encoder_min_bitrate_bps_, encoder_max_bitrate_bps_,
1018 max_padding_bitrate_, !config_->suspend_below_min_bitrate); 1020 max_padding_bitrate_, !config_->suspend_below_min_bitrate,
1021 config_->track_id);
1019 } 1022 }
1020 } 1023 }
1021 1024
1022 EncodedImageCallback::Result VideoSendStreamImpl::OnEncodedImage( 1025 EncodedImageCallback::Result VideoSendStreamImpl::OnEncodedImage(
1023 const EncodedImage& encoded_image, 1026 const EncodedImage& encoded_image,
1024 const CodecSpecificInfo* codec_specific_info, 1027 const CodecSpecificInfo* codec_specific_info,
1025 const RTPFragmentationHeader* fragmentation) { 1028 const RTPFragmentationHeader* fragmentation) {
1026 // Encoded is called on whatever thread the real encoder implementation run 1029 // Encoded is called on whatever thread the real encoder implementation run
1027 // on. In the case of hardware encoders, there might be several encoders 1030 // on. In the case of hardware encoders, there might be several encoders
1028 // running in parallel on different threads. 1031 // running in parallel on different threads.
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
1341 std::min(config_->rtp.max_packet_size, 1344 std::min(config_->rtp.max_packet_size,
1342 kPathMTU - transport_overhead_bytes_per_packet_); 1345 kPathMTU - transport_overhead_bytes_per_packet_);
1343 1346
1344 for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_) { 1347 for (RtpRtcp* rtp_rtcp : rtp_rtcp_modules_) {
1345 rtp_rtcp->SetMaxRtpPacketSize(rtp_packet_size); 1348 rtp_rtcp->SetMaxRtpPacketSize(rtp_packet_size);
1346 } 1349 }
1347 } 1350 }
1348 1351
1349 } // namespace internal 1352 } // namespace internal
1350 } // namespace webrtc 1353 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698