Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(70)

Side by Side Diff: media/video/gpu_memory_buffer_video_frame_pool_unittest.cc

Issue 1823683002: media: GpuMemoryBufferVideoFramePool uses BindToCurrentLoop() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rollback unrelated change Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/video/gpu_memory_buffer_video_frame_pool.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 <stdint.h> 5 #include <stdint.h>
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/test/test_simple_task_runner.h" 8 #include "base/test/test_simple_task_runner.h"
9 #include "base/thread_task_runner_handle.h"
9 #include "gpu/command_buffer/client/gles2_interface_stub.h" 10 #include "gpu/command_buffer/client/gles2_interface_stub.h"
10 #include "media/base/video_frame.h" 11 #include "media/base/video_frame.h"
11 #include "media/renderers/mock_gpu_video_accelerator_factories.h" 12 #include "media/renderers/mock_gpu_video_accelerator_factories.h"
12 #include "media/video/gpu_memory_buffer_video_frame_pool.h" 13 #include "media/video/gpu_memory_buffer_video_frame_pool.h"
13 #include "testing/gmock/include/gmock/gmock.h" 14 #include "testing/gmock/include/gmock/gmock.h"
14 15
15 namespace media { 16 namespace media {
16 17
17 namespace { 18 namespace {
18 class TestGLES2Interface : public gpu::gles2::GLES2InterfaceStub { 19 class TestGLES2Interface : public gpu::gles2::GLES2InterfaceStub {
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 66
66 } // unnamed namespace 67 } // unnamed namespace
67 68
68 class GpuMemoryBufferVideoFramePoolTest : public ::testing::Test { 69 class GpuMemoryBufferVideoFramePoolTest : public ::testing::Test {
69 public: 70 public:
70 GpuMemoryBufferVideoFramePoolTest() {} 71 GpuMemoryBufferVideoFramePoolTest() {}
71 void SetUp() override { 72 void SetUp() override {
72 gles2_.reset(new TestGLES2Interface); 73 gles2_.reset(new TestGLES2Interface);
73 media_task_runner_ = make_scoped_refptr(new base::TestSimpleTaskRunner); 74 media_task_runner_ = make_scoped_refptr(new base::TestSimpleTaskRunner);
74 copy_task_runner_ = make_scoped_refptr(new base::TestSimpleTaskRunner); 75 copy_task_runner_ = make_scoped_refptr(new base::TestSimpleTaskRunner);
76 media_task_runner_handle_.reset(
77 new base::ThreadTaskRunnerHandle(media_task_runner_));
75 mock_gpu_factories_.reset( 78 mock_gpu_factories_.reset(
76 new MockGpuVideoAcceleratorFactories(gles2_.get())); 79 new MockGpuVideoAcceleratorFactories(gles2_.get()));
77 gpu_memory_buffer_pool_.reset(new GpuMemoryBufferVideoFramePool( 80 gpu_memory_buffer_pool_.reset(new GpuMemoryBufferVideoFramePool(
78 media_task_runner_, copy_task_runner_.get(), 81 media_task_runner_, copy_task_runner_.get(),
79 mock_gpu_factories_.get())); 82 mock_gpu_factories_.get()));
80 } 83 }
81 84
82 void TearDown() override { 85 void TearDown() override {
83 gpu_memory_buffer_pool_.reset(); 86 gpu_memory_buffer_pool_.reset();
84 RunUntilIdle(); 87 RunUntilIdle();
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 base::TimeDelta()); // timestamp 119 base::TimeDelta()); // timestamp
117 EXPECT_TRUE(video_frame); 120 EXPECT_TRUE(video_frame);
118 return video_frame; 121 return video_frame;
119 } 122 }
120 123
121 protected: 124 protected:
122 scoped_ptr<MockGpuVideoAcceleratorFactories> mock_gpu_factories_; 125 scoped_ptr<MockGpuVideoAcceleratorFactories> mock_gpu_factories_;
123 scoped_ptr<GpuMemoryBufferVideoFramePool> gpu_memory_buffer_pool_; 126 scoped_ptr<GpuMemoryBufferVideoFramePool> gpu_memory_buffer_pool_;
124 scoped_refptr<base::TestSimpleTaskRunner> media_task_runner_; 127 scoped_refptr<base::TestSimpleTaskRunner> media_task_runner_;
125 scoped_refptr<base::TestSimpleTaskRunner> copy_task_runner_; 128 scoped_refptr<base::TestSimpleTaskRunner> copy_task_runner_;
129 // GpuMemoryBufferVideoFramePool uses BindToCurrentLoop(), which requires
130 // ThreadTaskRunnerHandle initialization.
131 scoped_ptr<base::ThreadTaskRunnerHandle> media_task_runner_handle_;
126 scoped_ptr<TestGLES2Interface> gles2_; 132 scoped_ptr<TestGLES2Interface> gles2_;
127 }; 133 };
128 134
129 void MaybeCreateHardwareFrameCallback( 135 void MaybeCreateHardwareFrameCallback(
130 scoped_refptr<VideoFrame>* video_frame_output, 136 scoped_refptr<VideoFrame>* video_frame_output,
131 const scoped_refptr<VideoFrame>& video_frame) { 137 const scoped_refptr<VideoFrame>& video_frame) {
132 *video_frame_output = video_frame; 138 *video_frame_output = video_frame;
133 } 139 }
134 140
135 TEST_F(GpuMemoryBufferVideoFramePoolTest, VideoFrameOutputFormatUnknown) { 141 TEST_F(GpuMemoryBufferVideoFramePoolTest, VideoFrameOutputFormatUnknown) {
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 gpu_memory_buffer_pool_->MaybeCreateHardwareFrame( 303 gpu_memory_buffer_pool_->MaybeCreateHardwareFrame(
298 software_frame, base::Bind(MaybeCreateHardwareFrameCallback, &frame)); 304 software_frame, base::Bind(MaybeCreateHardwareFrameCallback, &frame));
299 305
300 RunUntilIdle(); 306 RunUntilIdle();
301 307
302 EXPECT_NE(software_frame.get(), frame.get()); 308 EXPECT_NE(software_frame.get(), frame.get());
303 EXPECT_EQ(3u, gles2_->gen_textures); 309 EXPECT_EQ(3u, gles2_->gen_textures);
304 } 310 }
305 311
306 } // namespace media 312 } // namespace media
OLDNEW
« no previous file with comments | « media/video/gpu_memory_buffer_video_frame_pool.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698