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 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 // "seek". | 291 // "seek". |
292 virtual void Reset() = 0; | 292 virtual void Reset() = 0; |
293 | 293 |
294 // Destroys the decoder: all pending inputs are dropped immediately and the | 294 // Destroys the decoder: all pending inputs are dropped immediately and the |
295 // component is freed. This call may asynchornously free system resources, | 295 // component is freed. This call may asynchornously free system resources, |
296 // but its client-visible effects are synchronous. After this method returns | 296 // but its client-visible effects are synchronous. After this method returns |
297 // no more callbacks will be made on the client. Deletes |this| | 297 // no more callbacks will be made on the client. Deletes |this| |
298 // unconditionally, so make sure to drop all pointers to it! | 298 // unconditionally, so make sure to drop all pointers to it! |
299 virtual void Destroy() = 0; | 299 virtual void Destroy() = 0; |
300 | 300 |
| 301 virtual void SetSurface(int surface_id) {} |
| 302 |
301 // TO BE CALLED IN THE SAME PROCESS AS THE VDA IMPLEMENTATION ONLY. | 303 // TO BE CALLED IN THE SAME PROCESS AS THE VDA IMPLEMENTATION ONLY. |
302 // | 304 // |
303 // A decode "task" is a sequence that includes a Decode() call from Client, | 305 // A decode "task" is a sequence that includes a Decode() call from Client, |
304 // as well as corresponding callbacks to return the input BitstreamBuffer | 306 // as well as corresponding callbacks to return the input BitstreamBuffer |
305 // after use, and the resulting output Picture(s). | 307 // after use, and the resulting output Picture(s). |
306 // | 308 // |
307 // If the Client can support running these three calls on a separate thread, | 309 // If the Client can support running these three calls on a separate thread, |
308 // it may call this method to try to set up the VDA implementation to do so. | 310 // it may call this method to try to set up the VDA implementation to do so. |
309 // If the VDA can support this as well, return true, otherwise return false. | 311 // If the VDA can support this as well, return true, otherwise return false. |
310 // If true is returned, the client may submit each Decode() call (but no other | 312 // If true is returned, the client may submit each Decode() call (but no other |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
350 // std::unique_ptr<VideoDecodeAccelerator> uses "Destroy()" instead of trying to | 352 // std::unique_ptr<VideoDecodeAccelerator> uses "Destroy()" instead of trying to |
351 // use the destructor. | 353 // use the destructor. |
352 template <> | 354 template <> |
353 struct MEDIA_EXPORT default_delete<media::VideoDecodeAccelerator> { | 355 struct MEDIA_EXPORT default_delete<media::VideoDecodeAccelerator> { |
354 void operator()(media::VideoDecodeAccelerator* vda) const; | 356 void operator()(media::VideoDecodeAccelerator* vda) const; |
355 }; | 357 }; |
356 | 358 |
357 } // namespace std | 359 } // namespace std |
358 | 360 |
359 #endif // MEDIA_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ | 361 #endif // MEDIA_VIDEO_VIDEO_DECODE_ACCELERATOR_H_ |
OLD | NEW |