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

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

Issue 17508005: Minor cleanup to remove the static thread-safe methods on BrowserMainLoop. Initially I thought this… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: 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
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 // VideoCaptureMessageFilter which lives inside the render process. 6 // VideoCaptureMessageFilter 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 28 matching lines...) Expand all
39 #include <map> 39 #include <map>
40 40
41 #include "base/memory/ref_counted.h" 41 #include "base/memory/ref_counted.h"
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 MediaStreamManager;
49 50
50 class CONTENT_EXPORT VideoCaptureHost 51 class CONTENT_EXPORT VideoCaptureHost
51 : public BrowserMessageFilter, 52 : public BrowserMessageFilter,
52 public VideoCaptureControllerEventHandler { 53 public VideoCaptureControllerEventHandler {
53 public: 54 public:
54 VideoCaptureHost(); 55 explicit VideoCaptureHost(MediaStreamManager* media_stream_manager);
55 56
56 // BrowserMessageFilter implementation. 57 // BrowserMessageFilter implementation.
57 virtual void OnChannelClosing() OVERRIDE; 58 virtual void OnChannelClosing() OVERRIDE;
58 virtual void OnDestruct() const OVERRIDE; 59 virtual void OnDestruct() const OVERRIDE;
59 virtual bool OnMessageReceived(const IPC::Message& message, 60 virtual bool OnMessageReceived(const IPC::Message& message,
60 bool* message_was_ok) OVERRIDE; 61 bool* message_was_ok) OVERRIDE;
61 62
62 // VideoCaptureControllerEventHandler implementation. 63 // VideoCaptureControllerEventHandler implementation.
63 virtual void OnError(const VideoCaptureControllerID& id) OVERRIDE; 64 virtual void OnError(const VideoCaptureControllerID& id) OVERRIDE;
64 virtual void OnBufferCreated(const VideoCaptureControllerID& id, 65 virtual void OnBufferCreated(const VideoCaptureControllerID& id,
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 int frame_per_second); 127 int frame_per_second);
127 128
128 // Handle error coming from VideoCaptureDevice. 129 // Handle error coming from VideoCaptureDevice.
129 void DoHandleErrorOnIOThread(const VideoCaptureControllerID& controller_id); 130 void DoHandleErrorOnIOThread(const VideoCaptureControllerID& controller_id);
130 131
131 void DoEndedOnIOThread(const VideoCaptureControllerID& controller_id); 132 void DoEndedOnIOThread(const VideoCaptureControllerID& controller_id);
132 133
133 void DeleteVideoCaptureControllerOnIOThread( 134 void DeleteVideoCaptureControllerOnIOThread(
134 const VideoCaptureControllerID& controller_id); 135 const VideoCaptureControllerID& controller_id);
135 136
136 // Returns the video capture manager. This is a virtual function so that 137 MediaStreamManager* media_stream_manager_;
137 // the unit tests can inject their own MediaStreamManager.
138 virtual VideoCaptureManager* GetVideoCaptureManager();
139 138
140 struct Entry; 139 struct Entry;
141 typedef std::map<VideoCaptureControllerID, Entry*> EntryMap; 140 typedef std::map<VideoCaptureControllerID, Entry*> EntryMap;
142 // A map of VideoCaptureControllerID to its state and VideoCaptureController. 141 // A map of VideoCaptureControllerID to its state and VideoCaptureController.
143 EntryMap entries_; 142 EntryMap entries_;
144 143
145 DISALLOW_COPY_AND_ASSIGN(VideoCaptureHost); 144 DISALLOW_COPY_AND_ASSIGN(VideoCaptureHost);
146 }; 145 };
147 146
148 } // namespace content 147 } // namespace content
149 148
150 #endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_VIDEO_CAPTURE_HOST_H_ 149 #endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_VIDEO_CAPTURE_HOST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698