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

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

Issue 15005005: Use a shared thread for media operations. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 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 | 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 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
265 265
266 // Get the GPU channel. Returns NULL if the channel is not established or 266 // Get the GPU channel. Returns NULL if the channel is not established or
267 // has been lost. 267 // has been lost.
268 GpuChannelHost* GetGpuChannel(); 268 GpuChannelHost* GetGpuChannel();
269 269
270 // Returns a MessageLoopProxy instance corresponding to the message loop 270 // Returns a MessageLoopProxy instance corresponding to the message loop
271 // of the thread on which file operations should be run. Must be called 271 // of the thread on which file operations should be run. Must be called
272 // on the renderer's main thread. 272 // on the renderer's main thread.
273 scoped_refptr<base::MessageLoopProxy> GetFileThreadMessageLoopProxy(); 273 scoped_refptr<base::MessageLoopProxy> GetFileThreadMessageLoopProxy();
274 274
275 // Returns a MessageLoopProxy instance corresponding to the message loop
276 // of the thread on which media operations should be run. Must be called
277 // on the renderer's main thread.
278 scoped_refptr<base::MessageLoopProxy> GetMediaThreadMessageLoopProxy();
279
275 // Causes the idle handler to skip sending idle notifications 280 // Causes the idle handler to skip sending idle notifications
276 // on the two next scheduled calls, so idle notifications are 281 // on the two next scheduled calls, so idle notifications are
277 // not sent for at least one notification delay. 282 // not sent for at least one notification delay.
278 void PostponeIdleNotification(); 283 void PostponeIdleNotification();
279 284
280 // Returns a graphics context shared among all 285 // Returns a graphics context shared among all
281 // RendererGpuVideoDecoderFactories, or NULL on error. Context remains owned 286 // RendererGpuVideoDecoderFactories, or NULL on error. Context remains owned
282 // by this class and must be null-tested before each use to detect context 287 // by this class and must be null-tested before each use to detect context
283 // loss. The returned context is only valid on the compositor thread when 288 // loss. The returned context is only valid on the compositor thread when
284 // threaded compositing is enabled. 289 // threaded compositing is enabled.
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
435 440
436 // The channel from the renderer process to the GPU process. 441 // The channel from the renderer process to the GPU process.
437 scoped_refptr<GpuChannelHost> gpu_channel_; 442 scoped_refptr<GpuChannelHost> gpu_channel_;
438 443
439 // A lazily initiated thread on which file operations are run. 444 // A lazily initiated thread on which file operations are run.
440 scoped_ptr<base::Thread> file_thread_; 445 scoped_ptr<base::Thread> file_thread_;
441 446
442 // May be null if overridden by ContentRendererClient. 447 // May be null if overridden by ContentRendererClient.
443 scoped_ptr<base::Thread> compositor_thread_; 448 scoped_ptr<base::Thread> compositor_thread_;
444 449
450 // Thread for running multimedia operations (e.g., video decoding).
451 scoped_ptr<base::Thread> media_thread_;
452
445 // Will point to appropriate MessageLoopProxy after initialization, 453 // Will point to appropriate MessageLoopProxy after initialization,
446 // regardless of whether |compositor_thread_| is overriden. 454 // regardless of whether |compositor_thread_| is overriden.
447 scoped_refptr<base::MessageLoopProxy> compositor_message_loop_proxy_; 455 scoped_refptr<base::MessageLoopProxy> compositor_message_loop_proxy_;
448 456
449 scoped_ptr<InputHandlerManager> input_handler_manager_; 457 scoped_ptr<InputHandlerManager> input_handler_manager_;
450 scoped_refptr<IPC::ForwardingMessageFilter> compositor_output_surface_filter_; 458 scoped_refptr<IPC::ForwardingMessageFilter> compositor_output_surface_filter_;
451 459
452 class RendererContextProviderCommandBuffer; 460 class RendererContextProviderCommandBuffer;
453 scoped_refptr<RendererContextProviderCommandBuffer> 461 scoped_refptr<RendererContextProviderCommandBuffer>
454 shared_contexts_main_thread_; 462 shared_contexts_main_thread_;
(...skipping 10 matching lines...) Expand all
465 scoped_ptr<media::AudioHardwareConfig> audio_hardware_config_; 473 scoped_ptr<media::AudioHardwareConfig> audio_hardware_config_;
466 474
467 HistogramCustomizer histogram_customizer_; 475 HistogramCustomizer histogram_customizer_;
468 476
469 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl); 477 DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl);
470 }; 478 };
471 479
472 } // namespace content 480 } // namespace content
473 481
474 #endif // CONTENT_RENDERER_RENDER_THREAD_IMPL_H_ 482 #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