Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(89)

Side by Side Diff: content/common/gpu/media/dxva_video_decode_accelerator.h

Issue 1111903002: win: Move DXVAVideoDecodeAccelerator's WeakPtrFactory member to the end. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | content/common/gpu/media/dxva_video_decode_accelerator.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 CONTENT_COMMON_GPU_MEDIA_DXVA_VIDEO_DECODE_ACCELERATOR_H_ 5 #ifndef CONTENT_COMMON_GPU_MEDIA_DXVA_VIDEO_DECODE_ACCELERATOR_H_
6 #define CONTENT_COMMON_GPU_MEDIA_DXVA_VIDEO_DECODE_ACCELERATOR_H_ 6 #define CONTENT_COMMON_GPU_MEDIA_DXVA_VIDEO_DECODE_ACCELERATOR_H_
7 7
8 #include <d3d11.h> 8 #include <d3d11.h>
9 #include <d3d9.h> 9 #include <d3d9.h>
10 // Work around bug in this header by disabling the relevant warning for it. 10 // Work around bug in this header by disabling the relevant warning for it.
(...skipping 325 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 336
337 // Task runner to be used for posting tasks to the decoder thread. 337 // Task runner to be used for posting tasks to the decoder thread.
338 scoped_refptr<base::SingleThreadTaskRunner> decoder_thread_task_runner_; 338 scoped_refptr<base::SingleThreadTaskRunner> decoder_thread_task_runner_;
339 339
340 // Task runner to be used for posting tasks to the main thread. 340 // Task runner to be used for posting tasks to the main thread.
341 scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner_; 341 scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner_;
342 342
343 // Used to synchronize access between the decoder thread and the main thread. 343 // Used to synchronize access between the decoder thread and the main thread.
344 base::Lock decoder_lock_; 344 base::Lock decoder_lock_;
345 345
346 // WeakPtrFactory for posting tasks back to |this|.
347 base::WeakPtrFactory<DXVAVideoDecodeAccelerator> weak_this_factory_;
348
349 // Disallow rebinding WeakReference ownership to a different thread by 346 // Disallow rebinding WeakReference ownership to a different thread by
350 // keeping a persistent reference. This avoids problems with the 347 // keeping a persistent reference. This avoids problems with the
351 // thread safety of reaching into this class from multiple threads to 348 // thread safety of reaching into this class from multiple threads to
352 // attain a WeakPtr. 349 // attain a WeakPtr.
353 const base::WeakPtr<DXVAVideoDecodeAccelerator> weak_ptr_; 350 base::WeakPtr<DXVAVideoDecodeAccelerator> weak_ptr_;
354 351
355 // Set to true if we are in the context of a Flush operation. Used to prevent 352 // Set to true if we are in the context of a Flush operation. Used to prevent
356 // multiple flush done notifications being sent out. 353 // multiple flush done notifications being sent out.
357 bool pending_flush_; 354 bool pending_flush_;
358 355
359 // Defaults to false. Indicates if we should use D3D or DX11 interfaces for 356 // Defaults to false. Indicates if we should use D3D or DX11 interfaces for
360 // H/W decoding. 357 // H/W decoding.
361 bool use_dx11_; 358 bool use_dx11_;
362 359
363 // Set to true if the DX11 video format converter input media types need to 360 // Set to true if the DX11 video format converter input media types need to
364 // be initialized. Defaults to true. 361 // be initialized. Defaults to true.
365 bool dx11_video_format_converter_media_type_needs_init_; 362 bool dx11_video_format_converter_media_type_needs_init_;
366 363
367 // The GLContext to be used by the decoder. 364 // The GLContext to be used by the decoder.
368 scoped_refptr<gfx::GLContext> gl_context_; 365 scoped_refptr<gfx::GLContext> gl_context_;
369 366
367 // WeakPtrFactory for posting tasks back to |this|.
368 base::WeakPtrFactory<DXVAVideoDecodeAccelerator> weak_this_factory_;
369
370 // Function pointer for the MFCreateDXGIDeviceManager API. 370 // Function pointer for the MFCreateDXGIDeviceManager API.
371 static CreateDXGIDeviceManager create_dxgi_device_manager_; 371 static CreateDXGIDeviceManager create_dxgi_device_manager_;
372 }; 372 };
373 373
374 } // namespace content 374 } // namespace content
375 375
376 #endif // CONTENT_COMMON_GPU_MEDIA_DXVA_VIDEO_DECODE_ACCELERATOR_H_ 376 #endif // CONTENT_COMMON_GPU_MEDIA_DXVA_VIDEO_DECODE_ACCELERATOR_H_
OLDNEW
« no previous file with comments | « no previous file | content/common/gpu/media/dxva_video_decode_accelerator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698