OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/media/capture/web_contents_video_capture_device.h" | 5 #include "content/browser/media/capture/web_contents_video_capture_device.h" |
6 | 6 |
7 #include "base/bind_helpers.h" | 7 #include "base/bind_helpers.h" |
8 #include "base/debug/debugger.h" | 8 #include "base/debug/debugger.h" |
9 #include "base/run_loop.h" | 9 #include "base/run_loop.h" |
10 #include "base/test/test_timeouts.h" | 10 #include "base/test/test_timeouts.h" |
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
329 size_t y_stride, | 329 size_t y_stride, |
330 size_t u_stride, | 330 size_t u_stride, |
331 size_t v_stride, | 331 size_t v_stride, |
332 const media::VideoCaptureFormat& frame_format, | 332 const media::VideoCaptureFormat& frame_format, |
333 int clockwise_rotation, | 333 int clockwise_rotation, |
334 const base::TimeTicks& timestamp) override { | 334 const base::TimeTicks& timestamp) override { |
335 FAIL(); | 335 FAIL(); |
336 } | 336 } |
337 | 337 |
338 scoped_refptr<media::VideoCaptureDevice::Client::Buffer> ReserveOutputBuffer( | 338 scoped_refptr<media::VideoCaptureDevice::Client::Buffer> ReserveOutputBuffer( |
339 media::VideoFrame::Format format, | 339 const media::VideoCaptureFormat& format) override { |
340 const gfx::Size& dimensions) override { | 340 CHECK_EQ(format.pixel_format, media::PIXEL_FORMAT_I420); |
341 CHECK_EQ(format, media::VideoFrame::I420); | |
342 const size_t frame_bytes = | |
343 media::VideoFrame::AllocationSize(media::VideoFrame::I420, dimensions); | |
344 int buffer_id_to_drop = VideoCaptureBufferPool::kInvalidId; // Ignored. | 341 int buffer_id_to_drop = VideoCaptureBufferPool::kInvalidId; // Ignored. |
345 int buffer_id = | 342 int buffer_id = |
346 buffer_pool_->ReserveForProducer(frame_bytes, &buffer_id_to_drop); | 343 buffer_pool_->ReserveForProducer(format, &buffer_id_to_drop); |
347 if (buffer_id == VideoCaptureBufferPool::kInvalidId) | 344 if (buffer_id == VideoCaptureBufferPool::kInvalidId) |
348 return NULL; | 345 return NULL; |
349 void* data; | 346 void* data; |
350 size_t size; | 347 size_t size; |
351 buffer_pool_->GetBufferInfo(buffer_id, &data, &size); | 348 buffer_pool_->GetBufferInfo(buffer_id, &data, &size); |
352 return scoped_refptr<media::VideoCaptureDevice::Client::Buffer>( | 349 return scoped_refptr<media::VideoCaptureDevice::Client::Buffer>( |
353 new AutoReleaseBuffer(buffer_pool_, buffer_id, data, size)); | 350 new AutoReleaseBuffer(buffer_pool_, buffer_id, data, size)); |
354 } | 351 } |
355 | 352 |
356 void OnIncomingCapturedVideoFrame( | 353 void OnIncomingCapturedVideoFrame( |
(...skipping 512 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
869 source()->SetSolidColor(SK_ColorGREEN); | 866 source()->SetSolidColor(SK_ColorGREEN); |
870 ASSERT_NO_FATAL_FAILURE(client_observer()->WaitForNextColor(SK_ColorGREEN)); | 867 ASSERT_NO_FATAL_FAILURE(client_observer()->WaitForNextColor(SK_ColorGREEN)); |
871 source()->SetSolidColor(SK_ColorRED); | 868 source()->SetSolidColor(SK_ColorRED); |
872 ASSERT_NO_FATAL_FAILURE(client_observer()->WaitForNextColor(SK_ColorRED)); | 869 ASSERT_NO_FATAL_FAILURE(client_observer()->WaitForNextColor(SK_ColorRED)); |
873 | 870 |
874 device()->StopAndDeAllocate(); | 871 device()->StopAndDeAllocate(); |
875 } | 872 } |
876 | 873 |
877 } // namespace | 874 } // namespace |
878 } // namespace content | 875 } // namespace content |
OLD | NEW |