From 1aff095b6cc39d843a3d85d09de599cfcff0e35e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=85sa=20Persson?= Date: Mon, 8 Jun 2015 09:26:32 +0200 Subject: [PATCH] Moved check for native frame to VideoReceiveStream::FrameCallback. Stats for decoded framerate will now also be updated if the frame is backed by a texture. BUG=webrtc:4722 R=mflodman@webrtc.org, pbos@webrtc.org Review URL: https://webrtc-codereview.appspot.com/53569004 Cr-Commit-Position: refs/heads/master@{#9389} --- webrtc/video/video_receive_stream.cc | 7 +++++-- webrtc/video_engine/vie_channel.cc | 8 +++----- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/webrtc/video/video_receive_stream.cc b/webrtc/video/video_receive_stream.cc index 08e8d4719..91a37076f 100644 --- a/webrtc/video/video_receive_stream.cc +++ b/webrtc/video/video_receive_stream.cc @@ -297,8 +297,11 @@ bool VideoReceiveStream::DeliverRtp(const uint8_t* packet, size_t length) { void VideoReceiveStream::FrameCallback(VideoFrame* video_frame) { stats_proxy_->OnDecodedFrame(); - if (config_.pre_render_callback) - config_.pre_render_callback->FrameCallback(video_frame); + // Post processing is not supported if the frame is backed by a texture. + if (video_frame->native_handle() == NULL) { + if (config_.pre_render_callback) + config_.pre_render_callback->FrameCallback(video_frame); + } } int VideoReceiveStream::RenderFrame(const uint32_t /*stream_id*/, diff --git a/webrtc/video_engine/vie_channel.cc b/webrtc/video_engine/vie_channel.cc index b83ef3222..9c6b15250 100644 --- a/webrtc/video_engine/vie_channel.cc +++ b/webrtc/video_engine/vie_channel.cc @@ -1430,11 +1430,9 @@ int32_t ViEChannel::FrameToRender(VideoFrame& video_frame) { // NOLINT } decoder_reset_ = false; } - // Post processing is not supported if the frame is backed by a texture. - if (video_frame.native_handle() == NULL) { - if (pre_render_callback_ != NULL) - pre_render_callback_->FrameCallback(&video_frame); - } + + if (pre_render_callback_ != NULL) + pre_render_callback_->FrameCallback(&video_frame); incoming_video_stream_->RenderFrame(channel_id_, video_frame); return 0;