1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef MEDIA_CAST_TEST_FAKE_GPU_VIDEO_ACCELERATOR_FACTORIES_H_
6 #define MEDIA_CAST_TEST_FAKE_GPU_VIDEO_ACCELERATOR_FACTORIES_H_
8 #include "media/filters/gpu_video_accelerator_factories.h"
10 #include "base/message_loop/message_loop.h"
11 #include "media/cast/test/fake_single_thread_task_runner.h"
17 class FakeGpuVideoAcceleratorFactories
: public GpuVideoAcceleratorFactories
{
19 explicit FakeGpuVideoAcceleratorFactories(
20 const scoped_refptr
<base::SingleThreadTaskRunner
>& fake_task_runner
);
22 virtual scoped_ptr
<VideoEncodeAccelerator
> CreateVideoEncodeAccelerator(
23 VideoEncodeAccelerator::Client
* client
) OVERRIDE
;
25 virtual base::SharedMemory
* CreateSharedMemory(size_t size
) OVERRIDE
;
27 virtual scoped_refptr
<base::SingleThreadTaskRunner
>
28 GetTaskRunner() OVERRIDE
;
30 // The following functions are no-op.
32 virtual uint32
CreateTextures(int32 count
,
33 const gfx::Size
& size
,
34 std::vector
<uint32
>* texture_ids
,
35 std::vector
<gpu::Mailbox
>* texture_mailboxes
,
36 uint32 texture_target
) OVERRIDE
;
38 virtual void DeleteTexture(uint32 texture_id
) OVERRIDE
{}
40 virtual void WaitSyncPoint(uint32 sync_point
) OVERRIDE
{}
42 virtual void ReadPixels(uint32 texture_id
,
43 const gfx::Rect
& visible_rect
,
44 const SkBitmap
& pixels
) OVERRIDE
{};
46 virtual scoped_ptr
<VideoDecodeAccelerator
> CreateVideoDecodeAccelerator(
47 VideoCodecProfile profile
,
48 VideoDecodeAccelerator::Client
* client
) OVERRIDE
;
51 friend class base::RefCountedThreadSafe
<FakeGpuVideoAcceleratorFactories
>;
52 virtual ~FakeGpuVideoAcceleratorFactories();
54 const scoped_refptr
<base::SingleThreadTaskRunner
> fake_task_runner_
;
56 DISALLOW_COPY_AND_ASSIGN(FakeGpuVideoAcceleratorFactories
);
63 #endif // MEDIA_CAST_TEST_FAKE_GPU_VIDEO_ACCELERATOR_FACTORIES_H_