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

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: media_stream_dependency_factory_unittest.cc 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();
51 DCHECK_EQ(source.type(), blink::WebMediaStreamSource::TypeVideo); 51 DCHECK_EQ(source.type(), blink::WebMediaStreamSource::TypeVideo);
52 MediaStreamVideoSource* native_source = 52 MediaStreamVideoSource* native_source =
53 MediaStreamVideoSource::GetVideoSource(source); 53 MediaStreamVideoSource::GetVideoSource(source);
54 DCHECK(native_source); 54 DCHECK(native_source);
55 blink::WebMediaStreamTrack writable_track(track); 55 blink::WebMediaStreamTrack writable_track(track);
56 writable_track.setExtraData( 56 writable_track.setExtraData(
57 new MediaStreamVideoTrack(native_source, source.constraints(), 57 new MediaStreamVideoTrack(native_source, source.constraints(),
58 MediaStreamVideoSource::ConstraintsCallback(), 58 MediaStreamVideoSource::ConstraintsCallback(),
59 track.isEnabled())); 59 track.isEnabled()));
60 } 60 }
61 61
62 void CreateNativeMediaStreamTrack(const blink::WebMediaStreamTrack& track, 62 void CreateNativeMediaStreamTrack(const blink::WebMediaStreamTrack& track,
63 MediaStreamDependencyFactory* factory) { 63 PeerConnectionDependencyFactory* factory) {
64 DCHECK(!track.isNull() && !track.extraData()); 64 DCHECK(!track.isNull() && !track.extraData());
65 DCHECK(!track.source().isNull()); 65 DCHECK(!track.source().isNull());
66 66
67 switch (track.source().type()) { 67 switch (track.source().type()) {
68 case blink::WebMediaStreamSource::TypeAudio: 68 case blink::WebMediaStreamSource::TypeAudio:
69 CreateNativeAudioMediaStreamTrack(track, factory); 69 CreateNativeAudioMediaStreamTrack(track, factory);
70 break; 70 break;
71 case blink::WebMediaStreamSource::TypeVideo: 71 case blink::WebMediaStreamSource::TypeVideo:
72 CreateNativeVideoMediaStreamTrack(track); 72 CreateNativeVideoMediaStreamTrack(track);
73 break; 73 break;
74 } 74 }
75 } 75 }
76 76
77 } // namespace 77 } // namespace
78 78
79 MediaStreamCenter::MediaStreamCenter(blink::WebMediaStreamCenterClient* client, 79 MediaStreamCenter::MediaStreamCenter(blink::WebMediaStreamCenterClient* client,
80 MediaStreamDependencyFactory* factory) 80 PeerConnectionDependencyFactory* factory)
81 : rtc_factory_(factory), next_request_id_(0) {} 81 : rtc_factory_(factory), next_request_id_(0) {}
82 82
83 MediaStreamCenter::~MediaStreamCenter() {} 83 MediaStreamCenter::~MediaStreamCenter() {}
84 84
85 bool MediaStreamCenter::getMediaStreamTrackSources( 85 bool MediaStreamCenter::getMediaStreamTrackSources(
86 const blink::WebMediaStreamTrackSourcesRequest& request) { 86 const blink::WebMediaStreamTrackSourcesRequest& request) {
87 if (!CommandLine::ForCurrentProcess()->HasSwitch( 87 if (!CommandLine::ForCurrentProcess()->HasSwitch(
88 switches::kDisableDeviceEnumeration)) { 88 switches::kDisableDeviceEnumeration)) {
89 int request_id = next_request_id_++; 89 int request_id = next_request_id_++;
90 requests_.insert(std::make_pair(request_id, request)); 90 requests_.insert(std::make_pair(request_id, request));
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 } 126 }
127 127
128 blink::WebAudioSourceProvider* 128 blink::WebAudioSourceProvider*
129 MediaStreamCenter::createWebAudioSourceFromMediaStreamTrack( 129 MediaStreamCenter::createWebAudioSourceFromMediaStreamTrack(
130 const blink::WebMediaStreamTrack& track) { 130 const blink::WebMediaStreamTrack& track) {
131 DVLOG(1) << "MediaStreamCenter::createWebAudioSourceFromMediaStreamTrack"; 131 DVLOG(1) << "MediaStreamCenter::createWebAudioSourceFromMediaStreamTrack";
132 MediaStreamTrack* media_stream_track = 132 MediaStreamTrack* media_stream_track =
133 static_cast<MediaStreamTrack*>(track.extraData()); 133 static_cast<MediaStreamTrack*>(track.extraData());
134 // Only local audio track is supported now. 134 // Only local audio track is supported now.
135 // TODO(xians): Support remote audio track. 135 // TODO(xians): Support remote audio track.
136 if (!media_stream_track || !media_stream_track->is_local_track ()) { 136 if (!media_stream_track || !media_stream_track->is_local_track()) {
137 NOTIMPLEMENTED(); 137 NOTIMPLEMENTED();
138 return NULL; 138 return NULL;
139 } 139 }
140 140
141 blink::WebMediaStreamSource source = track.source(); 141 blink::WebMediaStreamSource source = track.source();
142 DCHECK_EQ(source.type(), blink::WebMediaStreamSource::TypeAudio); 142 DCHECK_EQ(source.type(), blink::WebMediaStreamSource::TypeAudio);
143 WebRtcLocalAudioSourceProvider* source_provider = 143 WebRtcLocalAudioSourceProvider* source_provider =
144 new WebRtcLocalAudioSourceProvider(track); 144 new WebRtcLocalAudioSourceProvider(track);
145 return source_provider; 145 return source_provider;
146 } 146 }
(...skipping 26 matching lines...) Expand all
173 MediaStream* native_stream( 173 MediaStream* native_stream(
174 new MediaStream(stream)); 174 new MediaStream(stream));
175 writable_stream.setExtraData(native_stream); 175 writable_stream.setExtraData(native_stream);
176 176
177 blink::WebVector<blink::WebMediaStreamTrack> video_tracks; 177 blink::WebVector<blink::WebMediaStreamTrack> video_tracks;
178 stream.videoTracks(video_tracks); 178 stream.videoTracks(video_tracks);
179 for (size_t i = 0; i < video_tracks.size(); ++i) { 179 for (size_t i = 0; i < video_tracks.size(); ++i) {
180 if (!MediaStreamTrack::GetTrack(video_tracks[i])) 180 if (!MediaStreamTrack::GetTrack(video_tracks[i]))
181 CreateNativeMediaStreamTrack(video_tracks[i], rtc_factory_); 181 CreateNativeMediaStreamTrack(video_tracks[i], rtc_factory_);
182 } 182 }
183
184 } 183 }
185 184
186 bool MediaStreamCenter::didAddMediaStreamTrack( 185 bool MediaStreamCenter::didAddMediaStreamTrack(
187 const blink::WebMediaStream& stream, 186 const blink::WebMediaStream& stream,
188 const blink::WebMediaStreamTrack& track) { 187 const blink::WebMediaStreamTrack& track) {
189 DVLOG(1) << "MediaStreamCenter::didAddMediaStreamTrack"; 188 DVLOG(1) << "MediaStreamCenter::didAddMediaStreamTrack";
190 MediaStream* native_stream = MediaStream::GetMediaStream(stream); 189 MediaStream* native_stream = MediaStream::GetMediaStream(stream);
191 return native_stream->AddTrack(track); 190 return native_stream->AddTrack(track);
192 } 191 }
193 192
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
237 device.type == MEDIA_DEVICE_AUDIO_CAPTURE 236 device.type == MEDIA_DEVICE_AUDIO_CAPTURE
238 ? blink::WebSourceInfo::SourceKindAudio 237 ? blink::WebSourceInfo::SourceKindAudio
239 : blink::WebSourceInfo::SourceKindVideo, 238 : blink::WebSourceInfo::SourceKindVideo,
240 blink::WebString::fromUTF8(device.name), 239 blink::WebString::fromUTF8(device.name),
241 video_facing); 240 video_facing);
242 } 241 }
243 request_it->second.requestSucceeded(sourceInfos); 242 request_it->second.requestSucceeded(sourceInfos);
244 } 243 }
245 244
246 } // namespace content 245 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698