OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 MEDIA_GPU_ANDROID_VIDEO_DECODE_ACCELERATOR_H_ | 5 #ifndef MEDIA_GPU_ANDROID_VIDEO_DECODE_ACCELERATOR_H_ |
6 #define MEDIA_GPU_ANDROID_VIDEO_DECODE_ACCELERATOR_H_ | 6 #define MEDIA_GPU_ANDROID_VIDEO_DECODE_ACCELERATOR_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <list> | 10 #include <list> |
11 #include <map> | 11 #include <map> |
12 #include <queue> | 12 #include <queue> |
13 #include <vector> | 13 #include <vector> |
14 | 14 |
15 #include "base/compiler_specific.h" | 15 #include "base/compiler_specific.h" |
16 #include "base/optional.h" | 16 #include "base/optional.h" |
17 #include "base/threading/thread_checker.h" | 17 #include "base/threading/thread_checker.h" |
18 #include "base/timer/timer.h" | 18 #include "base/timer/timer.h" |
19 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" | 19 #include "gpu/command_buffer/service/gles2_cmd_decoder.h" |
20 #include "gpu/command_buffer/service/gpu_preferences.h" | 20 #include "gpu/command_buffer/service/gpu_preferences.h" |
21 #include "media/base/android/media_drm_bridge_cdm_context.h" | 21 #include "media/base/android/media_drm_bridge_cdm_context.h" |
22 #include "media/base/android/sdk_media_codec_bridge.h" | 22 #include "media/base/android/sdk_media_codec_bridge.h" |
23 #include "media/base/media_keys.h" | 23 #include "media/base/content_decryption_module.h" |
24 #include "media/gpu/avda_codec_allocator.h" | 24 #include "media/gpu/avda_codec_allocator.h" |
25 #include "media/gpu/avda_picture_buffer_manager.h" | 25 #include "media/gpu/avda_picture_buffer_manager.h" |
26 #include "media/gpu/avda_state_provider.h" | 26 #include "media/gpu/avda_state_provider.h" |
27 #include "media/gpu/gpu_video_decode_accelerator_helpers.h" | 27 #include "media/gpu/gpu_video_decode_accelerator_helpers.h" |
28 #include "media/gpu/media_gpu_export.h" | 28 #include "media/gpu/media_gpu_export.h" |
29 #include "media/video/video_decode_accelerator.h" | 29 #include "media/video/video_decode_accelerator.h" |
30 #include "ui/gl/android/scoped_java_surface.h" | 30 #include "ui/gl/android/scoped_java_surface.h" |
31 | 31 |
32 namespace media { | 32 namespace media { |
33 class SharedMemoryRegion; | 33 class SharedMemoryRegion; |
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
277 | 277 |
278 AVDAPictureBufferManager picture_buffer_manager_; | 278 AVDAPictureBufferManager picture_buffer_manager_; |
279 | 279 |
280 // Time at which we last did useful work on io_timer_. | 280 // Time at which we last did useful work on io_timer_. |
281 base::TimeTicks most_recent_work_; | 281 base::TimeTicks most_recent_work_; |
282 | 282 |
283 // The ongoing drain operation, if any. | 283 // The ongoing drain operation, if any. |
284 base::Optional<DrainType> drain_type_; | 284 base::Optional<DrainType> drain_type_; |
285 | 285 |
286 // Holds a ref-count to the CDM to avoid using the CDM after it's destroyed. | 286 // Holds a ref-count to the CDM to avoid using the CDM after it's destroyed. |
287 scoped_refptr<MediaKeys> cdm_for_reference_holding_only_; | 287 scoped_refptr<ContentDecryptionModule> cdm_for_reference_holding_only_; |
288 | 288 |
289 MediaDrmBridgeCdmContext* media_drm_bridge_cdm_context_; | 289 MediaDrmBridgeCdmContext* media_drm_bridge_cdm_context_; |
290 | 290 |
291 // MediaDrmBridge requires registration/unregistration of the player, this | 291 // MediaDrmBridge requires registration/unregistration of the player, this |
292 // registration id is used for this. | 292 // registration id is used for this. |
293 int cdm_registration_id_; | 293 int cdm_registration_id_; |
294 | 294 |
295 // Configuration that we use for MediaCodec. | 295 // Configuration that we use for MediaCodec. |
296 // Do not update any of its members while |state_| is WAITING_FOR_CODEC. | 296 // Do not update any of its members while |state_| is WAITING_FOR_CODEC. |
297 scoped_refptr<CodecConfig> codec_config_; | 297 scoped_refptr<CodecConfig> codec_config_; |
(...skipping 29 matching lines...) Expand all Loading... |
327 | 327 |
328 // WeakPtrFactory for posting tasks back to |this|. | 328 // WeakPtrFactory for posting tasks back to |this|. |
329 base::WeakPtrFactory<AndroidVideoDecodeAccelerator> weak_this_factory_; | 329 base::WeakPtrFactory<AndroidVideoDecodeAccelerator> weak_this_factory_; |
330 | 330 |
331 friend class AndroidVideoDecodeAcceleratorTest; | 331 friend class AndroidVideoDecodeAcceleratorTest; |
332 }; | 332 }; |
333 | 333 |
334 } // namespace media | 334 } // namespace media |
335 | 335 |
336 #endif // MEDIA_GPU_ANDROID_VIDEO_DECODE_ACCELERATOR_H_ | 336 #endif // MEDIA_GPU_ANDROID_VIDEO_DECODE_ACCELERATOR_H_ |
OLD | NEW |