Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / media / cast / test / fake_gpu_video_accelerator_factories.h
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.
4
5 #ifndef MEDIA_CAST_TEST_FAKE_GPU_VIDEO_ACCELERATOR_FACTORIES_H_
6 #define MEDIA_CAST_TEST_FAKE_GPU_VIDEO_ACCELERATOR_FACTORIES_H_
7
8 #include "media/filters/gpu_video_accelerator_factories.h"
9
10 #include "base/message_loop/message_loop.h"
11 #include "media/cast/test/fake_single_thread_task_runner.h"
12
13 namespace media {
14 namespace cast {
15 namespace test {
16
17 class FakeGpuVideoAcceleratorFactories : public GpuVideoAcceleratorFactories {
18  public:
19   explicit FakeGpuVideoAcceleratorFactories(
20       const scoped_refptr<base::SingleThreadTaskRunner>& fake_task_runner);
21
22   virtual scoped_ptr<VideoEncodeAccelerator> CreateVideoEncodeAccelerator(
23       VideoEncodeAccelerator::Client* client) OVERRIDE;
24
25   virtual base::SharedMemory* CreateSharedMemory(size_t size) OVERRIDE;
26
27   virtual scoped_refptr<base::SingleThreadTaskRunner>
28       GetTaskRunner() OVERRIDE;
29   //
30   //  The following functions are no-op.
31   //
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;
37
38   virtual void DeleteTexture(uint32 texture_id) OVERRIDE {}
39
40   virtual void WaitSyncPoint(uint32 sync_point) OVERRIDE {}
41
42   virtual void ReadPixels(uint32 texture_id,
43                           const gfx::Rect& visible_rect,
44                           const SkBitmap& pixels) OVERRIDE {};
45
46   virtual scoped_ptr<VideoDecodeAccelerator> CreateVideoDecodeAccelerator(
47       VideoCodecProfile profile,
48       VideoDecodeAccelerator::Client* client) OVERRIDE;
49
50  private:
51   friend class base::RefCountedThreadSafe<FakeGpuVideoAcceleratorFactories>;
52   virtual ~FakeGpuVideoAcceleratorFactories();
53
54   const scoped_refptr<base::SingleThreadTaskRunner> fake_task_runner_;
55
56   DISALLOW_COPY_AND_ASSIGN(FakeGpuVideoAcceleratorFactories);
57 };
58
59 }  // namespace test
60 }  // namespace cast
61 }  // namespace media
62
63 #endif  // MEDIA_CAST_TEST_FAKE_GPU_VIDEO_ACCELERATOR_FACTORIES_H_