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 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
231 new IpcPacketSocketFactory(p2p_socket_dispatcher_.get())); | 231 new IpcPacketSocketFactory(p2p_socket_dispatcher_.get())); |
232 | 232 |
233 std::unique_ptr<cricket::WebRtcVideoDecoderFactory> decoder_factory; | 233 std::unique_ptr<cricket::WebRtcVideoDecoderFactory> decoder_factory; |
234 std::unique_ptr<cricket::WebRtcVideoEncoderFactory> encoder_factory; | 234 std::unique_ptr<cricket::WebRtcVideoEncoderFactory> encoder_factory; |
235 | 235 |
236 const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); | 236 const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); |
237 if (gpu_factories && gpu_factories->IsGpuVideoAcceleratorEnabled()) { | 237 if (gpu_factories && gpu_factories->IsGpuVideoAcceleratorEnabled()) { |
238 if (!cmd_line->HasSwitch(switches::kDisableWebRtcHWDecoding)) | 238 if (!cmd_line->HasSwitch(switches::kDisableWebRtcHWDecoding)) |
239 decoder_factory.reset(new RTCVideoDecoderFactory(gpu_factories)); | 239 decoder_factory.reset(new RTCVideoDecoderFactory(gpu_factories)); |
240 | 240 |
241 if (!cmd_line->HasSwitch(switches::kDisableWebRtcHWEncoding)) | 241 if (!cmd_line->HasSwitch(switches::kDisableWebRtcHWEncoding) || |
| 242 !cmd_line->GetSwitchValueASCII(switches::kDisableWebRtcHWEncoding) |
| 243 .empty()) { |
242 encoder_factory.reset(new RTCVideoEncoderFactory(gpu_factories)); | 244 encoder_factory.reset(new RTCVideoEncoderFactory(gpu_factories)); |
| 245 } |
243 } | 246 } |
244 | 247 |
245 #if defined(OS_ANDROID) | 248 #if defined(OS_ANDROID) |
246 if (!media::MediaCodecUtil::SupportsSetParameters()) | 249 if (!media::MediaCodecUtil::SupportsSetParameters()) |
247 encoder_factory.reset(); | 250 encoder_factory.reset(); |
248 #endif | 251 #endif |
249 | 252 |
250 pc_factory_ = webrtc::CreatePeerConnectionFactory( | 253 pc_factory_ = webrtc::CreatePeerConnectionFactory( |
251 worker_thread_, signaling_thread_, audio_device_.get(), | 254 worker_thread_, signaling_thread_, audio_device_.get(), |
252 encoder_factory.release(), decoder_factory.release()); | 255 encoder_factory.release(), decoder_factory.release()); |
(...skipping 295 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
548 | 551 |
549 void PeerConnectionDependencyFactory::EnsureWebRtcAudioDeviceImpl() { | 552 void PeerConnectionDependencyFactory::EnsureWebRtcAudioDeviceImpl() { |
550 DCHECK(CalledOnValidThread()); | 553 DCHECK(CalledOnValidThread()); |
551 if (audio_device_.get()) | 554 if (audio_device_.get()) |
552 return; | 555 return; |
553 | 556 |
554 audio_device_ = new WebRtcAudioDeviceImpl(); | 557 audio_device_ = new WebRtcAudioDeviceImpl(); |
555 } | 558 } |
556 | 559 |
557 } // namespace content | 560 } // namespace content |
OLD | NEW |