* Update libjingle to 50389769.
* Together with "Add texture support for i420 video frame." from wuchengli@chromium.org. https://webrtc-codereview.appspot.com/1413004 RISK=P1 TESTED=try bots R=fischman@webrtc.org Review URL: https://webrtc-codereview.appspot.com/1967004 git-svn-id: http://webrtc.googlecode.com/svn/trunk@4489 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
@ -169,6 +169,21 @@ int ViEExternalRendererImpl::SetViEExternalRenderer(
|
||||
int32_t ViEExternalRendererImpl::RenderFrame(
|
||||
const uint32_t stream_id,
|
||||
I420VideoFrame& video_frame) {
|
||||
if (video_frame.native_handle() != NULL) {
|
||||
NotifyFrameSizeChange(stream_id, video_frame);
|
||||
|
||||
if (external_renderer_->IsTextureSupported()) {
|
||||
external_renderer_->DeliverFrame(NULL,
|
||||
0,
|
||||
video_frame.timestamp(),
|
||||
video_frame.render_time_ms(),
|
||||
video_frame.native_handle());
|
||||
} else {
|
||||
// TODO(wuchengli): readback the pixels and deliver the frame.
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
VideoFrame* out_frame = converted_frame_.get();
|
||||
|
||||
// Convert to requested format.
|
||||
@ -218,21 +233,28 @@ int32_t ViEExternalRendererImpl::RenderFrame(
|
||||
break;
|
||||
}
|
||||
|
||||
if (external_renderer_width_ != video_frame.width() ||
|
||||
external_renderer_height_ != video_frame.height()) {
|
||||
external_renderer_width_ = video_frame.width();
|
||||
external_renderer_height_ = video_frame.height();
|
||||
external_renderer_->FrameSizeChange(external_renderer_width_,
|
||||
external_renderer_height_, stream_id);
|
||||
}
|
||||
NotifyFrameSizeChange(stream_id, video_frame);
|
||||
|
||||
if (out_frame) {
|
||||
external_renderer_->DeliverFrame(out_frame->Buffer(),
|
||||
out_frame->Length(),
|
||||
video_frame.timestamp(),
|
||||
video_frame.render_time_ms());
|
||||
video_frame.render_time_ms(),
|
||||
NULL);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ViEExternalRendererImpl::NotifyFrameSizeChange(
|
||||
const uint32_t stream_id,
|
||||
I420VideoFrame& video_frame) {
|
||||
if (external_renderer_width_ != video_frame.width() ||
|
||||
external_renderer_height_ != video_frame.height()) {
|
||||
external_renderer_width_ = video_frame.width();
|
||||
external_renderer_height_ = video_frame.height();
|
||||
external_renderer_->FrameSizeChange(
|
||||
external_renderer_width_, external_renderer_height_, stream_id);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
Reference in New Issue
Block a user