Chromium Code Reviews| Index: content/browser/renderer_host/media/video_capture_device_client.cc |
| diff --git a/content/browser/renderer_host/media/video_capture_device_client.cc b/content/browser/renderer_host/media/video_capture_device_client.cc |
| index 63345fb1b5457df828f2c380dd3521f7a60c72d5..aa44bd1b9e2895c3a785d44bc1646f4e035d9fad 100644 |
| --- a/content/browser/renderer_host/media/video_capture_device_client.cc |
| +++ b/content/browser/renderer_host/media/video_capture_device_client.cc |
| @@ -105,8 +105,8 @@ void VideoCaptureDeviceClient::OnIncomingCapturedData( |
| return; |
| } |
| - scoped_refptr<Buffer> buffer = ReserveOutputBuffer(VideoFrame::I420, |
| - dimensions); |
| + const VideoCaptureFormat format(dimensions, 0.0, media::PIXEL_FORMAT_I420); |
| + scoped_refptr<Buffer> buffer = ReserveOutputBuffer(format); |
| if (!buffer.get()) |
| return; |
| @@ -243,8 +243,7 @@ VideoCaptureDeviceClient::OnIncomingCapturedYuvData( |
| DCHECK_EQ(frame_format.pixel_format, media::PIXEL_FORMAT_I420); |
| DCHECK_EQ(clockwise_rotation, 0) << "Rotation not supported"; |
| - scoped_refptr<Buffer> buffer = ReserveOutputBuffer(VideoFrame::I420, |
| - frame_format.frame_size); |
| + scoped_refptr<Buffer> buffer = ReserveOutputBuffer(frame_format); |
| if (!buffer.get()) |
| return; |
| @@ -301,19 +300,21 @@ VideoCaptureDeviceClient::OnIncomingCapturedYuvData( |
| }; |
| scoped_refptr<media::VideoCaptureDevice::Client::Buffer> |
| -VideoCaptureDeviceClient::ReserveOutputBuffer(VideoFrame::Format format, |
| - const gfx::Size& dimensions) { |
| - const size_t frame_bytes = VideoFrame::AllocationSize(format, dimensions); |
| - if (format == VideoFrame::NATIVE_TEXTURE) { |
| - DCHECK_EQ(dimensions.width(), 0); |
| - DCHECK_EQ(dimensions.height(), 0); |
| +VideoCaptureDeviceClient::ReserveOutputBuffer( |
| + const media::VideoCaptureFormat& format) { |
| + DCHECK(format.pixel_format == media::PIXEL_FORMAT_TEXTURE || |
| + format.pixel_format == media::PIXEL_FORMAT_I420); |
| + if (format.pixel_format == media::PIXEL_FORMAT_TEXTURE) { |
|
miu
2015/04/08 01:20:00
IMO, you should just delete lines 307-313 and repl
mcasas
2015/04/08 22:07:06
Done.
|
| + DCHECK_EQ(format.frame_size.width(), 0); |
| + DCHECK_EQ(format.frame_size.height(), 0); |
| } else { |
| - DLOG_IF(ERROR, frame_bytes == 0) << "Error calculating allocation size"; |
| + DLOG_IF(ERROR, format.ImageAllocationSize() == 0) |
| + << "Error calculating allocation size"; |
| } |
| int buffer_id_to_drop = VideoCaptureBufferPool::kInvalidId; |
| - const int buffer_id = |
| - buffer_pool_->ReserveForProducer(frame_bytes, &buffer_id_to_drop); |
| + const int buffer_id = buffer_pool_->ReserveForProducer( |
| + format, &buffer_id_to_drop); |
| if (buffer_id == VideoCaptureBufferPool::kInvalidId) |
| return NULL; |
| void* data; |