Chromium Code Reviews| Index: webrtc/video/video_send_stream.cc |
| diff --git a/webrtc/video/video_send_stream.cc b/webrtc/video/video_send_stream.cc |
| index fafb0223aee3f47cd7a32624c9de47a8217ddd40..3c5eaf919d43e86552efe154e1c1393ae8db2edb 100644 |
| --- a/webrtc/video/video_send_stream.cc |
| +++ b/webrtc/video/video_send_stream.cc |
| @@ -178,7 +178,7 @@ VideoSendStream::VideoSendStream( |
| module_process_thread_, |
| &payload_router_, |
| nullptr, |
| - encoder_feedback_.GetRtcpIntraFrameObserver(), |
| + &encoder_feedback_, |
| congestion_controller_->GetBitrateController() |
| ->CreateRtcpBandwidthObserver(), |
| congestion_controller_->GetTransportFeedbackObserver(), |
| @@ -210,6 +210,7 @@ VideoSendStream::VideoSendStream( |
| RTC_DCHECK(congestion_controller_); |
| RTC_DCHECK(remb_); |
| + encoder_feedback_.Init(config_.rtp.ssrcs, &vie_encoder_); |
|
danilchap
2016/02/17 16:14:01
encoder_feedback obviously depends on vie_encoder_
pbos-webrtc
2016/02/18 16:00:29
Done.
|
| RTC_CHECK(vie_encoder_.Init()); |
| RTC_CHECK(vie_channel_.Init() == 0); |
| @@ -290,8 +291,6 @@ VideoSendStream::VideoSendStream( |
| if (config_.suspend_below_min_bitrate) |
| vie_encoder_.SuspendBelowMinBitrate(); |
| - encoder_feedback_.AddEncoder(config_.rtp.ssrcs, &vie_encoder_); |
| - |
| vie_channel_.RegisterSendChannelRtcpStatisticsCallback(&stats_proxy_); |
| vie_channel_.RegisterSendChannelRtpStatisticsCallback(&stats_proxy_); |
| vie_channel_.RegisterRtcpPacketTypeCounterObserver(&stats_proxy_); |
| @@ -321,9 +320,9 @@ VideoSendStream::~VideoSendStream() { |
| rtp_module->SetREMBStatus(false); |
| remb_->RemoveRembSender(rtp_module); |
| - // Remove the feedback, stop all encoding threads and processing. This must be |
| - // done before deleting the channel. |
| - encoder_feedback_.RemoveEncoder(&vie_encoder_); |
| + // ViEChannel outlives ViEEncoder so remove encoder from feedback before |
| + // destruction. |
| + encoder_feedback_.TearDown(); |
| congestion_controller_->GetRemoteBitrateEstimator(false)->RemoveStream( |
| vie_receiver_->GetRemoteSsrc()); |