Index: webrtc/media/devices/gtkvideorenderer.cc |
diff --git a/webrtc/media/devices/gtkvideorenderer.cc b/webrtc/media/devices/gtkvideorenderer.cc |
index d7a4d6fb6c33444570a452170d4068d2602f5841..e5d7a39e56679e6511b88c74b8e560b68c8440f3 100644 |
--- a/webrtc/media/devices/gtkvideorenderer.cc |
+++ b/webrtc/media/devices/gtkvideorenderer.cc |
@@ -16,6 +16,7 @@ |
#include <glib.h> |
#include <gtk/gtk.h> |
+#include "libyuv/convert_from.h" |
#include "webrtc/media/base/videocommon.h" |
#include "webrtc/media/base/videoframe.h" |
@@ -89,11 +90,14 @@ void GtkVideoRenderer::OnFrame(const VideoFrame& video_frame) { |
} |
// convert I420 frame to ABGR format, which is accepted by GTK |
- frame->ConvertToRgbBuffer(cricket::FOURCC_ABGR, |
- image_.get(), |
- static_cast<size_t>(frame->width()) * |
- frame->height() * 4, |
- frame->width() * 4); |
+ rtc::scoped_refptr<webrtc::VideoFrameBuffer> buffer( |
+ frame->video_frame_buffer()); |
+ libyuv::ConvertFromI420(buffer->DataY(), buffer->StrideY(), |
+ buffer->DataU(), buffer->StrideU(), |
+ buffer->DataV(), buffer->StrideV(), |
+ image_.get(), frame->width() * 4, |
+ buffer->width(), buffer->height(), |
perkj_webrtc
2016/08/30 07:13:39
dito
|
+ cricket::FOURCC_ARGB); |
ScopedGdkLock lock; |