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

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

Issue 9433006: Remove GetAudioManager and GetMediaStreamManager from ResourceContext. The reason is the content mo… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: review comments Created 8 years, 10 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 // 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 MediaStreamDeviceSettings for permission to 9 // 2. MediaStreamManager will ask MediaStreamDeviceSettings for permission to
10 // use devices and for which device to use. 10 // use devices and for which device to use.
(...skipping 11 matching lines...) Expand all
22 #ifndef CONTENT_BROWSER_RENDERER_HOST_MEDIA_MEDIA_STREAM_MANAGER_H_ 22 #ifndef CONTENT_BROWSER_RENDERER_HOST_MEDIA_MEDIA_STREAM_MANAGER_H_
23 #define CONTENT_BROWSER_RENDERER_HOST_MEDIA_MEDIA_STREAM_MANAGER_H_ 23 #define CONTENT_BROWSER_RENDERER_HOST_MEDIA_MEDIA_STREAM_MANAGER_H_
24 24
25 #include <map> 25 #include <map>
26 #include <string> 26 #include <string>
27 #include <vector> 27 #include <vector>
28 28
29 #include "base/basictypes.h" 29 #include "base/basictypes.h"
30 #include "base/memory/scoped_ptr.h" 30 #include "base/memory/scoped_ptr.h"
31 #include "base/memory/ref_counted.h" 31 #include "base/memory/ref_counted.h"
32 #include "base/supports_user_data.h"
32 #include "content/browser/renderer_host/media/media_stream_provider.h" 33 #include "content/browser/renderer_host/media/media_stream_provider.h"
33 #include "content/browser/renderer_host/media/media_stream_settings_requester.h" 34 #include "content/browser/renderer_host/media/media_stream_settings_requester.h"
34 #include "content/common/media/media_stream_options.h" 35 #include "content/common/media/media_stream_options.h"
35 #include "content/common/content_export.h" 36 #include "content/common/content_export.h"
36 37
37 class AudioManager; 38 class AudioManager;
38 39
40 namespace content {
41 class ResourceContext;
42 }
43
39 namespace media_stream { 44 namespace media_stream {
40 45
41 class AudioInputDeviceManager; 46 class AudioInputDeviceManager;
42 class MediaStreamDeviceSettings; 47 class MediaStreamDeviceSettings;
43 class MediaStreamRequester; 48 class MediaStreamRequester;
44 class VideoCaptureManager; 49 class VideoCaptureManager;
45 50
46 // MediaStreamManager is used to generate and close new media devices, not to 51 // MediaStreamManager is used to generate and close new media devices, not to
47 // start the media flow. 52 // start the media flow.
48 // The classes requesting new media streams are answered using 53 // The classes requesting new media streams are answered using
49 // MediaStreamManager::Listener. 54 // MediaStreamManager::Listener.
50 class CONTENT_EXPORT MediaStreamManager 55 class CONTENT_EXPORT MediaStreamManager
51 : public MediaStreamProviderListener, 56 : public MediaStreamProviderListener,
52 public SettingsRequester { 57 public SettingsRequester,
58 public base::SupportsUserData::Data {
53 public: 59 public:
60 // Returns the MediaStreamManager for the given ResourceContext. If it hasn't
61 // been created yet, it will be constructed with the given AudioManager.
62 static MediaStreamManager* GetForResourceContext(
63 content::ResourceContext* resource_context,
64 AudioManager* audio_manager);
65
54 explicit MediaStreamManager(AudioManager* audio_manager); 66 explicit MediaStreamManager(AudioManager* audio_manager);
55 virtual ~MediaStreamManager(); 67 virtual ~MediaStreamManager();
56 68
57 // Used to access VideoCaptureManager. 69 // Used to access VideoCaptureManager.
58 VideoCaptureManager* video_capture_manager(); 70 VideoCaptureManager* video_capture_manager();
59 71
60 // Used to access AudioInputDeviceManager. 72 // Used to access AudioInputDeviceManager.
61 AudioInputDeviceManager* audio_input_device_manager(); 73 AudioInputDeviceManager* audio_input_device_manager();
62 74
63 // GenerateStream opens new media devices according to |components|. The 75 // GenerateStream opens new media devices according to |components|. The
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 typedef std::map<std::string, DeviceRequest> DeviceRequests; 152 typedef std::map<std::string, DeviceRequest> DeviceRequests;
141 DeviceRequests requests_; 153 DeviceRequests requests_;
142 AudioManager* audio_manager_; 154 AudioManager* audio_manager_;
143 155
144 DISALLOW_COPY_AND_ASSIGN(MediaStreamManager); 156 DISALLOW_COPY_AND_ASSIGN(MediaStreamManager);
145 }; 157 };
146 158
147 } // namespace media_stream 159 } // namespace media_stream
148 160
149 #endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_MEDIA_STREAM_MANAGER_H_ 161 #endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_MEDIA_STREAM_MANAGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698