| Index: content/browser/media/capture/web_contents_video_capture_device_unittest.cc
 | 
| diff --git a/content/browser/media/capture/web_contents_video_capture_device_unittest.cc b/content/browser/media/capture/web_contents_video_capture_device_unittest.cc
 | 
| index 38430287a0044d3cf6c21d3964d4b3a2fb51c092..3764d9810bce4e9a3cbb0a5c9d847a61ff24480d 100644
 | 
| --- a/content/browser/media/capture/web_contents_video_capture_device_unittest.cc
 | 
| +++ b/content/browser/media/capture/web_contents_video_capture_device_unittest.cc
 | 
| @@ -376,27 +376,32 @@ class StubClient : public media::VideoCaptureDevice::Client {
 | 
|      DoOnIncomingCapturedBuffer();
 | 
|    }
 | 
|  
 | 
| -  void OnIncomingCapturedVideoFrame(
 | 
| -      std::unique_ptr<Buffer> buffer,
 | 
| -      scoped_refptr<media::VideoFrame> frame) override {
 | 
| -    EXPECT_FALSE(frame->visible_rect().IsEmpty());
 | 
| -    EXPECT_EQ(media::PIXEL_FORMAT_I420, frame->format());
 | 
| -    double frame_rate = 0;
 | 
| -    EXPECT_TRUE(
 | 
| -        frame->metadata()->GetDouble(media::VideoFrameMetadata::FRAME_RATE,
 | 
| -                                     &frame_rate));
 | 
| -    EXPECT_EQ(kTestFramesPerSecond, frame_rate);
 | 
| +  void OnIncomingCapturedBufferExt(
 | 
| +      std::unique_ptr<media::VideoCaptureDevice::Client::Buffer> buffer,
 | 
| +      const media::VideoCaptureFormat& format,
 | 
| +      base::TimeTicks reference_time,
 | 
| +      base::TimeDelta timestamp,
 | 
| +      gfx::Rect visible_rect,
 | 
| +      const media::VideoFrameMetadata& additional_metadata) override {
 | 
| +    EXPECT_FALSE(visible_rect.IsEmpty());
 | 
| +    EXPECT_EQ(media::PIXEL_FORMAT_I420, format.pixel_format);
 | 
| +    EXPECT_EQ(kTestFramesPerSecond, format.frame_rate);
 | 
|  
 | 
|      // TODO(miu): We just look at the center pixel presently, because if the
 | 
|      // analysis is too slow, the backlog of frames will grow without bound and
 | 
|      // trouble erupts. http://crbug.com/174519
 | 
|      using media::VideoFrame;
 | 
| -    const gfx::Point center = frame->visible_rect().CenterPoint();
 | 
| +    auto frame = VideoFrame::WrapExternalSharedMemory(
 | 
| +        media::PIXEL_FORMAT_I420, format.frame_size, visible_rect,
 | 
| +        format.frame_size, static_cast<uint8_t*>(buffer->data()),
 | 
| +        buffer->mapped_size(), base::SharedMemory::NULLHandle(), 0u,
 | 
| +        base::TimeDelta());
 | 
| +    const gfx::Point center = visible_rect.CenterPoint();
 | 
|      const int center_offset_y =
 | 
|          (frame->stride(VideoFrame::kYPlane) * center.y()) + center.x();
 | 
|      const int center_offset_uv =
 | 
|          (frame->stride(VideoFrame::kUPlane) * (center.y() / 2)) +
 | 
| -            (center.x() / 2);
 | 
| +        (center.x() / 2);
 | 
|      report_callback_.Run(
 | 
|          SkColorSetRGB(frame->data(VideoFrame::kYPlane)[center_offset_y],
 | 
|                        frame->data(VideoFrame::kUPlane)[center_offset_uv],
 | 
| 
 |