OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 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 | 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 #ifndef CONTENT_RENDERER_PEPPER_VIDEO_DECODER_SHIM_H_ | 5 #ifndef CONTENT_RENDERER_PEPPER_VIDEO_DECODER_SHIM_H_ |
6 #define CONTENT_RENDERER_PEPPER_VIDEO_DECODER_SHIM_H_ | 6 #define CONTENT_RENDERER_PEPPER_VIDEO_DECODER_SHIM_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
11 #include <queue> | 11 #include <queue> |
12 #include <vector> | 12 #include <vector> |
13 | 13 |
14 #include "base/containers/hash_tables.h" | 14 #include "base/containers/hash_tables.h" |
15 #include "base/macros.h" | 15 #include "base/macros.h" |
16 #include "base/memory/weak_ptr.h" | 16 #include "base/memory/weak_ptr.h" |
17 #include "gpu/command_buffer/common/mailbox.h" | 17 #include "gpu/command_buffer/common/mailbox.h" |
18 #include "media/base/video_decoder_config.h" | 18 #include "media/base/video_decoder_config.h" |
19 #include "media/video/video_decode_accelerator.h" | 19 #include "media/video/video_decode_accelerator.h" |
20 #include "ppapi/c/pp_codecs.h" | 20 #include "ppapi/c/pp_codecs.h" |
21 | 21 |
22 namespace base { | 22 namespace base { |
23 class SingleThreadTaskRunner; | 23 class SingleThreadTaskRunner; |
24 } | 24 } |
25 | 25 |
26 namespace gpu { | |
27 namespace gles2 { | |
28 class GLES2Interface; | |
29 } | |
30 } | |
31 | |
32 namespace media { | |
33 class DecoderBuffer; | |
34 } | |
35 | |
36 namespace content { | 26 namespace content { |
37 | 27 |
38 class ContextProviderCommandBuffer; | 28 class ContextProviderCommandBuffer; |
39 class PepperVideoDecoderHost; | 29 class PepperVideoDecoderHost; |
40 | 30 |
41 // This class is a shim to wrap a media::VideoDecoder so that it can be used | 31 // This class is a shim to wrap a media::VideoDecoder so that it can be used |
42 // by PepperVideoDecoderHost in place of a media::VideoDecodeAccelerator. | 32 // by PepperVideoDecoderHost in place of a media::VideoDecodeAccelerator. |
43 // This class should be constructed, used, and destructed on the main (render) | 33 // This class should be constructed, used, and destructed on the main (render) |
44 // thread. | 34 // thread. |
45 class VideoDecoderShim : public media::VideoDecodeAccelerator { | 35 class VideoDecoderShim : public media::VideoDecodeAccelerator { |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 std::unique_ptr<YUVConverter> yuv_converter_; | 108 std::unique_ptr<YUVConverter> yuv_converter_; |
119 | 109 |
120 base::WeakPtrFactory<VideoDecoderShim> weak_ptr_factory_; | 110 base::WeakPtrFactory<VideoDecoderShim> weak_ptr_factory_; |
121 | 111 |
122 DISALLOW_COPY_AND_ASSIGN(VideoDecoderShim); | 112 DISALLOW_COPY_AND_ASSIGN(VideoDecoderShim); |
123 }; | 113 }; |
124 | 114 |
125 } // namespace content | 115 } // namespace content |
126 | 116 |
127 #endif // CONTENT_RENDERER_PEPPER_VIDEO_DECODER_SHIM_H_ | 117 #endif // CONTENT_RENDERER_PEPPER_VIDEO_DECODER_SHIM_H_ |
OLD | NEW |