| 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_FILTERS_GPU_VIDEO_DECODER_H_ | 5 #ifndef MEDIA_FILTERS_GPU_VIDEO_DECODER_H_ |
| 6 #define MEDIA_FILTERS_GPU_VIDEO_DECODER_H_ | 6 #define MEDIA_FILTERS_GPU_VIDEO_DECODER_H_ |
| 7 | 7 |
| 8 #include <list> | 8 #include <list> |
| 9 #include <map> | 9 #include <map> |
| 10 #include <set> | 10 #include <set> |
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 // Enqueue a frame for later delivery (or drop it on the floor if a | 99 // Enqueue a frame for later delivery (or drop it on the floor if a |
| 100 // vda->Reset() is in progress) and trigger out-of-line delivery of the oldest | 100 // vda->Reset() is in progress) and trigger out-of-line delivery of the oldest |
| 101 // ready frame to the client if there is a pending read. A NULL |frame| | 101 // ready frame to the client if there is a pending read. A NULL |frame| |
| 102 // merely triggers delivery, and requires the ready_video_frames_ queue not be | 102 // merely triggers delivery, and requires the ready_video_frames_ queue not be |
| 103 // empty. | 103 // empty. |
| 104 void EnqueueFrameAndTriggerFrameDelivery( | 104 void EnqueueFrameAndTriggerFrameDelivery( |
| 105 const scoped_refptr<VideoFrame>& frame); | 105 const scoped_refptr<VideoFrame>& frame); |
| 106 | 106 |
| 107 // Indicate the picture buffer can be reused by the decoder. | 107 // Indicate the picture buffer can be reused by the decoder. |
| 108 void ReusePictureBuffer(int64 picture_buffer_id, | 108 void ReusePictureBuffer(int64 picture_buffer_id, |
| 109 scoped_ptr<gpu::MailboxHolder> mailbox_holder); | 109 scoped_ptr<gpu::MailboxHolder> mailbox_holder, |
| 110 const std::vector<uint32>& release_sync_points); |
| 110 | 111 |
| 111 void RecordBufferData( | 112 void RecordBufferData( |
| 112 const BitstreamBuffer& bitstream_buffer, const DecoderBuffer& buffer); | 113 const BitstreamBuffer& bitstream_buffer, const DecoderBuffer& buffer); |
| 113 void GetBufferData(int32 id, base::TimeDelta* timetamp, | 114 void GetBufferData(int32 id, base::TimeDelta* timetamp, |
| 114 gfx::Rect* visible_rect, gfx::Size* natural_size); | 115 gfx::Rect* visible_rect, gfx::Size* natural_size); |
| 115 | 116 |
| 116 void DestroyVDA(); | 117 void DestroyVDA(); |
| 117 | 118 |
| 118 // Request a shared-memory segment of at least |min_size| bytes. Will | 119 // Request a shared-memory segment of at least |min_size| bytes. Will |
| 119 // allocate as necessary. Caller does not own returned pointer. | 120 // allocate as necessary. Caller does not own returned pointer. |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 187 // Set during ProvidePictureBuffers(), used for checking and implementing | 188 // Set during ProvidePictureBuffers(), used for checking and implementing |
| 188 // HasAvailableOutputFrames(). | 189 // HasAvailableOutputFrames(). |
| 189 int available_pictures_; | 190 int available_pictures_; |
| 190 | 191 |
| 191 DISALLOW_COPY_AND_ASSIGN(GpuVideoDecoder); | 192 DISALLOW_COPY_AND_ASSIGN(GpuVideoDecoder); |
| 192 }; | 193 }; |
| 193 | 194 |
| 194 } // namespace media | 195 } // namespace media |
| 195 | 196 |
| 196 #endif // MEDIA_FILTERS_GPU_VIDEO_DECODER_H_ | 197 #endif // MEDIA_FILTERS_GPU_VIDEO_DECODER_H_ |
| OLD | NEW |