Changeset 257234 in webkit
- Timestamp:
- Feb 24, 2020 12:06:24 PM (4 years ago)
- Location:
- trunk/Source
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r257215 r257234 1 2020-02-24 Youenn Fablet <youenn@apple.com> 2 3 Add a runtime flag dedicated to WebRTC codecs in GPUProcess 4 https://bugs.webkit.org/show_bug.cgi?id=208136 5 6 Reviewed by Alex Christensen. 7 8 Add a runtime flag for WebRTC codecs in GPUProcess. 9 Enable the flag by default for MacOS. 10 11 * page/RuntimeEnabledFeatures.h: 12 (WebCore::RuntimeEnabledFeatures::webRTCPlatformCodecsInGPUProcessEnabled const): 13 (WebCore::RuntimeEnabledFeatures::setWebRTCPlatformCodecsInGPUProcessEnabled): 14 * platform/mediastream/libwebrtc/LibWebRTCProvider.cpp: 15 * platform/mediastream/libwebrtc/LibWebRTCProvider.h: 16 * testing/Internals.cpp: 17 (WebCore::Internals::resetToConsistentState): 18 (WebCore::Internals::setUseGPUProcessForWebRTC): 19 1 20 2020-02-24 Alex Christensen <achristensen@webkit.org> 2 21 -
trunk/Source/WebCore/page/RuntimeEnabledFeatures.h
r256697 r257234 243 243 bool webRTCH264SimulcastEnabled() const { return m_isWebRTCH264SimulcastEnabled; } 244 244 void setWebRTCH264SimulcastEnabled(bool isEnabled) { m_isWebRTCH264SimulcastEnabled = isEnabled; } 245 bool webRTCPlatformCodecsInGPUProcessEnabled() const { return m_isWebRTCPlatformCodecsInGPUProcessEnabled; } 246 void setWebRTCPlatformCodecsInGPUProcessEnabled(bool isEnabled) { m_isWebRTCPlatformCodecsInGPUProcessEnabled = isEnabled; } 245 247 #endif 246 248 … … 490 492 bool m_isWebRTCMDNSICECandidatesEnabled { false }; 491 493 bool m_isWebRTCH264SimulcastEnabled { true }; 494 bool m_isWebRTCPlatformCodecsInGPUProcessEnabled { true }; 492 495 #endif 493 496 -
trunk/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp
r256745 r257234 331 331 } 332 332 333 void LibWebRTCProvider::setUseGPUProcess(bool value)334 {335 if (m_useGPUProcess == value)336 return;337 338 m_useGPUProcess = value;339 m_factory = nullptr;340 }341 342 333 rtc::scoped_refptr<webrtc::PeerConnectionInterface> LibWebRTCProvider::createPeerConnection(webrtc::PeerConnectionObserver& observer, rtc::NetworkManager& networkManager, rtc::PacketSocketFactory& packetSocketFactory, webrtc::PeerConnectionInterface::RTCConfiguration&& configuration, std::unique_ptr<webrtc::AsyncResolverFactory>&& asyncResolveFactory) 343 334 { -
trunk/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.h
r256838 r257234 117 117 void setEnableWebRTCEncryption(bool); 118 118 void setUseDTLS10(bool); 119 void setUseGPUProcess(bool);120 119 121 120 class SuspendableSocketFactory : public rtc::PacketSocketFactory { … … 145 144 bool m_enableLogging { true }; 146 145 bool m_useDTLS10 { false }; 147 bool m_useGPUProcess { false };148 146 #endif 149 147 }; -
trunk/Source/WebCore/testing/Internals.cpp
r257074 r257234 548 548 RuntimeEnabledFeatures::sharedFeatures().setWebRTCVP8CodecEnabled(true); 549 549 page.settings().setWebRTCEncryptionEnabled(true); 550 rtcProvider.setUseGPUProcess(false);551 550 #endif 552 551 … … 1579 1578 return; 1580 1579 1581 document->page()->libWebRTCProvider().setUseGPUProcess(useGPUProcess);1582 1580 document->page()->mediaRecorderProvider().setUseGPUProcess(useGPUProcess); 1583 1581 #endif -
trunk/Source/WebKit/ChangeLog
r257225 r257234 1 2020-02-24 Youenn Fablet <youenn@apple.com> 2 3 Add a runtime flag dedicated to WebRTC codecs in GPUProcess 4 https://bugs.webkit.org/show_bug.cgi?id=208136 5 6 Reviewed by Alex Christensen. 7 8 Add a runtime flag dedicated to enabling WebRTC codecs in GPUProcess. 9 Use this flag instead of the media flag. 10 11 * Shared/WebPreferences.yaml: 12 * Shared/WebPreferencesDefaultValues.h: 13 * WebProcess/Network/webrtc/LibWebRTCProvider.cpp: 14 (WebKit::LibWebRTCProvider::createDecoderFactory): 15 1 16 2020-02-24 Ellie Epskamp-Hunt <eepskamphunt@apple.com> 2 17 -
trunk/Source/WebKit/Shared/WebPreferences.yaml
r257040 r257234 591 591 category: internal 592 592 593 WebRTCPlatformCodecsInGPUProcessEnabled: 594 type: bool 595 defaultValue: DEFAULT_WEBRTC_CODECS_IN_GPUPROCESS 596 webcoreBinding: RuntimeEnabledFeatures 597 condition: ENABLE(WEB_RTC) 598 humanReadableName: "WebRTC Platform Codecs in GPU Process" 599 humanReadableDescription: "Enable WebRTC Platform Codecs in GPU Process" 600 category: experimental 601 593 602 WebRTCDTMFEnabled: 594 603 type: bool -
trunk/Source/WebKit/Shared/WebPreferencesDefaultValues.h
r255376 r257234 235 235 #if PLATFORM(MAC) 236 236 #define DEFAULT_CAPTURE_AUDIO_IN_UIPROCESS true 237 #define DEFAULT_WEBRTC_CODECS_IN_GPUPROCESS true 237 238 #else 238 239 #define DEFAULT_CAPTURE_AUDIO_IN_UIPROCESS false 240 #define DEFAULT_WEBRTC_CODECS_IN_GPUPROCESS false 239 241 #endif 240 242 -
trunk/Source/WebKit/WebProcess/Network/webrtc/LibWebRTCProvider.cpp
r256838 r257234 35 35 #include "LibWebRTCNetwork.h" 36 36 #include "WebProcess.h" 37 #include <WebCore/RuntimeEnabledFeatures.h> 37 38 #include <webrtc/api/async_resolver_factory.h> 38 39 #include <webrtc/pc/peer_connection_factory.h> … … 142 143 // We only support efficient sending of video frames with IOSURFACE 143 144 #if HAVE(IOSURFACE) && !PLATFORM(MACCATALYST) 144 LibWebRTCCodecs::setCallbacks( m_useGPUProcess);145 LibWebRTCCodecs::setCallbacks(RuntimeEnabledFeatures::sharedFeatures().webRTCPlatformCodecsInGPUProcessEnabled()); 145 146 #endif 146 147 #endif
Note: See TracChangeset
for help on using the changeset viewer.