Index: webrtc/media/devices/gdivideorenderer.cc |
diff --git a/webrtc/media/devices/gdivideorenderer.cc b/webrtc/media/devices/gdivideorenderer.cc |
index bd67b68edd72a3b095e7c44c3ca1bc5a3f5e6f44..a619dcf3ae4d98ecee8f61fc69af6aeb1814d47e 100644 |
--- a/webrtc/media/devices/gdivideorenderer.cc |
+++ b/webrtc/media/devices/gdivideorenderer.cc |
@@ -14,9 +14,9 @@ |
#include "webrtc/media/devices/gdivideorenderer.h" |
+#include "libyuv/convert_argb.h" |
#include "webrtc/base/thread.h" |
#include "webrtc/base/win32window.h" |
-#include "webrtc/media/base/videocommon.h" |
#include "webrtc/media/base/videoframe.h" |
namespace cricket { |
@@ -226,9 +226,13 @@ void GdiVideoRenderer::VideoWindow::OnRenderFrame(const VideoFrame* frame) { |
return; |
} |
// Convert frame to ARGB format, which is accepted by GDI |
- frame->ConvertToRgbBuffer(cricket::FOURCC_ARGB, image_.get(), |
- bmi_.bmiHeader.biSizeImage, |
- bmi_.bmiHeader.biWidth * 4); |
+ rtc::scoped_refptr<webrtc::VideoFrameBuffer> buffer( |
+ frame->video_frame_buffer()); |
+ libyuv::I420ToARGB(buffer->DataY(), buffer->StrideY(), |
+ buffer->DataU(), buffer->StrideU(), |
+ buffer->DataV(), buffer->StrideV(), |
+ image_.get(), bmi_.bmiHeader.biWidth * 4, |
+ buffer->width(), buffer->height()); |
InvalidateRect(handle(), 0, 0); |
} |