| Index: webrtc/media/devices/carbonvideorenderer.cc
|
| diff --git a/webrtc/media/devices/carbonvideorenderer.cc b/webrtc/media/devices/carbonvideorenderer.cc
|
| index a1ff6306201c6b7435837450e332d17dac95468f..336ca091905f22891411357165ee2422f020f618 100644
|
| --- a/webrtc/media/devices/carbonvideorenderer.cc
|
| +++ b/webrtc/media/devices/carbonvideorenderer.cc
|
| @@ -12,6 +12,7 @@
|
|
|
| #include "webrtc/media/devices/carbonvideorenderer.h"
|
|
|
| +#include "libyuv/convert_from.h"
|
| #include "webrtc/base/logging.h"
|
| #include "webrtc/media/base/videocommon.h"
|
| #include "webrtc/media/base/videoframe.h"
|
| @@ -114,11 +115,13 @@ void CarbonVideoRenderer::OnFrame(const VideoFrame& video_frame) {
|
|
|
| // Grab the image lock so we are not trashing up the image being drawn.
|
| rtc::CritScope cs(&image_crit_);
|
| - 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(
|
| + video_frame->video_frame_buffer());
|
| + libyuv::I420ToABGR(buffer->DataY(), buffer->StrideY(),
|
| + buffer->DataU(), buffer->StrideU(),
|
| + buffer->DataV(), buffer->StrideV(),
|
| + image_.get(), frame->width() * 4,
|
| + buffer->width(), buffer->height());
|
| }
|
|
|
| // Trigger a repaint event for the whole window.
|
|
|