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

Side by Side Diff: content/browser/renderer_host/media/video_capture_host.h

Issue 10662049: Move the device enumerate/open/close work to device thread from IO thread (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: addressed Magnus' comments. Created 8 years, 5 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
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 // VideoCaptureHost serves video capture related messages from 5 // VideoCaptureHost serves video capture related messages from
6 // VideCaptureMessageFilter which lives inside the render process. 6 // VideCaptureMessageFilter which lives inside the render process.
7 // 7 //
8 // This class is owned by BrowserRenderProcessHost, and instantiated on UI 8 // This class is owned by BrowserRenderProcessHost, and instantiated on UI
9 // thread, but all other operations and method calls happen on IO thread. 9 // thread, but all other operations and method calls happen on IO thread.
10 // 10 //
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 #include "base/sequenced_task_runner_helpers.h" 42 #include "base/sequenced_task_runner_helpers.h"
43 #include "content/browser/renderer_host/media/video_capture_controller.h" 43 #include "content/browser/renderer_host/media/video_capture_controller.h"
44 #include "content/common/content_export.h" 44 #include "content/common/content_export.h"
45 #include "content/public/browser/browser_message_filter.h" 45 #include "content/public/browser/browser_message_filter.h"
46 #include "ipc/ipc_message.h" 46 #include "ipc/ipc_message.h"
47 47
48 namespace content { 48 namespace content {
49 class ResourceContext; 49 class ResourceContext;
50 } // namespace content 50 } // namespace content
51 51
52 namespace media {
53 class AudioManager;
54 }
55
56 class CONTENT_EXPORT VideoCaptureHost 52 class CONTENT_EXPORT VideoCaptureHost
57 : public content::BrowserMessageFilter, 53 : public content::BrowserMessageFilter,
58 public VideoCaptureControllerEventHandler { 54 public VideoCaptureControllerEventHandler {
59 public: 55 public:
60 explicit VideoCaptureHost(content::ResourceContext* resource_context, 56 explicit VideoCaptureHost(content::ResourceContext* resource_context);
61 media::AudioManager* audio_manager);
62 57
63 // content::BrowserMessageFilter implementation. 58 // content::BrowserMessageFilter implementation.
64 virtual void OnChannelClosing() OVERRIDE; 59 virtual void OnChannelClosing() OVERRIDE;
65 virtual void OnDestruct() const OVERRIDE; 60 virtual void OnDestruct() const OVERRIDE;
66 virtual bool OnMessageReceived(const IPC::Message& message, 61 virtual bool OnMessageReceived(const IPC::Message& message,
67 bool* message_was_ok) OVERRIDE; 62 bool* message_was_ok) OVERRIDE;
68 63
69 // VideoCaptureControllerEventHandler implementation. 64 // VideoCaptureControllerEventHandler implementation.
70 virtual void OnError(const VideoCaptureControllerID& id) OVERRIDE; 65 virtual void OnError(const VideoCaptureControllerID& id) OVERRIDE;
71 virtual void OnBufferCreated(const VideoCaptureControllerID& id, 66 virtual void OnBufferCreated(const VideoCaptureControllerID& id,
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 // Helpers. 138 // Helpers.
144 media_stream::VideoCaptureManager* GetVideoCaptureManager(); 139 media_stream::VideoCaptureManager* GetVideoCaptureManager();
145 140
146 struct Entry; 141 struct Entry;
147 typedef std::map<VideoCaptureControllerID, Entry*> EntryMap; 142 typedef std::map<VideoCaptureControllerID, Entry*> EntryMap;
148 // A map of VideoCaptureControllerID to its state and VideoCaptureController. 143 // A map of VideoCaptureControllerID to its state and VideoCaptureController.
149 EntryMap entries_; 144 EntryMap entries_;
150 145
151 // Used to get a pointer to VideoCaptureManager to start/stop capture devices. 146 // Used to get a pointer to VideoCaptureManager to start/stop capture devices.
152 content::ResourceContext* resource_context_; 147 content::ResourceContext* resource_context_;
153 media::AudioManager* audio_manager_;
154 148
155 DISALLOW_COPY_AND_ASSIGN(VideoCaptureHost); 149 DISALLOW_COPY_AND_ASSIGN(VideoCaptureHost);
156 }; 150 };
157 151
158 #endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_VIDEO_CAPTURE_HOST_H_ 152 #endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_VIDEO_CAPTURE_HOST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698