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

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

Issue 16294003: Update content/ to use scoped_refptr<T>::get() rather than implicit "operator T*" (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 7 years, 6 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_impl.h" 5 #include "content/renderer/media/media_stream_impl.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/string_number_conversions.h" 10 #include "base/string_number_conversions.h"
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 webkit_sources[i].setDeviceId(UTF8ToUTF16(devices[i].device.id.c_str())); 94 webkit_sources[i].setDeviceId(UTF8ToUTF16(devices[i].device.id.c_str()));
95 } 95 }
96 } 96 }
97 97
98 webrtc::MediaStreamInterface* GetNativeMediaStream( 98 webrtc::MediaStreamInterface* GetNativeMediaStream(
99 const WebKit::WebMediaStream& descriptor) { 99 const WebKit::WebMediaStream& descriptor) {
100 content::MediaStreamExtraData* extra_data = 100 content::MediaStreamExtraData* extra_data =
101 static_cast<content::MediaStreamExtraData*>(descriptor.extraData()); 101 static_cast<content::MediaStreamExtraData*>(descriptor.extraData());
102 if (!extra_data) 102 if (!extra_data)
103 return NULL; 103 return NULL;
104 return extra_data->stream(); 104 return extra_data->stream().get();
105 } 105 }
106 106
107 } // namespace 107 } // namespace
108 108
109 MediaStreamImpl::MediaStreamImpl( 109 MediaStreamImpl::MediaStreamImpl(
110 RenderView* render_view, 110 RenderView* render_view,
111 MediaStreamDispatcher* media_stream_dispatcher, 111 MediaStreamDispatcher* media_stream_dispatcher,
112 MediaStreamDependencyFactory* dependency_factory) 112 MediaStreamDependencyFactory* dependency_factory)
113 : RenderViewObserver(render_view), 113 : RenderViewObserver(render_view),
114 dependency_factory_(dependency_factory), 114 dependency_factory_(dependency_factory),
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
251 return NULL; // This is not a valid stream. 251 return NULL; // This is not a valid stream.
252 252
253 DVLOG(1) << "MediaStreamImpl::GetAudioRenderer stream:" 253 DVLOG(1) << "MediaStreamImpl::GetAudioRenderer stream:"
254 << UTF16ToUTF8(descriptor.label()); 254 << UTF16ToUTF8(descriptor.label());
255 255
256 MediaStreamExtraData* extra_data = 256 MediaStreamExtraData* extra_data =
257 static_cast<MediaStreamExtraData*>(descriptor.extraData()); 257 static_cast<MediaStreamExtraData*>(descriptor.extraData());
258 258
259 if (extra_data->is_local()) { 259 if (extra_data->is_local()) {
260 // Create the local audio renderer if the stream contains audio tracks. 260 // Create the local audio renderer if the stream contains audio tracks.
261 return CreateLocalAudioRenderer(extra_data->stream()); 261 return CreateLocalAudioRenderer(extra_data->stream().get());
262 } 262 }
263 263
264 webrtc::MediaStreamInterface* stream = extra_data->stream(); 264 webrtc::MediaStreamInterface* stream = extra_data->stream().get();
265 if (!stream || stream->GetAudioTracks().empty()) 265 if (!stream || stream->GetAudioTracks().empty())
266 return NULL; 266 return NULL;
267 267
268 // This is a remote media stream. 268 // This is a remote media stream.
269 WebRtcAudioDeviceImpl* audio_device = 269 WebRtcAudioDeviceImpl* audio_device =
270 dependency_factory_->GetWebRtcAudioDevice(); 270 dependency_factory_->GetWebRtcAudioDevice();
271 271
272 // Share the existing renderer if any, otherwise create a new one. 272 // Share the existing renderer if any, otherwise create a new one.
273 scoped_refptr<WebRtcAudioRenderer> renderer(audio_device->renderer()); 273 scoped_refptr<WebRtcAudioRenderer> renderer(audio_device->renderer());
274 if (!renderer) { 274 if (!renderer.get()) {
275 renderer = CreateRemoteAudioRenderer(extra_data->stream()); 275 renderer = CreateRemoteAudioRenderer(extra_data->stream().get());
276 276
277 if (renderer && !audio_device->SetAudioRenderer(renderer)) 277 if (renderer.get() && !audio_device->SetAudioRenderer(renderer.get()))
278 renderer = NULL; 278 renderer = NULL;
279 } 279 }
280 return renderer; 280 return renderer;
281 } 281 }
282 282
283 // Callback from MediaStreamDispatcher. 283 // Callback from MediaStreamDispatcher.
284 // The requested stream have been generated by the MediaStreamDispatcher. 284 // The requested stream have been generated by the MediaStreamDispatcher.
285 void MediaStreamImpl::OnStreamGenerated( 285 void MediaStreamImpl::OnStreamGenerated(
286 int request_id, 286 int request_id,
287 const std::string& label, 287 const std::string& label,
(...skipping 254 matching lines...) Expand 10 before | Expand all | Expand 10 after
542 MediaStreamImpl::CreateLocalAudioRenderer( 542 MediaStreamImpl::CreateLocalAudioRenderer(
543 webrtc::MediaStreamInterface* stream) { 543 webrtc::MediaStreamInterface* stream) {
544 if (stream->GetAudioTracks().empty()) 544 if (stream->GetAudioTracks().empty())
545 return NULL; 545 return NULL;
546 546
547 DVLOG(1) << "MediaStreamImpl::CreateLocalAudioRenderer label:" 547 DVLOG(1) << "MediaStreamImpl::CreateLocalAudioRenderer label:"
548 << stream->label(); 548 << stream->label();
549 549
550 scoped_refptr<WebRtcAudioCapturer> source = 550 scoped_refptr<WebRtcAudioCapturer> source =
551 dependency_factory_->GetWebRtcAudioDevice()->capturer(); 551 dependency_factory_->GetWebRtcAudioDevice()->capturer();
552 if (!source) { 552 if (!source.get()) {
553 return NULL; 553 return NULL;
554 } 554 }
555 555
556 webrtc::AudioTrackVector audio_tracks = stream->GetAudioTracks(); 556 webrtc::AudioTrackVector audio_tracks = stream->GetAudioTracks();
557 DCHECK_EQ(audio_tracks.size(), 1u); 557 DCHECK_EQ(audio_tracks.size(), 1u);
558 webrtc::AudioTrackInterface* audio_track = audio_tracks[0]; 558 webrtc::AudioTrackInterface* audio_track = audio_tracks[0];
559 DVLOG(1) << "audio_track.kind : " << audio_track->kind() 559 DVLOG(1) << "audio_track.kind : " << audio_track->kind()
560 << "audio_track.id : " << audio_track->id() 560 << "audio_track.id : " << audio_track->id()
561 << "audio_track.enabled: " << audio_track->enabled(); 561 << "audio_track.enabled: " << audio_track->enabled();
562 562
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 } 625 }
626 626
627 for (size_t i = 0; i < video_sources.size(); ++i) { 627 for (size_t i = 0; i < video_sources.size(); ++i) {
628 video_sources[i].setReadyState( 628 video_sources[i].setReadyState(
629 WebKit::WebMediaStreamSource::ReadyStateEnded); 629 WebKit::WebMediaStreamSource::ReadyStateEnded);
630 video_sources[i].setExtraData(NULL); 630 video_sources[i].setExtraData(NULL);
631 } 631 }
632 } 632 }
633 633
634 } // namespace content 634 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698