Index: webrtc/video/video_receive_stream.cc |
diff --git a/webrtc/video/video_receive_stream.cc b/webrtc/video/video_receive_stream.cc |
index aa5c368310adebf7110c33c0d4fd1b7d2a7955fe..b05ea239594639d3354fd173a87a60197083523c 100644 |
--- a/webrtc/video/video_receive_stream.cc |
+++ b/webrtc/video/video_receive_stream.cc |
@@ -21,6 +21,7 @@ |
#include "webrtc/base/logging.h" |
#include "webrtc/base/optional.h" |
#include "webrtc/base/trace_event.h" |
+#include "webrtc/call/rtp_stream_receiver_controller_interface.h" |
#include "webrtc/common_types.h" |
#include "webrtc/common_video/h264/profile_level_id.h" |
#include "webrtc/common_video/libyuv/include/webrtc_libyuv.h" |
@@ -169,6 +170,7 @@ VideoCodec CreateDecoderVideoCodec(const VideoReceiveStream::Decoder& decoder) { |
namespace internal { |
VideoReceiveStream::VideoReceiveStream( |
+ RtpStreamReceiverControllerInterface* receiver_controller, |
int num_cpu_cores, |
PacketRouter* packet_router, |
VideoReceiveStream::Config config, |
@@ -221,6 +223,14 @@ VideoReceiveStream::VideoReceiveStream( |
process_thread_->RegisterModule(&video_receiver_, RTC_FROM_HERE); |
process_thread_->RegisterModule(&rtp_stream_sync_, RTC_FROM_HERE); |
+ |
+ // Register with RtpStreamReceiverController. |
+ media_receiver_ = receiver_controller->CreateReceiver( |
+ config_.rtp.remote_ssrc, &rtp_video_stream_receiver_); |
+ if (config.rtp.rtx_ssrc) { |
+ rtx_receiver_ = receiver_controller->CreateReceiver( |
+ config_.rtp.rtx_ssrc, &rtp_video_stream_receiver_); |
+ } |
} |
VideoReceiveStream::~VideoReceiveStream() { |
@@ -242,10 +252,6 @@ bool VideoReceiveStream::DeliverRtcp(const uint8_t* packet, size_t length) { |
return rtp_video_stream_receiver_.DeliverRtcp(packet, length); |
} |
-void VideoReceiveStream::OnRtpPacket(const RtpPacketReceived& packet) { |
- rtp_video_stream_receiver_.OnRtpPacket(packet); |
-} |
- |
void VideoReceiveStream::SetSync(Syncable* audio_syncable) { |
RTC_DCHECK_RUN_ON(&worker_thread_checker_); |
rtp_stream_sync_.ConfigureSync(audio_syncable); |