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 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
176 config.encoder_settings.payload_type, | 176 config.encoder_settings.payload_type, |
177 config.encoder_settings.internal_source)); | 177 config.encoder_settings.internal_source)); |
178 | 178 |
179 RTC_CHECK(ReconfigureVideoEncoder(encoder_config)); | 179 RTC_CHECK(ReconfigureVideoEncoder(encoder_config)); |
180 | 180 |
181 vie_channel_->RegisterSendSideDelayObserver(&stats_proxy_); | 181 vie_channel_->RegisterSendSideDelayObserver(&stats_proxy_); |
182 | 182 |
183 if (config_.post_encode_callback) | 183 if (config_.post_encode_callback) |
184 vie_encoder_->RegisterPostEncodeImageCallback(&encoded_frame_proxy_); | 184 vie_encoder_->RegisterPostEncodeImageCallback(&encoded_frame_proxy_); |
185 | 185 |
186 if (config_.suspend_below_min_bitrate) { | 186 if (config_.suspend_below_min_bitrate) |
187 vie_encoder_->SuspendBelowMinBitrate(); | 187 vie_encoder_->SuspendBelowMinBitrate(); |
188 // Must enable pacing when enabling SuspendBelowMinBitrate. Otherwise, no | |
189 // padding will be sent when the video is suspended so the video will be | |
190 // unable to recover. | |
191 // TODO(pbos): Pacing should probably be enabled outside of VideoSendStream. | |
192 vie_channel_->SetTransmissionSmoothingStatus(true); | |
193 } | |
194 | 188 |
195 vie_channel_->RegisterSendChannelRtcpStatisticsCallback(&stats_proxy_); | 189 vie_channel_->RegisterSendChannelRtcpStatisticsCallback(&stats_proxy_); |
196 vie_channel_->RegisterSendChannelRtpStatisticsCallback(&stats_proxy_); | 190 vie_channel_->RegisterSendChannelRtpStatisticsCallback(&stats_proxy_); |
197 vie_channel_->RegisterRtcpPacketTypeCounterObserver(&stats_proxy_); | 191 vie_channel_->RegisterRtcpPacketTypeCounterObserver(&stats_proxy_); |
198 vie_channel_->RegisterSendBitrateObserver(&stats_proxy_); | 192 vie_channel_->RegisterSendBitrateObserver(&stats_proxy_); |
199 vie_channel_->RegisterSendFrameCountObserver(&stats_proxy_); | 193 vie_channel_->RegisterSendFrameCountObserver(&stats_proxy_); |
200 } | 194 } |
201 | 195 |
202 VideoSendStream::~VideoSendStream() { | 196 VideoSendStream::~VideoSendStream() { |
203 vie_channel_->RegisterSendFrameCountObserver(nullptr); | 197 vie_channel_->RegisterSendFrameCountObserver(nullptr); |
(...skipping 298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
502 vie_channel_->IsSendingFecEnabled()); | 496 vie_channel_->IsSendingFecEnabled()); |
503 | 497 |
504 // Restart the media flow | 498 // Restart the media flow |
505 vie_encoder_->Restart(); | 499 vie_encoder_->Restart(); |
506 | 500 |
507 return true; | 501 return true; |
508 } | 502 } |
509 | 503 |
510 } // namespace internal | 504 } // namespace internal |
511 } // namespace webrtc | 505 } // namespace webrtc |
OLD | NEW |