| Index: webrtc/video/video_send_stream.cc
|
| diff --git a/webrtc/video/video_send_stream.cc b/webrtc/video/video_send_stream.cc
|
| index 3565f9ca70ca8551bb7e4dcfd5efab6b7fa365bd..9bfc9854f3f979276283a9d8f690ef1c967e717d 100644
|
| --- a/webrtc/video/video_send_stream.cc
|
| +++ b/webrtc/video/video_send_stream.cc
|
| @@ -349,7 +349,8 @@ class VideoSendStreamImpl : public webrtc::BitrateAllocatorObserver,
|
| const VideoSendStream::Config* config,
|
| int initial_encoder_max_bitrate,
|
| std::map<uint32_t, RtpState> suspended_ssrcs,
|
| - VideoEncoderConfig::ContentType content_type);
|
| + VideoEncoderConfig::ContentType content_type,
|
| + const RtpKeepAliveConfig& keepalive_config);
|
| ~VideoSendStreamImpl() override;
|
|
|
| // RegisterProcessThread register |module_process_thread| with those objects
|
| @@ -480,7 +481,8 @@ class VideoSendStream::ConstructionTask : public rtc::QueuedTask {
|
| const VideoSendStream::Config* config,
|
| int initial_encoder_max_bitrate,
|
| const std::map<uint32_t, RtpState>& suspended_ssrcs,
|
| - VideoEncoderConfig::ContentType content_type)
|
| + VideoEncoderConfig::ContentType content_type,
|
| + const RtpKeepAliveConfig& keepalive_config)
|
| : send_stream_(send_stream),
|
| done_event_(done_event),
|
| stats_proxy_(stats_proxy),
|
| @@ -493,7 +495,8 @@ class VideoSendStream::ConstructionTask : public rtc::QueuedTask {
|
| config_(config),
|
| initial_encoder_max_bitrate_(initial_encoder_max_bitrate),
|
| suspended_ssrcs_(suspended_ssrcs),
|
| - content_type_(content_type) {}
|
| + content_type_(content_type),
|
| + keepalive_config_(keepalive_config) {}
|
|
|
| ~ConstructionTask() override { done_event_->Set(); }
|
|
|
| @@ -503,7 +506,7 @@ class VideoSendStream::ConstructionTask : public rtc::QueuedTask {
|
| stats_proxy_, rtc::TaskQueue::Current(), call_stats_, transport_,
|
| bitrate_allocator_, send_delay_stats_, vie_encoder_, event_log_,
|
| config_, initial_encoder_max_bitrate_, std::move(suspended_ssrcs_),
|
| - content_type_));
|
| + content_type_, keepalive_config_));
|
| return true;
|
| }
|
|
|
| @@ -520,6 +523,7 @@ class VideoSendStream::ConstructionTask : public rtc::QueuedTask {
|
| int initial_encoder_max_bitrate_;
|
| std::map<uint32_t, RtpState> suspended_ssrcs_;
|
| const VideoEncoderConfig::ContentType content_type_;
|
| + const RtpKeepAliveConfig& keepalive_config_;
|
| };
|
|
|
| class VideoSendStream::DestructAndGetRtpStateTask : public rtc::QueuedTask {
|
| @@ -632,7 +636,8 @@ VideoSendStream::VideoSendStream(
|
| RtcEventLog* event_log,
|
| VideoSendStream::Config config,
|
| VideoEncoderConfig encoder_config,
|
| - const std::map<uint32_t, RtpState>& suspended_ssrcs)
|
| + const std::map<uint32_t, RtpState>& suspended_ssrcs,
|
| + const RtpKeepAliveConfig& keepalive_config)
|
| : worker_queue_(worker_queue),
|
| thread_sync_event_(false /* manual_reset */, false),
|
| stats_proxy_(Clock::GetRealTimeClock(),
|
| @@ -648,7 +653,7 @@ VideoSendStream::VideoSendStream(
|
| &send_stream_, &thread_sync_event_, &stats_proxy_, vie_encoder_.get(),
|
| module_process_thread, call_stats, transport, bitrate_allocator,
|
| send_delay_stats, event_log, &config_, encoder_config.max_bitrate_bps,
|
| - suspended_ssrcs, encoder_config.content_type)));
|
| + suspended_ssrcs, encoder_config.content_type, keepalive_config)));
|
|
|
| // Wait for ConstructionTask to complete so that |send_stream_| can be used.
|
| // |module_process_thread| must be registered and deregistered on the thread
|
| @@ -767,7 +772,8 @@ VideoSendStreamImpl::VideoSendStreamImpl(
|
| const VideoSendStream::Config* config,
|
| int initial_encoder_max_bitrate,
|
| std::map<uint32_t, RtpState> suspended_ssrcs,
|
| - VideoEncoderConfig::ContentType content_type)
|
| + VideoEncoderConfig::ContentType content_type,
|
| + const RtpKeepAliveConfig& keepalive_config)
|
| : send_side_bwe_with_overhead_(
|
| webrtc::field_trial::IsEnabled("WebRTC-SendSideBwe-WithOverhead")),
|
| stats_proxy_(stats_proxy),
|
| @@ -805,7 +811,7 @@ VideoSendStreamImpl::VideoSendStreamImpl(
|
| transport->send_side_cc()->GetRetransmissionRateLimiter(),
|
| this,
|
| config_->rtp.ssrcs.size(),
|
| - config_->rtp.keep_alive)),
|
| + keepalive_config)),
|
| payload_router_(rtp_rtcp_modules_,
|
| config_->encoder_settings.payload_type),
|
| weak_ptr_factory_(this),
|
|
|