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> |
| 9 |
8 #include <queue> | 10 #include <queue> |
9 #include <vector> | 11 #include <vector> |
10 | 12 |
11 #include "base/basictypes.h" | |
12 #include "base/containers/hash_tables.h" | 13 #include "base/containers/hash_tables.h" |
| 14 #include "base/macros.h" |
13 #include "base/memory/scoped_ptr.h" | 15 #include "base/memory/scoped_ptr.h" |
14 #include "base/memory/weak_ptr.h" | 16 #include "base/memory/weak_ptr.h" |
15 #include "gpu/command_buffer/common/mailbox.h" | 17 #include "gpu/command_buffer/common/mailbox.h" |
16 #include "media/base/video_decoder_config.h" | 18 #include "media/base/video_decoder_config.h" |
17 #include "media/video/video_decode_accelerator.h" | 19 #include "media/video/video_decode_accelerator.h" |
18 | 20 |
19 #include "ppapi/c/pp_codecs.h" | 21 #include "ppapi/c/pp_codecs.h" |
20 | 22 |
21 namespace base { | 23 namespace base { |
22 class SingleThreadTaskRunner; | 24 class SingleThreadTaskRunner; |
(...skipping 24 matching lines...) Expand all Loading... |
47 class VideoDecoderShim : public media::VideoDecodeAccelerator { | 49 class VideoDecoderShim : public media::VideoDecodeAccelerator { |
48 public: | 50 public: |
49 VideoDecoderShim(PepperVideoDecoderHost* host, uint32_t texture_pool_size); | 51 VideoDecoderShim(PepperVideoDecoderHost* host, uint32_t texture_pool_size); |
50 ~VideoDecoderShim() override; | 52 ~VideoDecoderShim() override; |
51 | 53 |
52 // media::VideoDecodeAccelerator implementation. | 54 // media::VideoDecodeAccelerator implementation. |
53 bool Initialize(const Config& config, Client* client) override; | 55 bool Initialize(const Config& config, Client* client) override; |
54 void Decode(const media::BitstreamBuffer& bitstream_buffer) override; | 56 void Decode(const media::BitstreamBuffer& bitstream_buffer) override; |
55 void AssignPictureBuffers( | 57 void AssignPictureBuffers( |
56 const std::vector<media::PictureBuffer>& buffers) override; | 58 const std::vector<media::PictureBuffer>& buffers) override; |
57 void ReusePictureBuffer(int32 picture_buffer_id) override; | 59 void ReusePictureBuffer(int32_t picture_buffer_id) override; |
58 void Flush() override; | 60 void Flush() override; |
59 void Reset() override; | 61 void Reset() override; |
60 void Destroy() override; | 62 void Destroy() override; |
61 | 63 |
62 private: | 64 private: |
63 enum State { | 65 enum State { |
64 UNINITIALIZED, | 66 UNINITIALIZED, |
65 DECODING, | 67 DECODING, |
66 FLUSHING, | 68 FLUSHING, |
67 RESETTING, | 69 RESETTING, |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
120 scoped_ptr<YUVConverter> yuv_converter_; | 122 scoped_ptr<YUVConverter> yuv_converter_; |
121 | 123 |
122 base::WeakPtrFactory<VideoDecoderShim> weak_ptr_factory_; | 124 base::WeakPtrFactory<VideoDecoderShim> weak_ptr_factory_; |
123 | 125 |
124 DISALLOW_COPY_AND_ASSIGN(VideoDecoderShim); | 126 DISALLOW_COPY_AND_ASSIGN(VideoDecoderShim); |
125 }; | 127 }; |
126 | 128 |
127 } // namespace content | 129 } // namespace content |
128 | 130 |
129 #endif // CONTENT_RENDERER_PEPPER_VIDEO_DECODER_SHIM_H_ | 131 #endif // CONTENT_RENDERER_PEPPER_VIDEO_DECODER_SHIM_H_ |
OLD | NEW |