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

Side by Side Diff: content/renderer/render_thread_impl.h

Issue 15993018: Reland: Use a shared thread for media operations (round 3). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 6 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 | Annotate | Revision Log
« no previous file with comments | « content/public/test/layouttest_support.h ('k') | content/renderer/render_thread_impl.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_RENDERER_RENDER_THREAD_IMPL_H_ 5 #ifndef CONTENT_RENDERER_RENDER_THREAD_IMPL_H_
6 #define CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ 6 #define CONTENT_RENDERER_RENDER_THREAD_IMPL_H_
7 7
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
250 250
251 // Get the GPU channel. Returns NULL if the channel is not established or 251 // Get the GPU channel. Returns NULL if the channel is not established or
252 // has been lost. 252 // has been lost.
253 GpuChannelHost* GetGpuChannel(); 253 GpuChannelHost* GetGpuChannel();
254 254
255 // Returns a MessageLoopProxy instance corresponding to the message loop 255 // Returns a MessageLoopProxy instance corresponding to the message loop
256 // of the thread on which file operations should be run. Must be called 256 // of the thread on which file operations should be run. Must be called
257 // on the renderer's main thread. 257 // on the renderer's main thread.
258 scoped_refptr<base::MessageLoopProxy> GetFileThreadMessageLoopProxy(); 258 scoped_refptr<base::MessageLoopProxy> GetFileThreadMessageLoopProxy();
259 259
260 // Returns a MessageLoopProxy instance corresponding to the message loop
261 // of the thread on which media operations should be run. Must be called
262 // on the renderer's main thread.
263 scoped_refptr<base::MessageLoopProxy> GetMediaThreadMessageLoopProxy();
264
260 // Causes the idle handler to skip sending idle notifications 265 // Causes the idle handler to skip sending idle notifications
261 // on the two next scheduled calls, so idle notifications are 266 // on the two next scheduled calls, so idle notifications are
262 // not sent for at least one notification delay. 267 // not sent for at least one notification delay.
263 void PostponeIdleNotification(); 268 void PostponeIdleNotification();
264 269
265 // Returns a graphics context shared among all 270 // Returns a graphics context shared among all
266 // RendererGpuVideoDecoderFactories, or NULL on error. Context remains owned 271 // RendererGpuVideoDecoderFactories, or NULL on error. Context remains owned
267 // by this class and must be null-tested before each use to detect context 272 // by this class and must be null-tested before each use to detect context
268 // loss. The returned context is only valid on the compositor thread when 273 // loss. The returned context is only valid on the compositor thread when
269 // threaded compositing is enabled. 274 // threaded compositing is enabled.
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 423
419 // The channel from the renderer process to the GPU process. 424 // The channel from the renderer process to the GPU process.
420 scoped_refptr<GpuChannelHost> gpu_channel_; 425 scoped_refptr<GpuChannelHost> gpu_channel_;
421 426
422 // A lazily initiated thread on which file operations are run. 427 // A lazily initiated thread on which file operations are run.
423 scoped_ptr<base::Thread> file_thread_; 428 scoped_ptr<base::Thread> file_thread_;
424 429
425 // May be null if overridden by ContentRendererClient. 430 // May be null if overridden by ContentRendererClient.
426 scoped_ptr<base::Thread> compositor_thread_; 431 scoped_ptr<base::Thread> compositor_thread_;
427 432
433 // Thread for running multimedia operations (e.g., video decoding).
434 scoped_ptr<base::Thread> media_thread_;
435
428 // Will point to appropriate MessageLoopProxy after initialization, 436 // Will point to appropriate MessageLoopProxy after initialization,
429 // regardless of whether |compositor_thread_| is overriden. 437 // regardless of whether |compositor_thread_| is overriden.
430 scoped_refptr<base::MessageLoopProxy> compositor_message_loop_proxy_; 438 scoped_refptr<base::MessageLoopProxy> compositor_message_loop_proxy_;
431 439
432 scoped_ptr<InputHandlerManager> input_handler_manager_; 440 scoped_ptr<InputHandlerManager> input_handler_manager_;
433 scoped_refptr<IPC::ForwardingMessageFilter> compositor_output_surface_filter_; 441 scoped_refptr<IPC::ForwardingMessageFilter> compositor_output_surface_filter_;
434 442
435 class RendererContextProviderCommandBuffer; 443 class RendererContextProviderCommandBuffer;
436 scoped_refptr<RendererContextProviderCommandBuffer> 444 scoped_refptr<RendererContextProviderCommandBuffer>
437 shared_contexts_main_thread_; 445 shared_contexts_main_thread_;
(...skipping 10 matching lines...) Expand all
448 scoped_ptr<media::AudioHardwareConfig> audio_hardware_config_; 456 scoped_ptr<media::AudioHardwareConfig> audio_hardware_config_;
449 457
450 HistogramCustomizer histogram_customizer_; 458 HistogramCustomizer histogram_customizer_;
451 459
452 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); 460 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl);
453 }; 461 };
454 462
455 } // namespace content 463 } // namespace content
456 464
457 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ 465 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_
OLDNEW
« no previous file with comments | « content/public/test/layouttest_support.h ('k') | content/renderer/render_thread_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698