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

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

Issue 217303002: Adds power state suspend/resume messages to the webrtc native log. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 8 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/browser/renderer_host/media/media_stream_manager.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 // MediaStreamManager is used to open/enumerate media capture devices (video 5 // MediaStreamManager is used to open/enumerate media capture devices (video
6 // supported now). Call flow: 6 // supported now). Call flow:
7 // 1. GenerateStream is called when a render process wants to use a capture 7 // 1. GenerateStream is called when a render process wants to use a capture
8 // device. 8 // device.
9 // 2. MediaStreamManager will ask MediaStreamUIController for permission to 9 // 2. MediaStreamManager will ask MediaStreamUIController for permission to
10 // use devices and for which device to use. 10 // use devices and for which device to use.
(...skipping 13 matching lines...) Expand all
24 #define CONTENT_BROWSER_RENDERER_HOST_MEDIA_MEDIA_STREAM_MANAGER_H_ 24 #define CONTENT_BROWSER_RENDERER_HOST_MEDIA_MEDIA_STREAM_MANAGER_H_
25 25
26 #include <map> 26 #include <map>
27 #include <set> 27 #include <set>
28 #include <string> 28 #include <string>
29 29
30 #include "base/basictypes.h" 30 #include "base/basictypes.h"
31 #include "base/memory/ref_counted.h" 31 #include "base/memory/ref_counted.h"
32 #include "base/memory/scoped_ptr.h" 32 #include "base/memory/scoped_ptr.h"
33 #include "base/message_loop/message_loop.h" 33 #include "base/message_loop/message_loop.h"
34 #include "base/power_monitor/power_observer.h"
34 #include "base/system_monitor/system_monitor.h" 35 #include "base/system_monitor/system_monitor.h"
35 #include "content/browser/renderer_host/media/media_stream_provider.h" 36 #include "content/browser/renderer_host/media/media_stream_provider.h"
36 #include "content/common/content_export.h" 37 #include "content/common/content_export.h"
37 #include "content/common/media/media_stream_options.h" 38 #include "content/common/media/media_stream_options.h"
38 #include "content/public/browser/media_request_state.h" 39 #include "content/public/browser/media_request_state.h"
39 #include "content/public/browser/resource_context.h" 40 #include "content/public/browser/resource_context.h"
40 41
41 namespace media { 42 namespace media {
42 class AudioManager; 43 class AudioManager;
43 } 44 }
44 45
45 namespace content { 46 namespace content {
46 47
47 class AudioInputDeviceManager; 48 class AudioInputDeviceManager;
48 class FakeMediaStreamUIProxy; 49 class FakeMediaStreamUIProxy;
49 class MediaStreamDeviceSettings; 50 class MediaStreamDeviceSettings;
50 class MediaStreamRequester; 51 class MediaStreamRequester;
51 class MediaStreamUIProxy; 52 class MediaStreamUIProxy;
52 class VideoCaptureManager; 53 class VideoCaptureManager;
53 54
54 // MediaStreamManager is used to generate and close new media devices, not to 55 // MediaStreamManager is used to generate and close new media devices, not to
55 // start the media flow. The classes requesting new media streams are answered 56 // start the media flow. The classes requesting new media streams are answered
56 // using MediaStreamRequester. 57 // using MediaStreamRequester.
57 class CONTENT_EXPORT MediaStreamManager 58 class CONTENT_EXPORT MediaStreamManager
58 : public MediaStreamProviderListener, 59 : public MediaStreamProviderListener,
59 public base::MessageLoop::DestructionObserver, 60 public base::MessageLoop::DestructionObserver,
61 public base::PowerObserver,
60 public base::SystemMonitor::DevicesChangedObserver { 62 public base::SystemMonitor::DevicesChangedObserver {
61 public: 63 public:
62 // Callback to deliver the result of a media request. 64 // Callback to deliver the result of a media request.
63 typedef base::Callback<void(const MediaStreamDevices& devices, 65 typedef base::Callback<void(const MediaStreamDevices& devices,
64 scoped_ptr<MediaStreamUIProxy> ui)> 66 scoped_ptr<MediaStreamUIProxy> ui)>
65 MediaRequestResponseCallback; 67 MediaRequestResponseCallback;
66 68
67 explicit MediaStreamManager(media::AudioManager* audio_manager); 69 explicit MediaStreamManager(media::AudioManager* audio_manager);
68 virtual ~MediaStreamManager(); 70 virtual ~MediaStreamManager();
69 71
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 // Sends log messages to the render process hosts whose corresponding render 187 // Sends log messages to the render process hosts whose corresponding render
186 // processes are making device requests, to be used by the 188 // processes are making device requests, to be used by the
187 // webrtcLoggingPrivate API if requested. 189 // webrtcLoggingPrivate API if requested.
188 void AddLogMessageOnIOThread(const std::string& message); 190 void AddLogMessageOnIOThread(const std::string& message);
189 191
190 // Adds |message| to native logs for outstanding device requests, for use by 192 // Adds |message| to native logs for outstanding device requests, for use by
191 // render processes hosts whose corresponding render processes are requesting 193 // render processes hosts whose corresponding render processes are requesting
192 // logging from webrtcLoggingPrivate API. Safe to call from any thread. 194 // logging from webrtcLoggingPrivate API. Safe to call from any thread.
193 static void SendMessageToNativeLog(const std::string& message); 195 static void SendMessageToNativeLog(const std::string& message);
194 196
197 // base::PowerObserver overrides.
198 virtual void OnSuspend() OVERRIDE;
199 virtual void OnResume() OVERRIDE;
200
195 protected: 201 protected:
196 // Used for testing. 202 // Used for testing.
197 MediaStreamManager(); 203 MediaStreamManager();
198 204
199 private: 205 private:
200 // Contains all data needed to keep track of requests. 206 // Contains all data needed to keep track of requests.
201 class DeviceRequest; 207 class DeviceRequest;
202 208
203 // Cache enumerated device list. 209 // Cache enumerated device list.
204 struct EnumerationCache { 210 struct EnumerationCache {
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 380
375 bool use_fake_ui_; 381 bool use_fake_ui_;
376 scoped_ptr<FakeMediaStreamUIProxy> fake_ui_; 382 scoped_ptr<FakeMediaStreamUIProxy> fake_ui_;
377 383
378 DISALLOW_COPY_AND_ASSIGN(MediaStreamManager); 384 DISALLOW_COPY_AND_ASSIGN(MediaStreamManager);
379 }; 385 };
380 386
381 } // namespace content 387 } // namespace content
382 388
383 #endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_MEDIA_STREAM_MANAGER_H_ 389 #endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_MEDIA_STREAM_MANAGER_H_
OLDNEW
« no previous file with comments | « no previous file | content/browser/renderer_host/media/media_stream_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698