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

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

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 #include "content/browser/renderer_host/media/media_stream_manager.h" 5 #include "content/browser/renderer_host/media/media_stream_manager.h"
6 6
7 #include <list> 7 #include <list>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
11 #include "base/logging.h" 11 #include "base/logging.h"
12 #include "base/rand_util.h" 12 #include "base/rand_util.h"
13 #include "content/browser/renderer_host/media/audio_input_device_manager.h" 13 #include "content/browser/renderer_host/media/audio_input_device_manager.h"
14 #include "content/browser/renderer_host/media/media_stream_device_settings.h" 14 #include "content/browser/renderer_host/media/media_stream_device_settings.h"
15 #include "content/browser/renderer_host/media/media_stream_requester.h" 15 #include "content/browser/renderer_host/media/media_stream_requester.h"
16 #include "content/browser/renderer_host/media/video_capture_manager.h" 16 #include "content/browser/renderer_host/media/video_capture_manager.h"
17 #include "content/browser/resource_context_impl.h"
17 #include "content/common/media/media_stream_options.h" 18 #include "content/common/media/media_stream_options.h"
18 #include "content/public/browser/browser_thread.h" 19 #include "content/public/browser/browser_thread.h"
19 #include "media/audio/audio_manager.h" 20 #include "media/audio/audio_manager.h"
20 21
21 using content::BrowserThread; 22 using content::BrowserThread;
22 23
24 static const char* kMediaStreamManagerKeyName = "content_media_stream_manager";
25
23 namespace media_stream { 26 namespace media_stream {
24 27
25 // Creates a random label used to identify requests. 28 // Creates a random label used to identify requests.
26 static std::string RandomLabel() { 29 static std::string RandomLabel() {
27 // Alphabet according to WhatWG standard, i.e. containing 36 characters from 30 // Alphabet according to WhatWG standard, i.e. containing 36 characters from
28 // range: U+0021, U+0023 to U+0027, U+002A to U+002B, U+002D to U+002E, 31 // range: U+0021, U+0023 to U+0027, U+002A to U+002B, U+002D to U+002E,
29 // U+0030 to U+0039, U+0041 to U+005A, U+005E to U+007E. 32 // U+0030 to U+0039, U+0041 to U+005A, U+005E to U+007E.
30 static const char alphabet[] = "!#$%&\'*+-.0123456789" 33 static const char alphabet[] = "!#$%&\'*+-.0123456789"
31 "abcdefghijklmnopqrstuvwxyz^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~"; 34 "abcdefghijklmnopqrstuvwxyz^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~";
32 35
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
86 89
87 MediaStreamRequester* requester; 90 MediaStreamRequester* requester;
88 StreamOptions options; 91 StreamOptions options;
89 std::vector<RequestState> state; 92 std::vector<RequestState> state;
90 RequestType type; 93 RequestType type;
91 std::string requested_device_id; 94 std::string requested_device_id;
92 StreamDeviceInfoArray audio_devices; 95 StreamDeviceInfoArray audio_devices;
93 StreamDeviceInfoArray video_devices; 96 StreamDeviceInfoArray video_devices;
94 }; 97 };
95 98
99 // static
100 MediaStreamManager* MediaStreamManager::GetForResourceContext(
101 content::ResourceContext* resource_context,
102 AudioManager* audio_manager) {
103 MediaStreamManager* rv = static_cast<MediaStreamManager*>(
104 resource_context->GetUserData(kMediaStreamManagerKeyName));
105 if (!rv) {
106 rv = new MediaStreamManager(audio_manager);
107 resource_context->SetUserData(kMediaStreamManagerKeyName, rv);
108 }
109 return rv;
110 }
111
96 MediaStreamManager::MediaStreamManager(AudioManager* audio_manager) 112 MediaStreamManager::MediaStreamManager(AudioManager* audio_manager)
97 : ALLOW_THIS_IN_INITIALIZER_LIST( 113 : ALLOW_THIS_IN_INITIALIZER_LIST(
98 device_settings_(new MediaStreamDeviceSettings(this))), 114 device_settings_(new MediaStreamDeviceSettings(this))),
99 enumeration_in_progress_(kNumMediaStreamTypes, false), 115 enumeration_in_progress_(kNumMediaStreamTypes, false),
100 audio_manager_(audio_manager) { 116 audio_manager_(audio_manager) {
101 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 117 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
102 } 118 }
103 119
104 MediaStreamManager::~MediaStreamManager() { 120 MediaStreamManager::~MediaStreamManager() {
105 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 121 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
(...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after
552 if (stream_type == kVideoCapture) { 568 if (stream_type == kVideoCapture) {
553 return video_capture_manager(); 569 return video_capture_manager();
554 } else if (stream_type == kAudioCapture) { 570 } else if (stream_type == kAudioCapture) {
555 return audio_input_device_manager(); 571 return audio_input_device_manager();
556 } 572 }
557 NOTREACHED(); 573 NOTREACHED();
558 return NULL; 574 return NULL;
559 } 575 }
560 576
561 } // namespace media_stream 577 } // namespace media_stream
OLDNEW
« no previous file with comments | « content/browser/renderer_host/media/media_stream_manager.h ('k') | content/browser/renderer_host/media/video_capture_host.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698