OLD | NEW |
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. |
11 // 3. MediaStreamManager will request the corresponding media device manager(s) | 11 // 3. MediaStreamManager will request the corresponding media device manager(s) |
12 // to enumerate available devices. The result will be given to | 12 // to enumerate available devices. The result will be given to |
13 // MediaStreamUIController. | 13 // MediaStreamUIController. |
14 // 4. MediaStreamUIController will, by posting the request to UI, let the | 14 // 4. MediaStreamUIController will, by posting the request to UI, let the |
15 // users to select which devices to use and send callback to | 15 // users to select which devices to use and send callback to |
16 // MediaStreamManager with the result. | 16 // MediaStreamManager with the result. |
17 // 5. MediaStreamManager will call the proper media device manager to open the | 17 // 5. MediaStreamManager will call the proper media device manager to open the |
18 // device and let the MediaStreamRequester know it has been done. | 18 // device and let the MediaStreamRequester know it has been done. |
19 | 19 |
20 // When enumeration and open are done in separate operations, | 20 // When enumeration and open are done in separate operations, |
21 // MediaStreamUIController is not involved as in steps. | 21 // MediaStreamUIController is not involved as in steps. |
22 | 22 |
23 #ifndef CONTENT_BROWSER_RENDERER_HOST_MEDIA_MEDIA_STREAM_MANAGER_H_ | 23 #ifndef CONTENT_BROWSER_RENDERER_HOST_MEDIA_MEDIA_STREAM_MANAGER_H_ |
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 <string> | 27 #include <string> |
28 | 28 |
29 #include "base/basictypes.h" | 29 #include "base/basictypes.h" |
| 30 #include "base/memory/ref_counted.h" |
30 #include "base/memory/scoped_ptr.h" | 31 #include "base/memory/scoped_ptr.h" |
31 #include "base/memory/ref_counted.h" | 32 #include "base/message_loop/message_loop.h" |
32 #include "base/message_loop.h" | |
33 #include "base/system_monitor/system_monitor.h" | 33 #include "base/system_monitor/system_monitor.h" |
34 #include "content/browser/renderer_host/media/media_stream_provider.h" | 34 #include "content/browser/renderer_host/media/media_stream_provider.h" |
| 35 #include "content/common/content_export.h" |
35 #include "content/common/media/media_stream_options.h" | 36 #include "content/common/media/media_stream_options.h" |
36 #include "content/common/content_export.h" | |
37 | 37 |
38 namespace base { | 38 namespace base { |
39 class Thread; | 39 class Thread; |
40 } | 40 } |
41 | 41 |
42 namespace media { | 42 namespace media { |
43 class AudioManager; | 43 class AudioManager; |
44 } | 44 } |
45 | 45 |
46 namespace content { | 46 namespace content { |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 | 256 |
257 bool use_fake_ui_; | 257 bool use_fake_ui_; |
258 scoped_ptr<FakeMediaStreamUIProxy> fake_ui_; | 258 scoped_ptr<FakeMediaStreamUIProxy> fake_ui_; |
259 | 259 |
260 DISALLOW_COPY_AND_ASSIGN(MediaStreamManager); | 260 DISALLOW_COPY_AND_ASSIGN(MediaStreamManager); |
261 }; | 261 }; |
262 | 262 |
263 } // namespace content | 263 } // namespace content |
264 | 264 |
265 #endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_MEDIA_STREAM_MANAGER_H_ | 265 #endif // CONTENT_BROWSER_RENDERER_HOST_MEDIA_MEDIA_STREAM_MANAGER_H_ |
OLD | NEW |