| Index: media/video/gpu_memory_buffer_video_frame_copier_unittest.cc
|
| diff --git a/media/video/gpu_memory_buffer_video_frame_pool_unittest.cc b/media/video/gpu_memory_buffer_video_frame_copier_unittest.cc
|
| similarity index 83%
|
| copy from media/video/gpu_memory_buffer_video_frame_pool_unittest.cc
|
| copy to media/video/gpu_memory_buffer_video_frame_copier_unittest.cc
|
| index 8374ba699fde41b04e89e0cee5514c14541f3e77..1f709d1ad0f75ea37ba33fc91ef0c384dbe94b2c 100644
|
| --- a/media/video/gpu_memory_buffer_video_frame_pool_unittest.cc
|
| +++ b/media/video/gpu_memory_buffer_video_frame_copier_unittest.cc
|
| @@ -10,7 +10,7 @@
|
| #include "gpu/command_buffer/client/gles2_interface_stub.h"
|
| #include "media/base/video_frame.h"
|
| #include "media/renderers/mock_gpu_video_accelerator_factories.h"
|
| -#include "media/video/gpu_memory_buffer_video_frame_pool.h"
|
| +#include "media/video/gpu_memory_buffer_video_frame_copier.h"
|
| #include "testing/gmock/include/gmock/gmock.h"
|
|
|
| namespace media {
|
| @@ -66,9 +66,9 @@ class TestGLES2Interface : public gpu::gles2::GLES2InterfaceStub {
|
|
|
| } // unnamed namespace
|
|
|
| -class GpuMemoryBufferVideoFramePoolTest : public ::testing::Test {
|
| +class GpuMemoryBufferVideoFrameCopierTest : public ::testing::Test {
|
| public:
|
| - GpuMemoryBufferVideoFramePoolTest() {}
|
| + GpuMemoryBufferVideoFrameCopierTest() {}
|
| void SetUp() override {
|
| gles2_.reset(new TestGLES2Interface);
|
| media_task_runner_ = make_scoped_refptr(new base::TestSimpleTaskRunner);
|
| @@ -77,13 +77,13 @@ class GpuMemoryBufferVideoFramePoolTest : public ::testing::Test {
|
| new base::ThreadTaskRunnerHandle(media_task_runner_));
|
| mock_gpu_factories_.reset(
|
| new MockGpuVideoAcceleratorFactories(gles2_.get()));
|
| - gpu_memory_buffer_pool_.reset(new GpuMemoryBufferVideoFramePool(
|
| + gpu_memory_buffer_copier_.reset(new GpuMemoryBufferVideoFrameCopier(
|
| media_task_runner_, copy_task_runner_.get(),
|
| mock_gpu_factories_.get()));
|
| }
|
|
|
| void TearDown() override {
|
| - gpu_memory_buffer_pool_.reset();
|
| + gpu_memory_buffer_copier_.reset();
|
| RunUntilIdle();
|
| mock_gpu_factories_.reset();
|
| }
|
| @@ -123,7 +123,7 @@ class GpuMemoryBufferVideoFramePoolTest : public ::testing::Test {
|
|
|
| protected:
|
| scoped_ptr<MockGpuVideoAcceleratorFactories> mock_gpu_factories_;
|
| - scoped_ptr<GpuMemoryBufferVideoFramePool> gpu_memory_buffer_pool_;
|
| + scoped_ptr<GpuMemoryBufferVideoFrameCopier> gpu_memory_buffer_copier_;
|
| scoped_refptr<base::TestSimpleTaskRunner> media_task_runner_;
|
| scoped_refptr<base::TestSimpleTaskRunner> copy_task_runner_;
|
| // GpuMemoryBufferVideoFramePool uses BindToCurrentLoop(), which requires
|
| @@ -138,21 +138,21 @@ void MaybeCreateHardwareFrameCallback(
|
| *video_frame_output = video_frame;
|
| }
|
|
|
| -TEST_F(GpuMemoryBufferVideoFramePoolTest, VideoFrameOutputFormatUnknown) {
|
| +TEST_F(GpuMemoryBufferVideoFrameCopierTest, VideoFrameOutputFormatUnknown) {
|
| scoped_refptr<VideoFrame> software_frame = CreateTestYUVVideoFrame(10);
|
| mock_gpu_factories_->SetVideoFrameOutputFormat(PIXEL_FORMAT_UNKNOWN);
|
| scoped_refptr<VideoFrame> frame;
|
| - gpu_memory_buffer_pool_->MaybeCreateHardwareFrame(
|
| + gpu_memory_buffer_copier_->MaybeCreateHardwareFrame(
|
| software_frame, base::Bind(MaybeCreateHardwareFrameCallback, &frame));
|
| RunUntilIdle();
|
|
|
| EXPECT_EQ(software_frame.get(), frame.get());
|
| }
|
|
|
| -TEST_F(GpuMemoryBufferVideoFramePoolTest, CreateOneHardwareFrame) {
|
| +TEST_F(GpuMemoryBufferVideoFrameCopierTest, CreateOneHardwareFrame) {
|
| scoped_refptr<VideoFrame> software_frame = CreateTestYUVVideoFrame(10);
|
| scoped_refptr<VideoFrame> frame;
|
| - gpu_memory_buffer_pool_->MaybeCreateHardwareFrame(
|
| + gpu_memory_buffer_copier_->MaybeCreateHardwareFrame(
|
| software_frame, base::Bind(MaybeCreateHardwareFrameCallback, &frame));
|
|
|
| RunUntilIdle();
|
| @@ -161,10 +161,10 @@ TEST_F(GpuMemoryBufferVideoFramePoolTest, CreateOneHardwareFrame) {
|
| EXPECT_EQ(3u, gles2_->gen_textures);
|
| }
|
|
|
| -TEST_F(GpuMemoryBufferVideoFramePoolTest, ReuseFirstResource) {
|
| +TEST_F(GpuMemoryBufferVideoFrameCopierTest, ReuseFirstResource) {
|
| scoped_refptr<VideoFrame> software_frame = CreateTestYUVVideoFrame(10);
|
| scoped_refptr<VideoFrame> frame;
|
| - gpu_memory_buffer_pool_->MaybeCreateHardwareFrame(
|
| + gpu_memory_buffer_copier_->MaybeCreateHardwareFrame(
|
| software_frame, base::Bind(MaybeCreateHardwareFrameCallback, &frame));
|
| RunUntilIdle();
|
|
|
| @@ -174,7 +174,7 @@ TEST_F(GpuMemoryBufferVideoFramePoolTest, ReuseFirstResource) {
|
| EXPECT_EQ(3u, gles2_->gen_textures);
|
|
|
| scoped_refptr<VideoFrame> frame2;
|
| - gpu_memory_buffer_pool_->MaybeCreateHardwareFrame(
|
| + gpu_memory_buffer_copier_->MaybeCreateHardwareFrame(
|
| software_frame, base::Bind(MaybeCreateHardwareFrameCallback, &frame2));
|
| RunUntilIdle();
|
|
|
| @@ -186,7 +186,7 @@ TEST_F(GpuMemoryBufferVideoFramePoolTest, ReuseFirstResource) {
|
| frame2 = nullptr;
|
| RunUntilIdle();
|
|
|
| - gpu_memory_buffer_pool_->MaybeCreateHardwareFrame(
|
| + gpu_memory_buffer_copier_->MaybeCreateHardwareFrame(
|
| software_frame, base::Bind(MaybeCreateHardwareFrameCallback, &frame));
|
| RunUntilIdle();
|
|
|
| @@ -196,13 +196,13 @@ TEST_F(GpuMemoryBufferVideoFramePoolTest, ReuseFirstResource) {
|
| EXPECT_NE(frame->mailbox_holder(0).sync_token, sync_token);
|
| }
|
|
|
| -TEST_F(GpuMemoryBufferVideoFramePoolTest, DoNotReuseInUse) {
|
| +TEST_F(GpuMemoryBufferVideoFrameCopierTest, DoNotReuseInUse) {
|
| scoped_refptr<VideoFrame> software_frame = CreateTestYUVVideoFrame(10);
|
| scoped_refptr<VideoFrame> frame;
|
| scoped_refptr<VideoFrame> frame2;
|
|
|
| // Allocate a frame.
|
| - gpu_memory_buffer_pool_->MaybeCreateHardwareFrame(
|
| + gpu_memory_buffer_copier_->MaybeCreateHardwareFrame(
|
| software_frame, base::Bind(MaybeCreateHardwareFrameCallback, &frame));
|
| RunUntilIdle();
|
| EXPECT_NE(software_frame.get(), frame.get());
|
| @@ -211,7 +211,7 @@ TEST_F(GpuMemoryBufferVideoFramePoolTest, DoNotReuseInUse) {
|
| EXPECT_EQ(3u, gles2_->gen_textures);
|
|
|
| // Allocate a second frame.
|
| - gpu_memory_buffer_pool_->MaybeCreateHardwareFrame(
|
| + gpu_memory_buffer_copier_->MaybeCreateHardwareFrame(
|
| software_frame, base::Bind(MaybeCreateHardwareFrameCallback, &frame2));
|
| RunUntilIdle();
|
| EXPECT_NE(software_frame.get(), frame2.get());
|
| @@ -226,7 +226,7 @@ TEST_F(GpuMemoryBufferVideoFramePoolTest, DoNotReuseInUse) {
|
| // Set all buffers to be in use, so the next hardware frame will require
|
| // a new allocation.
|
| mock_gpu_factories_->SetGpuMemoryBuffersInUseByMacOSWindowServer(true);
|
| - gpu_memory_buffer_pool_->MaybeCreateHardwareFrame(
|
| + gpu_memory_buffer_copier_->MaybeCreateHardwareFrame(
|
| software_frame, base::Bind(MaybeCreateHardwareFrameCallback, &frame));
|
| RunUntilIdle();
|
| EXPECT_NE(software_frame.get(), frame.get());
|
| @@ -236,7 +236,7 @@ TEST_F(GpuMemoryBufferVideoFramePoolTest, DoNotReuseInUse) {
|
|
|
| // Set the buffers no longer in use, so no new allocations will be made.
|
| mock_gpu_factories_->SetGpuMemoryBuffersInUseByMacOSWindowServer(false);
|
| - gpu_memory_buffer_pool_->MaybeCreateHardwareFrame(
|
| + gpu_memory_buffer_copier_->MaybeCreateHardwareFrame(
|
| software_frame, base::Bind(MaybeCreateHardwareFrameCallback, &frame2));
|
| RunUntilIdle();
|
| EXPECT_NE(software_frame.get(), frame2.get());
|
| @@ -245,9 +245,9 @@ TEST_F(GpuMemoryBufferVideoFramePoolTest, DoNotReuseInUse) {
|
| EXPECT_NE(frame->mailbox_holder(0).sync_token, sync_token);
|
| }
|
|
|
| -TEST_F(GpuMemoryBufferVideoFramePoolTest, DropResourceWhenSizeIsDifferent) {
|
| +TEST_F(GpuMemoryBufferVideoFrameCopierTest, DropResourceWhenSizeIsDifferent) {
|
| scoped_refptr<VideoFrame> frame;
|
| - gpu_memory_buffer_pool_->MaybeCreateHardwareFrame(
|
| + gpu_memory_buffer_copier_->MaybeCreateHardwareFrame(
|
| CreateTestYUVVideoFrame(10),
|
| base::Bind(MaybeCreateHardwareFrameCallback, &frame));
|
| RunUntilIdle();
|
| @@ -256,18 +256,18 @@ TEST_F(GpuMemoryBufferVideoFramePoolTest, DropResourceWhenSizeIsDifferent) {
|
|
|
| frame = nullptr;
|
| RunUntilIdle();
|
| - gpu_memory_buffer_pool_->MaybeCreateHardwareFrame(
|
| + gpu_memory_buffer_copier_->MaybeCreateHardwareFrame(
|
| CreateTestYUVVideoFrame(4),
|
| base::Bind(MaybeCreateHardwareFrameCallback, &frame));
|
| RunUntilIdle();
|
| EXPECT_EQ(6u, gles2_->gen_textures);
|
| }
|
|
|
| -TEST_F(GpuMemoryBufferVideoFramePoolTest, CreateOneHardwareUYUVFrame) {
|
| +TEST_F(GpuMemoryBufferVideoFrameCopierTest, CreateOneHardwareUYUVFrame) {
|
| scoped_refptr<VideoFrame> software_frame = CreateTestYUVVideoFrame(10);
|
| scoped_refptr<VideoFrame> frame;
|
| mock_gpu_factories_->SetVideoFrameOutputFormat(PIXEL_FORMAT_UYVY);
|
| - gpu_memory_buffer_pool_->MaybeCreateHardwareFrame(
|
| + gpu_memory_buffer_copier_->MaybeCreateHardwareFrame(
|
| software_frame, base::Bind(MaybeCreateHardwareFrameCallback, &frame));
|
|
|
| RunUntilIdle();
|
| @@ -278,11 +278,11 @@ TEST_F(GpuMemoryBufferVideoFramePoolTest, CreateOneHardwareUYUVFrame) {
|
| media::VideoFrameMetadata::READ_LOCK_FENCES_ENABLED));
|
| }
|
|
|
| -TEST_F(GpuMemoryBufferVideoFramePoolTest, CreateOneHardwareNV12Frame) {
|
| +TEST_F(GpuMemoryBufferVideoFrameCopierTest, CreateOneHardwareNV12Frame) {
|
| scoped_refptr<VideoFrame> software_frame = CreateTestYUVVideoFrame(10);
|
| scoped_refptr<VideoFrame> frame;
|
| mock_gpu_factories_->SetVideoFrameOutputFormat(PIXEL_FORMAT_NV12);
|
| - gpu_memory_buffer_pool_->MaybeCreateHardwareFrame(
|
| + gpu_memory_buffer_copier_->MaybeCreateHardwareFrame(
|
| software_frame, base::Bind(MaybeCreateHardwareFrameCallback, &frame));
|
|
|
| RunUntilIdle();
|
| @@ -294,19 +294,19 @@ TEST_F(GpuMemoryBufferVideoFramePoolTest, CreateOneHardwareNV12Frame) {
|
| }
|
|
|
| // AllocateGpuMemoryBuffer can return null (e.g: when the GPU process is down).
|
| -// This test checks that in that case we don't crash and still create the
|
| -// textures.
|
| -TEST_F(GpuMemoryBufferVideoFramePoolTest, AllocateGpuMemoryBufferFail) {
|
| +// This test checks that in that case we don't crash and don't copy it to
|
| +// VideoFrame backed native texture.
|
| +TEST_F(GpuMemoryBufferVideoFrameCopierTest, AllocateGpuMemoryBufferFail) {
|
| scoped_refptr<VideoFrame> software_frame = CreateTestYUVVideoFrame(10);
|
| scoped_refptr<VideoFrame> frame;
|
| mock_gpu_factories_->SetFailToAllocateGpuMemoryBufferForTesting(true);
|
| - gpu_memory_buffer_pool_->MaybeCreateHardwareFrame(
|
| + gpu_memory_buffer_copier_->MaybeCreateHardwareFrame(
|
| software_frame, base::Bind(MaybeCreateHardwareFrameCallback, &frame));
|
|
|
| RunUntilIdle();
|
|
|
| - EXPECT_NE(software_frame.get(), frame.get());
|
| - EXPECT_EQ(3u, gles2_->gen_textures);
|
| + EXPECT_EQ(software_frame.get(), frame.get());
|
| + EXPECT_EQ(0u, gles2_->gen_textures);
|
| }
|
|
|
| } // namespace media
|
|
|