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

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

Issue 30983002: Switch from using internal constraints to use explicit PeerConnectionFactoryInterface::SetOptions t… (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@track_stop
Patch Set: Created 7 years, 2 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
« no previous file with comments | « no previous file | content/renderer/media/rtc_media_constraints.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_dependency_factory.h" 5 #include "content/renderer/media/media_stream_dependency_factory.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
(...skipping 286 matching lines...) Expand 10 before | Expand all | Expand 10 after
297 &native_video_constraints).get()); 297 &native_video_constraints).get());
298 source_observer->AddSource(source_data->video_source()); 298 source_observer->AddSource(source_data->video_source());
299 } 299 }
300 300
301 // Do additional source initialization if the audio source is a valid 301 // Do additional source initialization if the audio source is a valid
302 // microphone or tab audio. 302 // microphone or tab audio.
303 RTCMediaConstraints native_audio_constraints(audio_constraints); 303 RTCMediaConstraints native_audio_constraints(audio_constraints);
304 ApplyFixedAudioConstraints(&native_audio_constraints); 304 ApplyFixedAudioConstraints(&native_audio_constraints);
305 WebKit::WebVector<WebKit::WebMediaStreamTrack> audio_tracks; 305 WebKit::WebVector<WebKit::WebMediaStreamTrack> audio_tracks;
306 web_stream->audioTracks(audio_tracks); 306 web_stream->audioTracks(audio_tracks);
307 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
308 if (command_line.HasSwitch(switches::kEnableWebRtcAecRecordings)) {
309 native_audio_constraints.AddOptional(
310 RTCMediaConstraints::kInternalAecDump, "true");
311 }
312 for (size_t i = 0; i < audio_tracks.size(); ++i) { 307 for (size_t i = 0; i < audio_tracks.size(); ++i) {
313 const WebKit::WebMediaStreamSource& source = audio_tracks[i].source(); 308 const WebKit::WebMediaStreamSource& source = audio_tracks[i].source();
314 MediaStreamSourceExtraData* source_data = 309 MediaStreamSourceExtraData* source_data =
315 static_cast<MediaStreamSourceExtraData*>(source.extraData()); 310 static_cast<MediaStreamSourceExtraData*>(source.extraData());
316 311
317 // Check if the source has already been created. This happens when the same 312 // Check if the source has already been created. This happens when the same
318 // source is used in multiple MediaStreams as a result of calling 313 // source is used in multiple MediaStreams as a result of calling
319 // getUserMedia. 314 // getUserMedia.
320 if (source_data->local_audio_source()) 315 if (source_data->local_audio_source())
321 continue; 316 continue;
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 // PeerConnectionFactory will hold the ownership of this 532 // PeerConnectionFactory will hold the ownership of this
538 // VideoDecoderFactory. 533 // VideoDecoderFactory.
539 decoder_factory.reset(decoder_factory_tv_ = new RTCVideoDecoderFactoryTv()); 534 decoder_factory.reset(decoder_factory_tv_ = new RTCVideoDecoderFactoryTv());
540 #endif 535 #endif
541 536
542 if (!cmd_line->HasSwitch(switches::kDisableWebRtcHWEncoding)) { 537 if (!cmd_line->HasSwitch(switches::kDisableWebRtcHWEncoding)) {
543 if (gpu_factories) 538 if (gpu_factories)
544 encoder_factory.reset(new RTCVideoEncoderFactory(gpu_factories)); 539 encoder_factory.reset(new RTCVideoEncoderFactory(gpu_factories));
545 } 540 }
546 541
542
547 scoped_refptr<webrtc::PeerConnectionFactoryInterface> factory( 543 scoped_refptr<webrtc::PeerConnectionFactoryInterface> factory(
548 webrtc::CreatePeerConnectionFactory(worker_thread_, 544 webrtc::CreatePeerConnectionFactory(worker_thread_,
549 signaling_thread_, 545 signaling_thread_,
550 audio_device_.get(), 546 audio_device_.get(),
551 encoder_factory.release(), 547 encoder_factory.release(),
552 decoder_factory.release())); 548 decoder_factory.release()));
553 if (factory.get()) 549 if (!factory.get()) {
554 pc_factory_ = factory;
555 else
556 audio_device_ = NULL; 550 audio_device_ = NULL;
551 return false;
552 }
553
554 pc_factory_ = factory;
555 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
556 PeerConnectionFactoryInterface::Options factory_options;
557 factory_options.enable_aec_dump =
558 cmd_line->HasSwitch(switches::kEnableWebRtcAecRecordings);
559 factory_options.disable_sctp_data_channels=
560 cmd_line->HasSwitch(switches::kDisableSCTPDataChannels);
561 pc_factory_->SetOptions(factory_options);
557 } 562 }
558 return pc_factory_.get() != NULL; 563 return pc_factory_.get() != NULL;
Ami GONE FROM CHROMIUM 2013/10/20 20:32:11 Isn't this unconditionally true now?
perkj_chrome 2013/10/21 09:56:58 yes.... I rewrote the if statement.
559 } 564 }
560 565
561 bool MediaStreamDependencyFactory::PeerConnectionFactoryCreated() { 566 bool MediaStreamDependencyFactory::PeerConnectionFactoryCreated() {
562 return pc_factory_.get() != NULL; 567 return pc_factory_.get() != NULL;
563 } 568 }
564 569
565 scoped_refptr<webrtc::PeerConnectionInterface> 570 scoped_refptr<webrtc::PeerConnectionInterface>
566 MediaStreamDependencyFactory::CreatePeerConnection( 571 MediaStreamDependencyFactory::CreatePeerConnection(
567 const webrtc::PeerConnectionInterface::IceServers& ice_servers, 572 const webrtc::PeerConnectionInterface::IceServers& ice_servers,
568 const webrtc::MediaConstraintsInterface* constraints, 573 const webrtc::MediaConstraintsInterface* constraints,
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
841 } 846 }
842 847
843 // Add the capturer to the WebRtcAudioDeviceImpl if it is a new capturer. 848 // Add the capturer to the WebRtcAudioDeviceImpl if it is a new capturer.
844 if (is_new_capturer) 849 if (is_new_capturer)
845 GetWebRtcAudioDevice()->AddAudioCapturer(capturer); 850 GetWebRtcAudioDevice()->AddAudioCapturer(capturer);
846 851
847 return capturer; 852 return capturer;
848 } 853 }
849 854
850 } // namespace content 855 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/renderer/media/rtc_media_constraints.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698