| Index: webrtc/video/video_receive_stream.cc
|
| diff --git a/webrtc/video/video_receive_stream.cc b/webrtc/video/video_receive_stream.cc
|
| index 9aa7da14569bb9328d75cb07e0cf27519f687878..e892989f1670e44b43c9cd8e4a27e3a286d985e1 100644
|
| --- a/webrtc/video/video_receive_stream.cc
|
| +++ b/webrtc/video/video_receive_stream.cc
|
| @@ -19,7 +19,6 @@
|
| #include "webrtc/system_wrappers/interface/clock.h"
|
| #include "webrtc/system_wrappers/interface/logging.h"
|
| #include "webrtc/video/receive_statistics_proxy.h"
|
| -#include "webrtc/video_encoder.h"
|
| #include "webrtc/video_engine/call_stats.h"
|
| #include "webrtc/video_receive_stream.h"
|
|
|
| @@ -169,7 +168,6 @@ VideoReceiveStream::VideoReceiveStream(int num_cpu_cores,
|
| channel_group_->GetCallStats()->RegisterStatsObserver(
|
| vie_channel_->GetStatsObserver());
|
|
|
| -
|
| // TODO(pbos): This is not fine grained enough...
|
| vie_channel_->SetProtectionMode(config_.rtp.nack.rtp_history_ms > 0, false,
|
| -1, -1);
|
| @@ -278,8 +276,7 @@ VideoReceiveStream::VideoReceiveStream(int num_cpu_cores,
|
| incoming_video_stream_->SetExternalCallback(this);
|
| vie_channel_->SetIncomingVideoStream(incoming_video_stream_.get());
|
|
|
| - if (config.pre_decode_callback)
|
| - vie_channel_->RegisterPreDecodeImageCallback(&encoded_frame_proxy_);
|
| + vie_channel_->RegisterPreDecodeImageCallback(this);
|
| vie_channel_->RegisterPreRenderCallback(this);
|
| }
|
|
|
| @@ -365,6 +362,21 @@ int VideoReceiveStream::RenderFrame(const uint32_t /*stream_id*/,
|
| return 0;
|
| }
|
|
|
| +// TODO(asapersson): Consider moving callback from video_encoder.h or
|
| +// creating a different callback.
|
| +int32_t VideoReceiveStream::Encoded(
|
| + const EncodedImage& encoded_image,
|
| + const CodecSpecificInfo* codec_specific_info,
|
| + const RTPFragmentationHeader* fragmentation) {
|
| + stats_proxy_->OnPreDecode(encoded_image, codec_specific_info);
|
| + if (config_.pre_decode_callback) {
|
| + // TODO(asapersson): Remove EncodedFrameCallbackAdapter.
|
| + encoded_frame_proxy_.Encoded(
|
| + encoded_image, codec_specific_info, fragmentation);
|
| + }
|
| + return 0;
|
| +}
|
| +
|
| void VideoReceiveStream::SignalNetworkState(NetworkState state) {
|
| vie_channel_->SetRTCPMode(state == kNetworkUp ? config_.rtp.rtcp_mode
|
| : RtcpMode::kOff);
|
|
|