| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 CONTENT_COMMON_GPU_MEDIA_VAAPI_VIDEO_ENCODE_ACCELERATOR_H_ | 5 #ifndef CONTENT_COMMON_GPU_MEDIA_VAAPI_VIDEO_ENCODE_ACCELERATOR_H_ |
| 6 #define CONTENT_COMMON_GPU_MEDIA_VAAPI_VIDEO_ENCODE_ACCELERATOR_H_ | 6 #define CONTENT_COMMON_GPU_MEDIA_VAAPI_VIDEO_ENCODE_ACCELERATOR_H_ |
| 7 | 7 |
| 8 #include <list> | 8 #include <list> |
| 9 #include <queue> | 9 #include <queue> |
| 10 | 10 |
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 std::queue<linked_ptr<InputFrameRef> > encoder_input_queue_; | 228 std::queue<linked_ptr<InputFrameRef> > encoder_input_queue_; |
| 229 | 229 |
| 230 // BitstreamBuffers mapped, ready to be filled. | 230 // BitstreamBuffers mapped, ready to be filled. |
| 231 std::queue<linked_ptr<BitstreamBufferRef> > available_bitstream_buffers_; | 231 std::queue<linked_ptr<BitstreamBufferRef> > available_bitstream_buffers_; |
| 232 | 232 |
| 233 // Jobs submitted for encode, awaiting bitstream buffers to become available. | 233 // Jobs submitted for encode, awaiting bitstream buffers to become available. |
| 234 std::queue<linked_ptr<EncodeJob> > submitted_encode_jobs_; | 234 std::queue<linked_ptr<EncodeJob> > submitted_encode_jobs_; |
| 235 | 235 |
| 236 // Encoder thread. All tasks are executed on it. | 236 // Encoder thread. All tasks are executed on it. |
| 237 base::Thread encoder_thread_; | 237 base::Thread encoder_thread_; |
| 238 scoped_refptr<base::SingleThreadTaskRunner> encoder_thread_task_runner_; | 238 scoped_refptr<base::MessageLoopProxy> encoder_thread_proxy_; |
| 239 | 239 |
| 240 const scoped_refptr<base::SingleThreadTaskRunner> child_task_runner_; | 240 const scoped_refptr<base::MessageLoopProxy> child_message_loop_proxy_; |
| 241 | 241 |
| 242 // To expose client callbacks from VideoEncodeAccelerator. | 242 // To expose client callbacks from VideoEncodeAccelerator. |
| 243 // NOTE: all calls to these objects *MUST* be executed on | 243 // NOTE: all calls to these objects *MUST* be executed on |
| 244 // child_task_runner_. | 244 // child_message_loop_proxy_. |
| 245 scoped_ptr<base::WeakPtrFactory<Client> > client_ptr_factory_; | 245 scoped_ptr<base::WeakPtrFactory<Client> > client_ptr_factory_; |
| 246 base::WeakPtr<Client> client_; | 246 base::WeakPtr<Client> client_; |
| 247 | 247 |
| 248 // WeakPtr to post from the encoder thread back to the ChildThread, as it may | 248 // WeakPtr to post from the encoder thread back to the ChildThread, as it may |
| 249 // outlive this. Posting from the ChildThread using base::Unretained(this) | 249 // outlive this. Posting from the ChildThread using base::Unretained(this) |
| 250 // to the encoder thread is safe, because |this| always outlives the encoder | 250 // to the encoder thread is safe, because |this| always outlives the encoder |
| 251 // thread (it's a member of this class). | 251 // thread (it's a member of this class). |
| 252 base::WeakPtr<VaapiVideoEncodeAccelerator> weak_this_; | 252 base::WeakPtr<VaapiVideoEncodeAccelerator> weak_this_; |
| 253 base::WeakPtrFactory<VaapiVideoEncodeAccelerator> weak_this_ptr_factory_; | 253 base::WeakPtrFactory<VaapiVideoEncodeAccelerator> weak_this_ptr_factory_; |
| 254 | 254 |
| 255 DISALLOW_COPY_AND_ASSIGN(VaapiVideoEncodeAccelerator); | 255 DISALLOW_COPY_AND_ASSIGN(VaapiVideoEncodeAccelerator); |
| 256 }; | 256 }; |
| 257 | 257 |
| 258 } // namespace content | 258 } // namespace content |
| 259 | 259 |
| 260 #endif // CONTENT_COMMON_GPU_MEDIA_VAAPI_VIDEO_ENCODE_ACCELERATOR_H_ | 260 #endif // CONTENT_COMMON_GPU_MEDIA_VAAPI_VIDEO_ENCODE_ACCELERATOR_H_ |
| OLD | NEW |