| Index: content/renderer/media/media_stream_dependency_factory.cc
|
| diff --git a/content/renderer/media/media_stream_dependency_factory.cc b/content/renderer/media/media_stream_dependency_factory.cc
|
| index 32f4d01dcac89306b0e125f84c722f6d82a0da71..5dd84bffa87429a02ba16ee992e8ce2127f00643 100644
|
| --- a/content/renderer/media/media_stream_dependency_factory.cc
|
| +++ b/content/renderer/media/media_stream_dependency_factory.cc
|
| @@ -113,7 +113,7 @@ class P2PPortAllocatorFactory : public webrtc::PortAllocatorFactoryInterface {
|
| }
|
|
|
| return new P2PPortAllocator(web_frame_,
|
| - socket_dispatcher_,
|
| + socket_dispatcher_.get(),
|
| network_manager_,
|
| socket_factory_,
|
| config);
|
| @@ -331,8 +331,8 @@ void MediaStreamDependencyFactory::CreateNativeLocalMediaStream(
|
| std::string label = UTF16ToUTF8(description->label());
|
| scoped_refptr<webrtc::MediaStreamInterface> native_stream =
|
| CreateLocalMediaStream(label);
|
| - MediaStreamExtraData* extra_data = new MediaStreamExtraData(native_stream,
|
| - true);
|
| + MediaStreamExtraData* extra_data =
|
| + new MediaStreamExtraData(native_stream.get(), true);
|
| description->setExtraData(extra_data);
|
|
|
| // Add audio tracks.
|
| @@ -365,7 +365,7 @@ bool MediaStreamDependencyFactory::AddNativeMediaStreamTrack(
|
| const WebKit::WebMediaStreamTrack& track) {
|
| MediaStreamExtraData* extra_data =
|
| static_cast<MediaStreamExtraData*>(stream.extraData());
|
| - webrtc::MediaStreamInterface* native_stream = extra_data->stream();
|
| + webrtc::MediaStreamInterface* native_stream = extra_data->stream().get();
|
| DCHECK(native_stream);
|
|
|
| WebKit::WebMediaStreamSource source = track.source();
|
| @@ -407,16 +407,16 @@ bool MediaStreamDependencyFactory::AddNativeMediaStreamTrack(
|
| CreateLocalAudioTrack(track_id, source_data->local_audio_source()));
|
| audio_track->set_enabled(track.isEnabled());
|
| if (GetWebRtcAudioDevice()) {
|
| - WebRtcAudioCapturer* capturer = GetWebRtcAudioDevice()->capturer();
|
| + WebRtcAudioCapturer* capturer = GetWebRtcAudioDevice()->capturer().get();
|
| if (!capturer->is_recording())
|
| capturer->Start();
|
| }
|
| - return native_stream->AddTrack(audio_track);
|
| + return native_stream->AddTrack(audio_track.get());
|
| } else {
|
| scoped_refptr<webrtc::VideoTrackInterface> video_track(
|
| CreateLocalVideoTrack(track_id, source_data->video_source()));
|
| video_track->set_enabled(track.isEnabled());
|
| - return native_stream->AddTrack(video_track);
|
| + return native_stream->AddTrack(video_track.get());
|
| }
|
| }
|
|
|
| @@ -437,8 +437,8 @@ bool MediaStreamDependencyFactory::AddNativeVideoMediaTrack(
|
| MediaStreamExtraData* extra_data =
|
| static_cast<MediaStreamExtraData*>(stream->extraData());
|
| DCHECK(extra_data);
|
| - webrtc::MediaStreamInterface* native_stream = extra_data->stream();
|
| - native_stream->AddTrack(native_track);
|
| + webrtc::MediaStreamInterface* native_stream = extra_data->stream().get();
|
| + native_stream->AddTrack(native_track.get());
|
|
|
| // Create a new webkit video track.
|
| WebKit::WebMediaStreamTrack webkit_track;
|
| @@ -459,7 +459,7 @@ bool MediaStreamDependencyFactory::RemoveNativeMediaStreamTrack(
|
| const WebKit::WebMediaStreamTrack& track) {
|
| MediaStreamExtraData* extra_data =
|
| static_cast<MediaStreamExtraData*>(stream.extraData());
|
| - webrtc::MediaStreamInterface* native_stream = extra_data->stream();
|
| + webrtc::MediaStreamInterface* native_stream = extra_data->stream().get();
|
| DCHECK(native_stream);
|
|
|
| WebKit::WebMediaStreamSource::Type type = track.source().type();
|
| @@ -474,13 +474,16 @@ bool MediaStreamDependencyFactory::RemoveNativeMediaStreamTrack(
|
|
|
| bool MediaStreamDependencyFactory::CreatePeerConnectionFactory() {
|
| DVLOG(1) << "MediaStreamDependencyFactory::CreatePeerConnectionFactory()";
|
| - if (!pc_factory_) {
|
| - DCHECK(!audio_device_);
|
| + if (!pc_factory_.get()) {
|
| + DCHECK(!audio_device_.get());
|
| audio_device_ = new WebRtcAudioDeviceImpl();
|
| scoped_refptr<webrtc::PeerConnectionFactoryInterface> factory(
|
| - webrtc::CreatePeerConnectionFactory(
|
| - worker_thread_, signaling_thread_, audio_device_, NULL, NULL));
|
| - if (factory)
|
| + webrtc::CreatePeerConnectionFactory(worker_thread_,
|
| + signaling_thread_,
|
| + audio_device_.get(),
|
| + NULL,
|
| + NULL));
|
| + if (factory.get())
|
| pc_factory_ = factory;
|
| else
|
| audio_device_ = NULL;
|
| @@ -521,7 +524,8 @@ MediaStreamDependencyFactory::CreatePeerConnection(
|
| socket_factory_.get(),
|
| web_frame);
|
| return pc_factory_->CreatePeerConnection(
|
| - ice_servers, constraints, pa_factory, observer).get();
|
| + ice_servers, constraints, pa_factory.get(), observer)
|
| + .get();
|
| }
|
|
|
| scoped_refptr<webrtc::MediaStreamInterface>
|
| @@ -564,7 +568,7 @@ bool MediaStreamDependencyFactory::InitializeAudioSource(
|
|
|
| // Initialize the source using audio parameters for the selected
|
| // capture device.
|
| - WebRtcAudioCapturer* capturer = GetWebRtcAudioDevice()->capturer();
|
| + WebRtcAudioCapturer* capturer = GetWebRtcAudioDevice()->capturer().get();
|
| // TODO(henrika): refactor \content\public\common\media_stream_request.h
|
| // to allow dependency of media::ChannelLayout and avoid static_cast.
|
| if (!capturer->Initialize(
|
| @@ -584,7 +588,7 @@ bool MediaStreamDependencyFactory::CreateWebAudioSource(
|
| // WebAudio needs the WebRtcAudioCapturer to be able to send its data
|
| // over a PeerConnection. The microphone source is not utilized in this
|
| // case; instead the WebRtcAudioCapturer is driving.
|
| - WebRtcAudioCapturer* capturer = GetWebRtcAudioDevice()->capturer();
|
| + WebRtcAudioCapturer* capturer = GetWebRtcAudioDevice()->capturer().get();
|
| if (!capturer)
|
| return false;
|
|
|
| @@ -594,7 +598,7 @@ bool MediaStreamDependencyFactory::CreateWebAudioSource(
|
| scoped_refptr<WebAudioCapturerSource>
|
| webaudio_capturer_source(new WebAudioCapturerSource(capturer));
|
| MediaStreamSourceExtraData* source_data =
|
| - new content::MediaStreamSourceExtraData(webaudio_capturer_source);
|
| + new content::MediaStreamSourceExtraData(webaudio_capturer_source.get());
|
|
|
| // Create a LocalAudioSource object which holds audio options.
|
| // Use audio constraints where all values are false, i.e., disable
|
| @@ -607,7 +611,7 @@ bool MediaStreamDependencyFactory::CreateWebAudioSource(
|
| source->setExtraData(source_data);
|
|
|
| // Replace the default source with WebAudio as source instead.
|
| - source->addAudioConsumer(webaudio_capturer_source);
|
| + source->addAudioConsumer(webaudio_capturer_source.get());
|
|
|
| return true;
|
| }
|
| @@ -632,7 +636,7 @@ MediaStreamDependencyFactory::CreateLocalVideoTrack(
|
| pc_factory_->CreateVideoSource(capturer, NULL).get();
|
|
|
| // Create native track from the source.
|
| - return pc_factory_->CreateVideoTrack(id, source).get();
|
| + return pc_factory_->CreateVideoTrack(id, source.get()).get();
|
| }
|
|
|
| scoped_refptr<webrtc::AudioTrackInterface>
|
| @@ -663,19 +667,19 @@ webrtc::IceCandidateInterface* MediaStreamDependencyFactory::CreateIceCandidate(
|
|
|
| WebRtcAudioDeviceImpl*
|
| MediaStreamDependencyFactory::GetWebRtcAudioDevice() {
|
| - return audio_device_;
|
| + return audio_device_.get();
|
| }
|
|
|
| void MediaStreamDependencyFactory::StopLocalAudioSource(
|
| const WebKit::WebMediaStream& description) {
|
| MediaStreamExtraData* extra_data = static_cast<MediaStreamExtraData*>(
|
| description.extraData());
|
| - if (extra_data && extra_data->is_local() && extra_data->stream() &&
|
| + if (extra_data && extra_data->is_local() && extra_data->stream().get() &&
|
| !extra_data->stream()->GetAudioTracks().empty()) {
|
| if (GetWebRtcAudioDevice()) {
|
| scoped_refptr<WebRtcAudioCapturer> capturer =
|
| GetWebRtcAudioDevice()->capturer();
|
| - if (capturer)
|
| + if (capturer.get())
|
| capturer->Stop();
|
| }
|
| }
|
| @@ -693,7 +697,7 @@ void MediaStreamDependencyFactory::InitializeWorkerThread(
|
| void MediaStreamDependencyFactory::CreateIpcNetworkManagerOnWorkerThread(
|
| base::WaitableEvent* event) {
|
| DCHECK_EQ(base::MessageLoop::current(), chrome_worker_thread_.message_loop());
|
| - network_manager_ = new IpcNetworkManager(p2p_socket_dispatcher_);
|
| + network_manager_ = new IpcNetworkManager(p2p_socket_dispatcher_.get());
|
| event->Signal();
|
| }
|
|
|
| @@ -744,7 +748,7 @@ bool MediaStreamDependencyFactory::EnsurePeerConnectionFactory() {
|
|
|
| if (!socket_factory_) {
|
| socket_factory_.reset(
|
| - new IpcPacketSocketFactory(p2p_socket_dispatcher_));
|
| + new IpcPacketSocketFactory(p2p_socket_dispatcher_.get()));
|
| }
|
|
|
| // Init SSL, which will be needed by PeerConnection.
|
|
|