Index: media/capture/video/fake_video_capture_device_unittest.cc |
diff --git a/media/capture/video/fake_video_capture_device_unittest.cc b/media/capture/video/fake_video_capture_device_unittest.cc |
index 27149232e783954c69cd199bc9f8bf322e8a2a08..21563c0fd9301cbdab0289b45bd938a5fa792ba7 100644 |
--- a/media/capture/video/fake_video_capture_device_unittest.cc |
+++ b/media/capture/video/fake_video_capture_device_unittest.cc |
@@ -34,60 +34,34 @@ |
namespace { |
-class StubBufferHandle : public VideoCaptureBufferHandle { |
+// This class is a Client::Buffer that allocates and frees the requested |size|. |
+class MockBuffer : public VideoCaptureDevice::Client::Buffer { |
public: |
- StubBufferHandle(size_t mapped_size, uint8_t* data) |
- : mapped_size_(mapped_size), data_(data) {} |
- |
+ MockBuffer(int buffer_id, int frame_feedback_id, size_t mapped_size) |
+ : id_(buffer_id), |
+ frame_feedback_id_(frame_feedback_id), |
+ mapped_size_(mapped_size), |
+ data_(new uint8_t[mapped_size]) {} |
+ ~MockBuffer() override { delete[] data_; } |
+ |
+ int id() const override { return id_; } |
+ int frame_feedback_id() const override { return frame_feedback_id_; } |
+ gfx::Size dimensions() const override { return gfx::Size(); } |
size_t mapped_size() const override { return mapped_size_; } |
- uint8_t* data() override { return data_; } |
- const uint8_t* data() const override { return data_; } |
+ void* data(int plane) override { return data_; } |
+#if defined(OS_POSIX) && !(defined(OS_MACOSX) && !defined(OS_IOS)) |
+ base::FileDescriptor AsPlatformFile() override { |
+ return base::FileDescriptor(); |
+ } |
+#endif |
+ bool IsBackedByVideoFrame() const override { return false; }; |
+ scoped_refptr<VideoFrame> GetVideoFrame() override { return nullptr; } |
private: |
+ const int id_; |
+ const int frame_feedback_id_; |
const size_t mapped_size_; |
uint8_t* const data_; |
-}; |
- |
-class StubBufferHandleProvider |
- : public VideoCaptureDevice::Client::Buffer::HandleProvider { |
- public: |
- StubBufferHandleProvider(size_t mapped_size, uint8_t* data) |
- : mapped_size_(mapped_size), data_(data) {} |
- |
- ~StubBufferHandleProvider() override {} |
- |
- mojo::ScopedSharedBufferHandle GetHandleForInterProcessTransit() override { |
- return mojo::ScopedSharedBufferHandle(); |
- } |
- |
- std::unique_ptr<VideoCaptureBufferHandle> GetHandleForInProcessAccess() |
- override { |
- return base::MakeUnique<StubBufferHandle>(mapped_size_, data_); |
- } |
- |
- private: |
- const size_t mapped_size_; |
- uint8_t* const data_; |
-}; |
- |
-class StubReadWritePermission |
- : public VideoCaptureDevice::Client::Buffer::ScopedAccessPermission { |
- public: |
- StubReadWritePermission(uint8_t* data) : data_(data) {} |
- ~StubReadWritePermission() override { delete[] data_; } |
- |
- private: |
- uint8_t* const data_; |
-}; |
- |
-VideoCaptureDevice::Client::Buffer CreateStubBuffer(int buffer_id, |
- size_t mapped_size) { |
- auto buffer = new uint8_t[mapped_size]; |
- const int arbitrary_frame_feedback_id = 0; |
- return VideoCaptureDevice::Client::Buffer( |
- buffer_id, arbitrary_frame_feedback_id, |
- base::MakeUnique<StubBufferHandleProvider>(mapped_size, buffer), |
- base::MakeUnique<StubReadWritePermission>(buffer)); |
}; |
class MockClient : public VideoCaptureDevice::Client { |
@@ -110,24 +84,25 @@ |
frame_cb_.Run(format); |
} |
// Virtual methods for capturing using Client's Buffers. |
- Buffer ReserveOutputBuffer(const gfx::Size& dimensions, |
- media::VideoPixelFormat format, |
- media::VideoPixelStorage storage, |
- int frame_feedback_id) override { |
+ std::unique_ptr<Buffer> ReserveOutputBuffer(const gfx::Size& dimensions, |
+ media::VideoPixelFormat format, |
+ media::VideoPixelStorage storage, |
+ int frame_feedback_id) override { |
EXPECT_TRUE((format == media::PIXEL_FORMAT_ARGB && |
storage == media::PIXEL_STORAGE_CPU)); |
EXPECT_GT(dimensions.GetArea(), 0); |
const VideoCaptureFormat frame_format(dimensions, 0.0, format); |
- return CreateStubBuffer(0, frame_format.ImageAllocationSize()); |
- } |
- void OnIncomingCapturedBuffer(Buffer buffer, |
+ return base::MakeUnique<MockBuffer>(0, frame_feedback_id, |
+ frame_format.ImageAllocationSize()); |
+ } |
+ void OnIncomingCapturedBuffer(std::unique_ptr<Buffer> buffer, |
const VideoCaptureFormat& format, |
base::TimeTicks reference_time, |
base::TimeDelta timestamp) override { |
frame_cb_.Run(format); |
} |
void OnIncomingCapturedBufferExt( |
- Buffer buffer, |
+ std::unique_ptr<Buffer> buffer, |
const VideoCaptureFormat& format, |
base::TimeTicks reference_time, |
base::TimeDelta timestamp, |
@@ -135,11 +110,12 @@ |
const VideoFrameMetadata& additional_metadata) override { |
frame_cb_.Run(format); |
} |
- Buffer ResurrectLastOutputBuffer(const gfx::Size& dimensions, |
- media::VideoPixelFormat format, |
- media::VideoPixelStorage storage, |
- int frame_feedback_id) override { |
- return Buffer(); |
+ std::unique_ptr<Buffer> ResurrectLastOutputBuffer( |
+ const gfx::Size& dimensions, |
+ media::VideoPixelFormat format, |
+ media::VideoPixelStorage storage, |
+ int frame_feedback_id) override { |
+ return std::unique_ptr<Buffer>(); |
} |
double GetBufferPoolUtilization() const override { return 0.0; } |