Chromium Code Reviews| 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> |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 136 // Callback that is called when the SurfaceView becomes available, if it's | 136 // Callback that is called when the SurfaceView becomes available, if it's |
| 137 // not during Initialize. |success| is true if it is now available, false | 137 // not during Initialize. |success| is true if it is now available, false |
| 138 // if initialization should stop. | 138 // if initialization should stop. |
| 139 void OnSurfaceAvailable(bool success); | 139 void OnSurfaceAvailable(bool success); |
| 140 | 140 |
| 141 // Initialize of the picture buffer manager. This is to be called when the | 141 // Initialize of the picture buffer manager. This is to be called when the |
| 142 // SurfaceView in |surface_id_|, if any, is no longer busy. It will return | 142 // SurfaceView in |surface_id_|, if any, is no longer busy. It will return |
| 143 // false on failure, and true if initialization was successful. This includes | 143 // false on failure, and true if initialization was successful. This includes |
| 144 // synchronous and asynchronous init; the AVDA might not yet have a codec on | 144 // synchronous and asynchronous init; the AVDA might not yet have a codec on |
| 145 // success, but async init will at least be in progress. | 145 // success, but async init will at least be in progress. |
| 146 bool InitializePictureBufferManager(); | 146 bool InitializePictureBufferManager(bool force_async_init); |
|
liberato (no reviews please)
2016/09/13 15:34:28
i think that it's almost the same if one has Initi
DaleCurtis
2016/09/15 23:03:55
Good point. Done.
| |
| 147 | 147 |
| 148 // A part of destruction process that is sometimes postponed after the drain. | 148 // A part of destruction process that is sometimes postponed after the drain. |
| 149 void ActualDestroy(); | 149 void ActualDestroy(); |
| 150 | 150 |
| 151 // Configures |media_codec_| with the given codec parameters from the client. | 151 // Configures |media_codec_| with the given codec parameters from the client. |
| 152 // This configuration will (probably) not be complete before this call | 152 // This configuration will (probably) not be complete before this call |
| 153 // returns. Multiple calls before completion will be ignored. |state_| | 153 // returns. Multiple calls before completion will be ignored. |state_| |
| 154 // must be NO_ERROR or WAITING_FOR_CODEC. Note that, once you call this, | 154 // must be NO_ERROR or WAITING_FOR_CODEC. Note that, once you call this, |
| 155 // you should be careful to avoid modifying members of |codec_config_| until | 155 // you should be careful to avoid modifying members of |codec_config_| until |
| 156 // |state_| is no longer WAITING_FOR_CODEC. | 156 // |state_| is no longer WAITING_FOR_CODEC. |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 367 | 367 |
| 368 // True if and only if VDA initialization is deferred, and we have not yet | 368 // True if and only if VDA initialization is deferred, and we have not yet |
| 369 // called NotifyInitializationComplete. | 369 // called NotifyInitializationComplete. |
| 370 bool deferred_initialization_pending_; | 370 bool deferred_initialization_pending_; |
| 371 | 371 |
| 372 // Indicates if ResetCodecState() should be called upon the next call to | 372 // Indicates if ResetCodecState() should be called upon the next call to |
| 373 // Decode(). Allows us to avoid trashing the last few frames of a playback | 373 // Decode(). Allows us to avoid trashing the last few frames of a playback |
| 374 // when the EOS buffer is received. | 374 // when the EOS buffer is received. |
| 375 bool codec_needs_reset_; | 375 bool codec_needs_reset_; |
| 376 | 376 |
| 377 // True if surface creation and |picture_buffer_manager_| initialization has | |
| 378 // been defered until the first Decode() call. | |
| 379 bool defer_surface_creation_; | |
| 380 | |
| 377 // Copy of the VDA::Config we were given. | 381 // Copy of the VDA::Config we were given. |
| 378 Config config_; | 382 Config config_; |
| 379 | 383 |
| 380 OnDestroyingSurfaceCallback on_destroying_surface_cb_; | 384 OnDestroyingSurfaceCallback on_destroying_surface_cb_; |
| 381 | 385 |
| 382 // WeakPtrFactory for posting tasks back to |this|. | 386 // WeakPtrFactory for posting tasks back to |this|. |
| 383 base::WeakPtrFactory<AndroidVideoDecodeAccelerator> weak_this_factory_; | 387 base::WeakPtrFactory<AndroidVideoDecodeAccelerator> weak_this_factory_; |
| 384 | 388 |
| 385 friend class AndroidVideoDecodeAcceleratorTest; | 389 friend class AndroidVideoDecodeAcceleratorTest; |
| 386 }; | 390 }; |
| 387 | 391 |
| 388 } // namespace media | 392 } // namespace media |
| 389 | 393 |
| 390 #endif // MEDIA_GPU_ANDROID_VIDEO_DECODE_ACCELERATOR_H_ | 394 #endif // MEDIA_GPU_ANDROID_VIDEO_DECODE_ACCELERATOR_H_ |
| OLD | NEW |