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

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

Issue 10919122: Move creation of PeerConnection from the RenderView to the RenderThreadImpl. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased to latest codec base. Created 8 years, 3 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/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "base/string_number_conversions.h" 11 #include "base/string_number_conversions.h"
12 #include "base/utf_string_conversions.h" 12 #include "base/utf_string_conversions.h"
13 #include "content/renderer/media/media_stream_extra_data.h"
14 #include "content/renderer/media/media_stream_dependency_factory.h"
13 #include "content/renderer/media/media_stream_impl.h" 15 #include "content/renderer/media/media_stream_impl.h"
14 #include "content/renderer/media/media_stream_extra_data.h"
15 #include "content/renderer/render_view_impl.h" 16 #include "content/renderer/render_view_impl.h"
16 #include "third_party/libjingle/source/talk/app/webrtc/jsep.h" 17 #include "third_party/libjingle/source/talk/app/webrtc/jsep.h"
17 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebICECandid ateDescriptor.h" 18 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebICECandid ateDescriptor.h"
18 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebMediaStre amCenterClient.h" 19 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebMediaStre amCenterClient.h"
19 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebMediaStre amComponent.h" 20 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebMediaStre amComponent.h"
20 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebMediaStre amDescriptor.h" 21 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebMediaStre amDescriptor.h"
21 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebMediaStre amSource.h" 22 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebMediaStre amSource.h"
22 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebMediaStre amSourcesRequest.h" 23 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebMediaStre amSourcesRequest.h"
23 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebSessionDe scriptionDescriptor.h" 24 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebSessionDe scriptionDescriptor.h"
24 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebVector.h" 25 #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebVector.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 return GetTrack<webrtc::VideoTracks>( 77 return GetTrack<webrtc::VideoTracks>(
77 source_id, native_stream->video_tracks()); 78 source_id, native_stream->video_tracks());
78 } 79 }
79 } 80 }
80 // TODO(perkj): This can occur if a JS create a new MediaStream based on an 81 // TODO(perkj): This can occur if a JS create a new MediaStream based on an
81 // existing MediaStream. 82 // existing MediaStream.
82 NOTIMPLEMENTED(); 83 NOTIMPLEMENTED();
83 return NULL; 84 return NULL;
84 } 85 }
85 86
86 MediaStreamCenter::MediaStreamCenter(WebKit::WebMediaStreamCenterClient*) {} 87 MediaStreamCenter::MediaStreamCenter(WebKit::WebMediaStreamCenterClient*,
tommi (sloooow) - chröme 2012/09/12 13:10:24 missing variable name
perkj_chrome 2012/09/12 13:54:39 Added but it is unused.
88 MediaStreamDependencyFactory* factory)
89 : rtc_factory_(factory) {
90 }
87 91
88 void MediaStreamCenter::queryMediaStreamSources( 92 void MediaStreamCenter::queryMediaStreamSources(
89 const WebKit::WebMediaStreamSourcesRequest& request) { 93 const WebKit::WebMediaStreamSourcesRequest& request) {
90 WebKit::WebVector<WebKit::WebMediaStreamSource> audioSources, videoSources; 94 WebKit::WebVector<WebKit::WebMediaStreamSource> audioSources, videoSources;
91 request.didCompleteQuery(audioSources, videoSources); 95 request.didCompleteQuery(audioSources, videoSources);
92 } 96 }
93 97
94 void MediaStreamCenter::didEnableMediaStreamTrack( 98 void MediaStreamCenter::didEnableMediaStreamTrack(
95 const WebKit::WebMediaStreamDescriptor& stream, 99 const WebKit::WebMediaStreamDescriptor& stream,
96 const WebKit::WebMediaStreamComponent& component) { 100 const WebKit::WebMediaStreamComponent& component) {
(...skipping 22 matching lines...) Expand all
119 if (ms_impl) { 123 if (ms_impl) {
120 ms_impl->StopLocalMediaStream(stream); 124 ms_impl->StopLocalMediaStream(stream);
121 return; 125 return;
122 } 126 }
123 127
124 NOTREACHED(); 128 NOTREACHED();
125 } 129 }
126 130
127 void MediaStreamCenter::didCreateMediaStream( 131 void MediaStreamCenter::didCreateMediaStream(
128 WebKit::WebMediaStreamDescriptor& stream) { 132 WebKit::WebMediaStreamDescriptor& stream) {
129 WebKit::WebFrame* web_frame = WebKit::WebFrame::frameForCurrentContext(); 133 if (!rtc_factory_)
130 if (!web_frame)
131 return; 134 return;
132 MediaStreamImpl* ms_impl = GetMediaStreamImpl(web_frame); 135 rtc_factory_->CreateNativeLocalMediaStream(&stream);
133 if (ms_impl) {
134 ms_impl->CreateMediaStream(web_frame, &stream);
135 return;
136 }
137 NOTREACHED();
138 } 136 }
139 137
140 WebKit::WebString MediaStreamCenter::constructSDP( 138 WebKit::WebString MediaStreamCenter::constructSDP(
141 const WebKit::WebICECandidateDescriptor& candidate) { 139 const WebKit::WebICECandidateDescriptor& candidate) {
142 int m_line_index = -1; 140 int m_line_index = -1;
143 if (!base::StringToInt(UTF16ToUTF8(candidate.label()), &m_line_index)) { 141 if (!base::StringToInt(UTF16ToUTF8(candidate.label()), &m_line_index)) {
144 LOG(ERROR) << "Invalid candidate label: " << UTF16ToUTF8(candidate.label()); 142 LOG(ERROR) << "Invalid candidate label: " << UTF16ToUTF8(candidate.label());
145 return WebKit::WebString(); 143 return WebKit::WebString();
146 } 144 }
147 // TODO(ronghuawu): Get sdp_mid from WebKit when is available. 145 // TODO(ronghuawu): Get sdp_mid from WebKit when is available.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
183 } 181 }
184 } 182 }
185 183
186 std::string sdp; 184 std::string sdp;
187 if (!native_desc->ToString(&sdp)) 185 if (!native_desc->ToString(&sdp))
188 LOG(ERROR) << "Could not create SDP string"; 186 LOG(ERROR) << "Could not create SDP string";
189 return UTF8ToUTF16(sdp); 187 return UTF8ToUTF16(sdp);
190 } 188 }
191 189
192 } // namespace content 190 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698