diff options
Diffstat (limited to 'chromium/media/capture/video/mac/video_capture_device_avfoundation_mac.mm')
-rw-r--r-- | chromium/media/capture/video/mac/video_capture_device_avfoundation_mac.mm | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/chromium/media/capture/video/mac/video_capture_device_avfoundation_mac.mm b/chromium/media/capture/video/mac/video_capture_device_avfoundation_mac.mm index 132a1c3de1f..6e7d5ba9e1a 100644 --- a/chromium/media/capture/video/mac/video_capture_device_avfoundation_mac.mm +++ b/chromium/media/capture/video/mac/video_capture_device_avfoundation_mac.mm @@ -490,6 +490,7 @@ void ExtractBaseAddressAndLength(char** base_address, const media::VideoCaptureFormat captureFormat( gfx::Size(dimensions.width, dimensions.height), frameRate_, FourCCToChromiumPixelFormat(fourcc)); + gfx::ColorSpace colorSpace; // We have certain format expectation for capture output: // For MJPEG, |sampleBuffer| is expected to always be a CVBlockBuffer. @@ -510,6 +511,11 @@ void ExtractBaseAddressAndLength(char** base_address, baseAddress = static_cast<char*>(CVPixelBufferGetBaseAddress(videoFrame)); frameSize = CVPixelBufferGetHeight(videoFrame) * CVPixelBufferGetBytesPerRow(videoFrame); + + // TODO(julien.isorce): move GetImageBufferColorSpace(CVImageBufferRef) + // from media::VTVideoDecodeAccelerator to media/base/mac and call it + // here to get the color space. See https://crbug.com/959962. + // colorSpace = media::GetImageBufferColorSpace(videoFrame); } else { videoFrame = nil; } @@ -531,7 +537,8 @@ void ExtractBaseAddressAndLength(char** base_address, if (frameReceiver_ && baseAddress) { frameReceiver_->ReceiveFrame(reinterpret_cast<uint8_t*>(baseAddress), - frameSize, captureFormat, 0, 0, timestamp); + frameSize, captureFormat, colorSpace, 0, 0, + timestamp); } } |