OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/webrtc/peer_connection_dependency_factory.h" | 5 #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
250 new IpcPacketSocketFactory(p2p_socket_dispatcher_.get())); | 250 new IpcPacketSocketFactory(p2p_socket_dispatcher_.get())); |
251 | 251 |
252 std::unique_ptr<cricket::WebRtcVideoDecoderFactory> decoder_factory; | 252 std::unique_ptr<cricket::WebRtcVideoDecoderFactory> decoder_factory; |
253 std::unique_ptr<cricket::WebRtcVideoEncoderFactory> encoder_factory; | 253 std::unique_ptr<cricket::WebRtcVideoEncoderFactory> encoder_factory; |
254 | 254 |
255 const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); | 255 const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); |
256 if (gpu_factories && gpu_factories->IsGpuVideoAcceleratorEnabled()) { | 256 if (gpu_factories && gpu_factories->IsGpuVideoAcceleratorEnabled()) { |
257 if (!cmd_line->HasSwitch(switches::kDisableWebRtcHWDecoding)) | 257 if (!cmd_line->HasSwitch(switches::kDisableWebRtcHWDecoding)) |
258 decoder_factory.reset(new RTCVideoDecoderFactory(gpu_factories)); | 258 decoder_factory.reset(new RTCVideoDecoderFactory(gpu_factories)); |
259 | 259 |
260 if (!cmd_line->HasSwitch(switches::kDisableWebRtcHWEncoding)) | 260 if (!cmd_line->HasSwitch(switches::kDisableWebRtcHWEncoding) || |
| 261 !cmd_line->GetSwitchValueASCII(switches::kDisableWebRtcHWEncoding) |
| 262 .empty()) { |
261 encoder_factory.reset(new RTCVideoEncoderFactory(gpu_factories)); | 263 encoder_factory.reset(new RTCVideoEncoderFactory(gpu_factories)); |
| 264 } |
262 } | 265 } |
263 | 266 |
264 #if defined(OS_ANDROID) | 267 #if defined(OS_ANDROID) |
265 if (!media::MediaCodecUtil::SupportsSetParameters()) | 268 if (!media::MediaCodecUtil::SupportsSetParameters()) |
266 encoder_factory.reset(); | 269 encoder_factory.reset(); |
267 #endif | 270 #endif |
268 | 271 |
269 pc_factory_ = webrtc::CreatePeerConnectionFactory( | 272 pc_factory_ = webrtc::CreatePeerConnectionFactory( |
270 worker_thread_, signaling_thread_, audio_device_.get(), | 273 worker_thread_, signaling_thread_, audio_device_.get(), |
271 encoder_factory.release(), decoder_factory.release()); | 274 encoder_factory.release(), decoder_factory.release()); |
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
577 | 580 |
578 void PeerConnectionDependencyFactory::EnsureWebRtcAudioDeviceImpl() { | 581 void PeerConnectionDependencyFactory::EnsureWebRtcAudioDeviceImpl() { |
579 DCHECK(CalledOnValidThread()); | 582 DCHECK(CalledOnValidThread()); |
580 if (audio_device_.get()) | 583 if (audio_device_.get()) |
581 return; | 584 return; |
582 | 585 |
583 audio_device_ = new WebRtcAudioDeviceImpl(); | 586 audio_device_ = new WebRtcAudioDeviceImpl(); |
584 } | 587 } |
585 | 588 |
586 } // namespace content | 589 } // namespace content |
OLD | NEW |