| 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 |