Index: media/video/gpu_memory_buffer_video_frame_pool_unittest.cc |
diff --git a/media/video/gpu_memory_buffer_video_frame_pool_unittest.cc b/media/video/gpu_memory_buffer_video_frame_pool_unittest.cc |
index acf8c99d9165d6f4634263a12f5b2d1642634401..6d891b2487440832c6033556489f8c812eeef785 100644 |
--- a/media/video/gpu_memory_buffer_video_frame_pool_unittest.cc |
+++ b/media/video/gpu_memory_buffer_video_frame_pool_unittest.cc |
@@ -231,4 +231,26 @@ TEST_F(GpuMemoryBufferVideoFramePoolTest, CreateOneHardwareUYUVFrame) { |
EXPECT_EQ(1u, gles2_->gen_textures); |
} |
+TEST_F(GpuMemoryBufferVideoFramePoolTest, CreateOneHardwareNV12Frame) { |
+ scoped_refptr<VideoFrame> software_frame = CreateTestYUVVideoFrame(10); |
+ scoped_refptr<MockGpuVideoAcceleratorFactories> mock_gpu_factories( |
+ new MockGpuVideoAcceleratorFactories); |
+ mock_gpu_factories->SetVideoFrameOutputFormat(PIXEL_FORMAT_NV12); |
+ scoped_ptr<GpuMemoryBufferVideoFramePool> gpu_memory_buffer_pool_ = |
+ make_scoped_ptr(new GpuMemoryBufferVideoFramePool( |
+ media_task_runner_, copy_task_runner_.get(), mock_gpu_factories)); |
+ |
+ EXPECT_CALL(*mock_gpu_factories.get(), GetGLES2Interface()) |
+ .WillRepeatedly(testing::Return(gles2_.get())); |
+ |
+ scoped_refptr<VideoFrame> frame; |
+ gpu_memory_buffer_pool_->MaybeCreateHardwareFrame( |
+ software_frame, base::Bind(MaybeCreateHardwareFrameCallback, &frame)); |
+ |
+ RunUntilIdle(); |
+ |
+ EXPECT_NE(software_frame.get(), frame.get()); |
+ EXPECT_EQ(1u, gles2_->gen_textures); |
+} |
+ |
} // namespace media |