| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ | 5 #ifndef MEDIA_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ |
| 6 #define MEDIA_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ | 6 #define MEDIA_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ |
| 7 | 7 |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 virtual void ReusePictureBuffer(int32_t picture_buffer_id) = 0; | 279 virtual void ReusePictureBuffer(int32_t picture_buffer_id) = 0; |
| 280 | 280 |
| 281 // Flushes the decoder: all pending inputs will be decoded and pictures handed | 281 // Flushes the decoder: all pending inputs will be decoded and pictures handed |
| 282 // back to the client, followed by NotifyFlushDone() being called on the | 282 // back to the client, followed by NotifyFlushDone() being called on the |
| 283 // client. Can be used to implement "end of stream" notification. | 283 // client. Can be used to implement "end of stream" notification. |
| 284 virtual void Flush() = 0; | 284 virtual void Flush() = 0; |
| 285 | 285 |
| 286 // Resets the decoder: all pending inputs are dropped immediately and the | 286 // Resets the decoder: all pending inputs are dropped immediately and the |
| 287 // decoder returned to a state ready for further Decode()s, followed by | 287 // decoder returned to a state ready for further Decode()s, followed by |
| 288 // NotifyResetDone() being called on the client. Can be used to implement | 288 // NotifyResetDone() being called on the client. Can be used to implement |
| 289 // "seek". | 289 // "seek". After Flush is called, it is OK to call Reset before receiving |
| 290 // NotifyFlushDone() and VDA should cancel the flush. Note NotifyFlushDone() |
| 291 // may be on the way to the client. If client gets NotifyFlushDone(), it |
| 292 // should be before NotifyResetDone(). |
| 290 virtual void Reset() = 0; | 293 virtual void Reset() = 0; |
| 291 | 294 |
| 292 // An optional graphics surface that the VDA should render to. For setting | 295 // An optional graphics surface that the VDA should render to. For setting |
| 293 // an output SurfaceView on Android. Passing |kNoSurfaceID| will clear any | 296 // an output SurfaceView on Android. Passing |kNoSurfaceID| will clear any |
| 294 // previously set surface in favor of an internally generated texture. | 297 // previously set surface in favor of an internally generated texture. |
| 295 virtual void SetSurface(int32_t surface_id); | 298 virtual void SetSurface(int32_t surface_id); |
| 296 | 299 |
| 297 // Destroys the decoder: all pending inputs are dropped immediately and the | 300 // Destroys the decoder: all pending inputs are dropped immediately and the |
| 298 // component is freed. This call may asynchornously free system resources, | 301 // component is freed. This call may asynchornously free system resources, |
| 299 // but its client-visible effects are synchronous. After this method returns | 302 // but its client-visible effects are synchronous. After this method returns |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 353 // std::unique_ptr<VideoDecodeAccelerator> uses "Destroy()" instead of trying to | 356 // std::unique_ptr<VideoDecodeAccelerator> uses "Destroy()" instead of trying to |
| 354 // use the destructor. | 357 // use the destructor. |
| 355 template <> | 358 template <> |
| 356 struct MEDIA_EXPORT default_delete<media::VideoDecodeAccelerator> { | 359 struct MEDIA_EXPORT default_delete<media::VideoDecodeAccelerator> { |
| 357 void operator()(media::VideoDecodeAccelerator* vda) const; | 360 void operator()(media::VideoDecodeAccelerator* vda) const; |
| 358 }; | 361 }; |
| 359 | 362 |
| 360 } // namespace std | 363 } // namespace std |
| 361 | 364 |
| 362 #endif // MEDIA_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ | 365 #endif // MEDIA_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ |
| OLD | NEW |