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

Side by Side Diff: content/renderer/media/media_stream_center.cc

Issue 272043003: Renamed MediaStreamDependencyFactory to PeerConnectionDependencyFactory. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 6 years, 7 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/renderer/media/media_stream_center.h" 5 #include "content/renderer/media/media_stream_center.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "content/common/media/media_stream_messages.h" 11 #include "content/common/media/media_stream_messages.h"
12 #include "content/public/common/content_switches.h" 12 #include "content/public/common/content_switches.h"
13 #include "content/public/renderer/media_stream_audio_sink.h" 13 #include "content/public/renderer/media_stream_audio_sink.h"
14 #include "content/public/renderer/render_thread.h" 14 #include "content/public/renderer/render_thread.h"
15 #include "content/renderer/media/media_stream.h" 15 #include "content/renderer/media/media_stream.h"
16 #include "content/renderer/media/media_stream_dependency_factory.h"
17 #include "content/renderer/media/media_stream_source.h" 16 #include "content/renderer/media/media_stream_source.h"
18 #include "content/renderer/media/media_stream_video_source.h" 17 #include "content/renderer/media/media_stream_video_source.h"
19 #include "content/renderer/media/media_stream_video_track.h" 18 #include "content/renderer/media/media_stream_video_track.h"
19 #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h"
20 #include "content/renderer/media/webrtc_local_audio_source_provider.h" 20 #include "content/renderer/media/webrtc_local_audio_source_provider.h"
21 #include "third_party/WebKit/public/platform/WebMediaConstraints.h" 21 #include "third_party/WebKit/public/platform/WebMediaConstraints.h"
22 #include "third_party/WebKit/public/platform/WebMediaStream.h" 22 #include "third_party/WebKit/public/platform/WebMediaStream.h"
23 #include "third_party/WebKit/public/platform/WebMediaStreamCenterClient.h" 23 #include "third_party/WebKit/public/platform/WebMediaStreamCenterClient.h"
24 #include "third_party/WebKit/public/platform/WebMediaStreamSource.h" 24 #include "third_party/WebKit/public/platform/WebMediaStreamSource.h"
25 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" 25 #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h"
26 #include "third_party/WebKit/public/platform/WebMediaStreamTrackSourcesRequest.h " 26 #include "third_party/WebKit/public/platform/WebMediaStreamTrackSourcesRequest.h "
27 #include "third_party/WebKit/public/platform/WebSourceInfo.h" 27 #include "third_party/WebKit/public/platform/WebSourceInfo.h"
28 #include "third_party/WebKit/public/platform/WebVector.h" 28 #include "third_party/WebKit/public/platform/WebVector.h"
29 #include "third_party/WebKit/public/web/WebFrame.h" 29 #include "third_party/WebKit/public/web/WebFrame.h"
30 30
31 using blink::WebFrame; 31 using blink::WebFrame;
32 using blink::WebView; 32 using blink::WebView;
33 33
34 namespace content { 34 namespace content {
35 35
36 namespace { 36 namespace {
37 37
38 void CreateNativeAudioMediaStreamTrack( 38 void CreateNativeAudioMediaStreamTrack(
39 const blink::WebMediaStreamTrack& track, 39 const blink::WebMediaStreamTrack& track,
40 MediaStreamDependencyFactory* factory) { 40 PeerConnectionDependencyFactory* factory) {
41 DCHECK(!track.extraData()); 41 DCHECK(!track.extraData());
42 blink::WebMediaStreamSource source = track.source(); 42 blink::WebMediaStreamSource source = track.source();
43 DCHECK_EQ(source.type(), blink::WebMediaStreamSource::TypeAudio); 43 DCHECK_EQ(source.type(), blink::WebMediaStreamSource::TypeAudio);
44 factory->CreateLocalAudioTrack(track); 44 factory->CreateLocalAudioTrack(track);
45 } 45 }
46 46
47 void CreateNativeVideoMediaStreamTrack( 47 void CreateNativeVideoMediaStreamTrack(
48 const blink::WebMediaStreamTrack& track) { 48 const blink::WebMediaStreamTrack& track) {
49 DCHECK(track.extraData() == NULL); 49 DCHECK(track.extraData() == NULL);
50 blink::WebMediaStreamSource source = track.source(); 50 blink::WebMediaStreamSource source = track.source();
(...skipping 10 matching lines...) Expand all
61 blink::WebMediaConstraints constraints = source.constraints(); 61 blink::WebMediaConstraints constraints = source.constraints();
62 if (constraints.isNull()) 62 if (constraints.isNull())
63 constraints.initialize(); 63 constraints.initialize();
64 writable_track.setExtraData( 64 writable_track.setExtraData(
65 new MediaStreamVideoTrack(native_source, constraints, 65 new MediaStreamVideoTrack(native_source, constraints,
66 MediaStreamVideoSource::ConstraintsCallback(), 66 MediaStreamVideoSource::ConstraintsCallback(),
67 track.isEnabled())); 67 track.isEnabled()));
68 } 68 }
69 69
70 void CreateNativeMediaStreamTrack(const blink::WebMediaStreamTrack& track, 70 void CreateNativeMediaStreamTrack(const blink::WebMediaStreamTrack& track,
71 MediaStreamDependencyFactory* factory) { 71 PeerConnectionDependencyFactory* factory) {
72 DCHECK(!track.isNull() && !track.extraData()); 72 DCHECK(!track.isNull() && !track.extraData());
73 DCHECK(!track.source().isNull()); 73 DCHECK(!track.source().isNull());
74 74
75 switch (track.source().type()) { 75 switch (track.source().type()) {
76 case blink::WebMediaStreamSource::TypeAudio: 76 case blink::WebMediaStreamSource::TypeAudio:
77 CreateNativeAudioMediaStreamTrack(track, factory); 77 CreateNativeAudioMediaStreamTrack(track, factory);
78 break; 78 break;
79 case blink::WebMediaStreamSource::TypeVideo: 79 case blink::WebMediaStreamSource::TypeVideo:
80 CreateNativeVideoMediaStreamTrack(track); 80 CreateNativeVideoMediaStreamTrack(track);
81 break; 81 break;
82 } 82 }
83 } 83 }
84 84
85 } // namespace 85 } // namespace
86 86
87 MediaStreamCenter::MediaStreamCenter(blink::WebMediaStreamCenterClient* client, 87 MediaStreamCenter::MediaStreamCenter(blink::WebMediaStreamCenterClient* client,
88 MediaStreamDependencyFactory* factory) 88 PeerConnectionDependencyFactory* factory)
89 : rtc_factory_(factory), next_request_id_(0) {} 89 : rtc_factory_(factory), next_request_id_(0) {}
90 90
91 MediaStreamCenter::~MediaStreamCenter() {} 91 MediaStreamCenter::~MediaStreamCenter() {}
92 92
93 bool MediaStreamCenter::getMediaStreamTrackSources( 93 bool MediaStreamCenter::getMediaStreamTrackSources(
94 const blink::WebMediaStreamTrackSourcesRequest& request) { 94 const blink::WebMediaStreamTrackSourcesRequest& request) {
95 if (!CommandLine::ForCurrentProcess()->HasSwitch( 95 if (!CommandLine::ForCurrentProcess()->HasSwitch(
96 switches::kDisableDeviceEnumeration)) { 96 switches::kDisableDeviceEnumeration)) {
97 int request_id = next_request_id_++; 97 int request_id = next_request_id_++;
98 requests_.insert(std::make_pair(request_id, request)); 98 requests_.insert(std::make_pair(request_id, request));
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 } 134 }
135 135
136 blink::WebAudioSourceProvider* 136 blink::WebAudioSourceProvider*
137 MediaStreamCenter::createWebAudioSourceFromMediaStreamTrack( 137 MediaStreamCenter::createWebAudioSourceFromMediaStreamTrack(
138 const blink::WebMediaStreamTrack& track) { 138 const blink::WebMediaStreamTrack& track) {
139 DVLOG(1) << "MediaStreamCenter::createWebAudioSourceFromMediaStreamTrack"; 139 DVLOG(1) << "MediaStreamCenter::createWebAudioSourceFromMediaStreamTrack";
140 MediaStreamTrack* media_stream_track = 140 MediaStreamTrack* media_stream_track =
141 static_cast<MediaStreamTrack*>(track.extraData()); 141 static_cast<MediaStreamTrack*>(track.extraData());
142 // Only local audio track is supported now. 142 // Only local audio track is supported now.
143 // TODO(xians): Support remote audio track. 143 // TODO(xians): Support remote audio track.
144 if (!media_stream_track || !media_stream_track->is_local_track ()) { 144 if (!media_stream_track || !media_stream_track->is_local_track()) {
145 NOTIMPLEMENTED(); 145 NOTIMPLEMENTED();
146 return NULL; 146 return NULL;
147 } 147 }
148 148
149 blink::WebMediaStreamSource source = track.source(); 149 blink::WebMediaStreamSource source = track.source();
150 DCHECK_EQ(source.type(), blink::WebMediaStreamSource::TypeAudio); 150 DCHECK_EQ(source.type(), blink::WebMediaStreamSource::TypeAudio);
151 WebRtcLocalAudioSourceProvider* source_provider = 151 WebRtcLocalAudioSourceProvider* source_provider =
152 new WebRtcLocalAudioSourceProvider(track); 152 new WebRtcLocalAudioSourceProvider(track);
153 return source_provider; 153 return source_provider;
154 } 154 }
(...skipping 26 matching lines...) Expand all
181 MediaStream* native_stream( 181 MediaStream* native_stream(
182 new MediaStream(stream)); 182 new MediaStream(stream));
183 writable_stream.setExtraData(native_stream); 183 writable_stream.setExtraData(native_stream);
184 184
185 blink::WebVector<blink::WebMediaStreamTrack> video_tracks; 185 blink::WebVector<blink::WebMediaStreamTrack> video_tracks;
186 stream.videoTracks(video_tracks); 186 stream.videoTracks(video_tracks);
187 for (size_t i = 0; i < video_tracks.size(); ++i) { 187 for (size_t i = 0; i < video_tracks.size(); ++i) {
188 if (!MediaStreamTrack::GetTrack(video_tracks[i])) 188 if (!MediaStreamTrack::GetTrack(video_tracks[i]))
189 CreateNativeMediaStreamTrack(video_tracks[i], rtc_factory_); 189 CreateNativeMediaStreamTrack(video_tracks[i], rtc_factory_);
190 } 190 }
191
192 } 191 }
193 192
194 bool MediaStreamCenter::didAddMediaStreamTrack( 193 bool MediaStreamCenter::didAddMediaStreamTrack(
195 const blink::WebMediaStream& stream, 194 const blink::WebMediaStream& stream,
196 const blink::WebMediaStreamTrack& track) { 195 const blink::WebMediaStreamTrack& track) {
197 DVLOG(1) << "MediaStreamCenter::didAddMediaStreamTrack"; 196 DVLOG(1) << "MediaStreamCenter::didAddMediaStreamTrack";
198 MediaStream* native_stream = MediaStream::GetMediaStream(stream); 197 MediaStream* native_stream = MediaStream::GetMediaStream(stream);
199 return native_stream->AddTrack(track); 198 return native_stream->AddTrack(track);
200 } 199 }
201 200
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 device.type == MEDIA_DEVICE_AUDIO_CAPTURE 244 device.type == MEDIA_DEVICE_AUDIO_CAPTURE
246 ? blink::WebSourceInfo::SourceKindAudio 245 ? blink::WebSourceInfo::SourceKindAudio
247 : blink::WebSourceInfo::SourceKindVideo, 246 : blink::WebSourceInfo::SourceKindVideo,
248 blink::WebString::fromUTF8(device.name), 247 blink::WebString::fromUTF8(device.name),
249 video_facing); 248 video_facing);
250 } 249 }
251 request_it->second.requestSucceeded(sourceInfos); 250 request_it->second.requestSucceeded(sourceInfos);
252 } 251 }
253 252
254 } // namespace content 253 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/media_stream_center.h ('k') | content/renderer/media/media_stream_dependency_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698