| 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 // This file contains an implementation of VideoDecoderAccelerator | 5 // This file contains an implementation of VideoDecoderAccelerator |
| 6 // that utilizes hardware video decoder present on Intel CPUs. | 6 // that utilizes hardware video decoder present on Intel CPUs. |
| 7 | 7 |
| 8 #ifndef CONTENT_COMMON_GPU_MEDIA_VAAPI_VIDEO_DECODE_ACCELERATOR_H_ | 8 #ifndef CONTENT_COMMON_GPU_MEDIA_VAAPI_VIDEO_DECODE_ACCELERATOR_H_ |
| 9 #define CONTENT_COMMON_GPU_MEDIA_VAAPI_VIDEO_DECODE_ACCELERATOR_H_ | 9 #define CONTENT_COMMON_GPU_MEDIA_VAAPI_VIDEO_DECODE_ACCELERATOR_H_ |
| 10 | 10 |
| (...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 227 base::MessageLoop* message_loop_; | 227 base::MessageLoop* message_loop_; |
| 228 | 228 |
| 229 // WeakPtr<> pointing to |this| for use in posting tasks from the decoder | 229 // WeakPtr<> pointing to |this| for use in posting tasks from the decoder |
| 230 // thread back to the ChildThread. Because the decoder thread is a member of | 230 // thread back to the ChildThread. Because the decoder thread is a member of |
| 231 // this class, any task running on the decoder thread is guaranteed that this | 231 // this class, any task running on the decoder thread is guaranteed that this |
| 232 // object is still alive. As a result, tasks posted from ChildThread to | 232 // object is still alive. As a result, tasks posted from ChildThread to |
| 233 // decoder thread should use base::Unretained(this), and tasks posted from the | 233 // decoder thread should use base::Unretained(this), and tasks posted from the |
| 234 // decoder thread to the ChildThread should use |weak_this_|. | 234 // decoder thread to the ChildThread should use |weak_this_|. |
| 235 base::WeakPtr<VaapiVideoDecodeAccelerator> weak_this_; | 235 base::WeakPtr<VaapiVideoDecodeAccelerator> weak_this_; |
| 236 | 236 |
| 237 // Callback used when creating VASurface objects. |
| 238 VASurface::ReleaseCB va_surface_release_cb_; |
| 239 |
| 237 // To expose client callbacks from VideoDecodeAccelerator. | 240 // To expose client callbacks from VideoDecodeAccelerator. |
| 238 // NOTE: all calls to these objects *MUST* be executed on message_loop_. | 241 // NOTE: all calls to these objects *MUST* be executed on message_loop_. |
| 239 base::WeakPtrFactory<Client> client_ptr_factory_; | 242 base::WeakPtrFactory<Client> client_ptr_factory_; |
| 240 base::WeakPtr<Client> client_; | 243 base::WeakPtr<Client> client_; |
| 241 | 244 |
| 242 scoped_ptr<VaapiWrapper> vaapi_wrapper_; | 245 scoped_ptr<VaapiWrapper> vaapi_wrapper_; |
| 243 | 246 |
| 244 // Comes after vaapi_wrapper_ to ensure its destructor is executed before | 247 // Comes after vaapi_wrapper_ to ensure its destructor is executed before |
| 245 // vaapi_wrapper_ is destroyed. | 248 // vaapi_wrapper_ is destroyed. |
| 246 scoped_ptr<VaapiH264Decoder> decoder_; | 249 scoped_ptr<VaapiH264Decoder> decoder_; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 260 // Last requested number/resolution of output picture buffers. | 263 // Last requested number/resolution of output picture buffers. |
| 261 size_t requested_num_pics_; | 264 size_t requested_num_pics_; |
| 262 gfx::Size requested_pic_size_; | 265 gfx::Size requested_pic_size_; |
| 263 | 266 |
| 264 DISALLOW_COPY_AND_ASSIGN(VaapiVideoDecodeAccelerator); | 267 DISALLOW_COPY_AND_ASSIGN(VaapiVideoDecodeAccelerator); |
| 265 }; | 268 }; |
| 266 | 269 |
| 267 } // namespace content | 270 } // namespace content |
| 268 | 271 |
| 269 #endif // CONTENT_COMMON_GPU_MEDIA_VAAPI_VIDEO_DECODE_ACCELERATOR_H_ | 272 #endif // CONTENT_COMMON_GPU_MEDIA_VAAPI_VIDEO_DECODE_ACCELERATOR_H_ |
| OLD | NEW |