haikuwebkit/Source/WebCore/platform/MediaCapabilitiesDecodingIn...

81 lines
3.1 KiB
C
Raw Permalink Normal View History

Add a "supportedConfiguration" dictionary to MediaCapabilitiesDecodingInfo and MediaCapabilitiesEncodingInfo https://bugs.webkit.org/show_bug.cgi?id=195763 Reviewed by Jon Lee. Source/WebCore: Test: media/mediacapabilities/mock-decodingInfo-supportedConfiguration.html Add support for a proposed addition to the Media Capabilities spec that would future-proof additional changes to Media Capabilities by allowing sites to check exactly what properties were queried by the browser when answering a decodeInfo() or enocdeInfo() query. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Modules/mediacapabilities/AudioConfiguration.idl: * Modules/mediacapabilities/MediaCapabilities.cpp: (WebCore::MediaCapabilities::decodingInfo): (WebCore::MediaCapabilities::encodingInfo): * Modules/mediacapabilities/MediaCapabilities.idl: * Modules/mediacapabilities/MediaCapabilitiesDecodingInfo.idl: * Modules/mediacapabilities/MediaCapabilitiesEncodingInfo.idl: * Modules/mediacapabilities/MediaCapabilitiesInfo.idl: * Modules/mediacapabilities/MediaDecodingConfiguration.idl: * Modules/mediacapabilities/MediaEncodingConfiguration.idl: * Modules/mediacapabilities/VideoConfiguration.idl: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * platform/MediaCapabilitiesDecodingInfo.h: Copied from Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.h. (WebCore::MediaCapabilitiesDecodingInfo::MediaCapabilitiesDecodingInfo): * platform/MediaCapabilitiesEncodingInfo.h: Copied from Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.h. (WebCore::MediaCapabilitiesEncodingInfo::MediaCapabilitiesEncodingInfo): * platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.cpp: (WebCore::createMediaPlayerDecodingConfigurationCocoa): * platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.h: * platform/graphics/gstreamer/MediaEngineConfigurationFactoryGStreamer.cpp: (WebCore::createMediaPlayerDecodingConfigurationGStreamer): * platform/graphics/gstreamer/MediaEngineConfigurationFactoryGStreamer.h: * platform/mediacapabilities/MediaEngineConfigurationFactory.cpp: (WebCore::MediaEngineConfigurationFactory::createDecodingConfiguration): (WebCore::MediaEngineConfigurationFactory::createEncodingConfiguration): * platform/mediacapabilities/MediaEngineConfigurationFactory.h: * platform/mock/MediaEngineConfigurationFactoryMock.cpp: (WebCore::MediaEngineConfigurationFactoryMock::createDecodingConfiguration): (WebCore::MediaEngineConfigurationFactoryMock::createEncodingConfiguration): * platform/mock/MediaEngineConfigurationFactoryMock.h: LayoutTests: * media/mediacapabilities/mock-decodingInfo-supportedConfiguration-expected.txt: Added. * media/mediacapabilities/mock-decodingInfo-supportedConfiguration.html: Added. Canonical link: https://commits.webkit.org/210098@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-03-15 22:02:02 +00:00
/*
* Copyright (C) 2019 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
* THE POSSIBILITY OF SUCH DAMAGE.
*/
#pragma once
#include "MediaCapabilitiesInfo.h"
#include "MediaDecodingConfiguration.h"
namespace WebCore {
struct MediaCapabilitiesDecodingInfo : MediaCapabilitiesInfo {
// FIXME(C++17): remove the following constructors once all compilers support extended
// aggregate initialization:
// <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0017r1.html>
MediaCapabilitiesDecodingInfo() = default;
MediaCapabilitiesDecodingInfo(MediaDecodingConfiguration&& supportedConfiguration)
: MediaCapabilitiesDecodingInfo({ }, WTFMove(supportedConfiguration))
{
}
MediaCapabilitiesDecodingInfo(MediaCapabilitiesInfo&& info, MediaDecodingConfiguration&& supportedConfiguration)
: MediaCapabilitiesInfo(WTFMove(info))
, supportedConfiguration(WTFMove(supportedConfiguration))
{
}
MediaDecodingConfiguration supportedConfiguration;
[GPUP] Move MediaCapabilities into the GPU process https://bugs.webkit.org/show_bug.cgi?id=219521 Reviewed by Eric Carlson. Source/WebCore: Add encode() and decode() operations to all structs used inside MediaEngineConfigurationFactory. Add the ability for clients to provide their own factories for use in MediaEngineConfigurationFactory. * Headers.cmake: * WebCore.xcodeproj/project.pbxproj: * platform/MediaCapabilitiesDecodingInfo.h: (WebCore::MediaCapabilitiesDecodingInfo::encode const): (WebCore::MediaCapabilitiesDecodingInfo::decode): * platform/MediaCapabilitiesEncodingInfo.h: (WebCore::MediaCapabilitiesEncodingInfo::encode const): (WebCore::MediaCapabilitiesEncodingInfo::decode): * platform/MediaCapabilitiesInfo.h: (WebCore::MediaCapabilitiesInfo::encode const): (WebCore::MediaCapabilitiesInfo::decode): * platform/mediacapabilities/AudioConfiguration.h: (WebCore::AudioConfiguration::encode const): (WebCore::AudioConfiguration::decode): * platform/mediacapabilities/ColorGamut.h: * platform/mediacapabilities/HdrMetadataType.h: * platform/mediacapabilities/MediaCapabilitiesLogging.h: * platform/mediacapabilities/MediaConfiguration.h: (WebCore::MediaConfiguration::encode const): (WebCore::MediaConfiguration::decode): * platform/mediacapabilities/MediaDecodingConfiguration.h: (WebCore::MediaDecodingConfiguration::encode const): (WebCore::MediaDecodingConfiguration::decode): * platform/mediacapabilities/MediaDecodingType.h: * platform/mediacapabilities/MediaEncodingConfiguration.h: (WebCore::MediaEncodingConfiguration::encode const): (WebCore::MediaEncodingConfiguration::decode): * platform/mediacapabilities/MediaEncodingType.h: * platform/mediacapabilities/MediaEngineConfigurationFactory.cpp: (WebCore::defaultFactories): (WebCore::factories): (WebCore::MediaEngineConfigurationFactory::clearFactories): (WebCore::MediaEngineConfigurationFactory::resetFactories): (WebCore::MediaEngineConfigurationFactory::installFactory): (WebCore::MediaEngineConfigurationFactory::hasDecodingConfigurationFactory): (WebCore::MediaEngineConfigurationFactory::hasEncodingConfigurationFactory): * platform/mediacapabilities/MediaEngineConfigurationFactory.h: * platform/mediacapabilities/TransferFunction.h: * platform/mediacapabilities/VideoConfiguration.h: (WebCore::VideoConfiguration::encode const): (WebCore::VideoConfiguration::decode): Source/WebKit: Add a new pair of process supplements, RemoteMediaEngineConfigurationFactory and ..Proxy. * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * GPUProcess/GPUConnectionToWebProcess.cpp: (WebKit::GPUConnectionToWebProcess::mediaEngineConfigurationFactoryProxy): (WebKit::GPUConnectionToWebProcess::dispatchMessage): * GPUProcess/GPUConnectionToWebProcess.h: * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.cpp: Added. (WebKit::RemoteMediaEngineConfigurationFactoryProxy::RemoteMediaEngineConfigurationFactoryProxy): (WebKit::createDecodingConfiguration): (WebKit::RemoteMediaEngineConfigurationFactoryProxy::createEncodingConfiguration): * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.h: Added. * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.messages.in: Added. * Sources.txt: * WebKit.xcodeproj/project.pbxproj: * WebProcess/GPU/GPUProcessConnection.cpp: (WebKit::GPUProcessConnection::mediaEngineConfigurationFactory): * WebProcess/GPU/GPUProcessConnection.h: * WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp: * WebProcess/GPU/media/RemoteAudioSourceProviderManager.h: * WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.cpp: Added. (WebKit::RemoteMediaEngineConfigurationFactory::RemoteMediaEngineConfigurationFactory): (WebKit::RemoteMediaEngineConfigurationFactory::registerFactory): (WebKit::RemoteMediaEngineConfigurationFactory::supplementName): (WebKit::RemoteMediaEngineConfigurationFactory::gpuProcessConnection): (WebKit::RemoteMediaEngineConfigurationFactory::createDecodingConfiguration): (WebKit::RemoteMediaEngineConfigurationFactory::createEncodingConfiguration): * WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.h: Copied from Source/WTF/wtf/Algorithms.h. * WebProcess/WebProcess.cpp: (WebKit::WebProcess::setUseGPUProcessForMedia): Canonical link: https://commits.webkit.org/232140@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-12-04 22:57:47 +00:00
template<class Encoder> void encode(Encoder&) const;
Remove WTF::Optional synonym for std::optional, using that class template directly instead https://bugs.webkit.org/show_bug.cgi?id=226433 Reviewed by Chris Dumez. Source/JavaScriptCore: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. * inspector/scripts/codegen/generate_objc_protocol_types_implementation.py: (ObjCProtocolTypesImplementationGenerator._generate_init_method_for_payload): Use auto instead of Optional<>. Also use * instead of value() and nest the definition of the local inside an if statement in the case where it's an optional. * inspector/scripts/tests/expected/*: Regenerated these results. Source/WebCore: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. Source/WebCore/PAL: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. Source/WebDriver: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. Source/WebKit: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. * Scripts/webkit/tests: Regenerated expected results, by running the command "python Scripts/webkit/messages_unittest.py -r". (How am I supposed to know to do that?) Source/WebKitLegacy/ios: * WebCoreSupport/WebChromeClientIOS.h: Let the do-webcore-rename script rename Optional<> to std::optional<>. Source/WebKitLegacy/mac: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. Source/WebKitLegacy/win: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. Source/WTF: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. * wtf/Optional.h: Remove WTF::Optional. Tools: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. Canonical link: https://commits.webkit.org/238290@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278253 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-05-30 16:11:40 +00:00
template<class Decoder> static std::optional<MediaCapabilitiesDecodingInfo> decode(Decoder&);
Add a "supportedConfiguration" dictionary to MediaCapabilitiesDecodingInfo and MediaCapabilitiesEncodingInfo https://bugs.webkit.org/show_bug.cgi?id=195763 Reviewed by Jon Lee. Source/WebCore: Test: media/mediacapabilities/mock-decodingInfo-supportedConfiguration.html Add support for a proposed addition to the Media Capabilities spec that would future-proof additional changes to Media Capabilities by allowing sites to check exactly what properties were queried by the browser when answering a decodeInfo() or enocdeInfo() query. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Modules/mediacapabilities/AudioConfiguration.idl: * Modules/mediacapabilities/MediaCapabilities.cpp: (WebCore::MediaCapabilities::decodingInfo): (WebCore::MediaCapabilities::encodingInfo): * Modules/mediacapabilities/MediaCapabilities.idl: * Modules/mediacapabilities/MediaCapabilitiesDecodingInfo.idl: * Modules/mediacapabilities/MediaCapabilitiesEncodingInfo.idl: * Modules/mediacapabilities/MediaCapabilitiesInfo.idl: * Modules/mediacapabilities/MediaDecodingConfiguration.idl: * Modules/mediacapabilities/MediaEncodingConfiguration.idl: * Modules/mediacapabilities/VideoConfiguration.idl: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * platform/MediaCapabilitiesDecodingInfo.h: Copied from Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.h. (WebCore::MediaCapabilitiesDecodingInfo::MediaCapabilitiesDecodingInfo): * platform/MediaCapabilitiesEncodingInfo.h: Copied from Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.h. (WebCore::MediaCapabilitiesEncodingInfo::MediaCapabilitiesEncodingInfo): * platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.cpp: (WebCore::createMediaPlayerDecodingConfigurationCocoa): * platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.h: * platform/graphics/gstreamer/MediaEngineConfigurationFactoryGStreamer.cpp: (WebCore::createMediaPlayerDecodingConfigurationGStreamer): * platform/graphics/gstreamer/MediaEngineConfigurationFactoryGStreamer.h: * platform/mediacapabilities/MediaEngineConfigurationFactory.cpp: (WebCore::MediaEngineConfigurationFactory::createDecodingConfiguration): (WebCore::MediaEngineConfigurationFactory::createEncodingConfiguration): * platform/mediacapabilities/MediaEngineConfigurationFactory.h: * platform/mock/MediaEngineConfigurationFactoryMock.cpp: (WebCore::MediaEngineConfigurationFactoryMock::createDecodingConfiguration): (WebCore::MediaEngineConfigurationFactoryMock::createEncodingConfiguration): * platform/mock/MediaEngineConfigurationFactoryMock.h: LayoutTests: * media/mediacapabilities/mock-decodingInfo-supportedConfiguration-expected.txt: Added. * media/mediacapabilities/mock-decodingInfo-supportedConfiguration.html: Added. Canonical link: https://commits.webkit.org/210098@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-03-15 22:02:02 +00:00
};
[GPUP] Move MediaCapabilities into the GPU process https://bugs.webkit.org/show_bug.cgi?id=219521 Reviewed by Eric Carlson. Source/WebCore: Add encode() and decode() operations to all structs used inside MediaEngineConfigurationFactory. Add the ability for clients to provide their own factories for use in MediaEngineConfigurationFactory. * Headers.cmake: * WebCore.xcodeproj/project.pbxproj: * platform/MediaCapabilitiesDecodingInfo.h: (WebCore::MediaCapabilitiesDecodingInfo::encode const): (WebCore::MediaCapabilitiesDecodingInfo::decode): * platform/MediaCapabilitiesEncodingInfo.h: (WebCore::MediaCapabilitiesEncodingInfo::encode const): (WebCore::MediaCapabilitiesEncodingInfo::decode): * platform/MediaCapabilitiesInfo.h: (WebCore::MediaCapabilitiesInfo::encode const): (WebCore::MediaCapabilitiesInfo::decode): * platform/mediacapabilities/AudioConfiguration.h: (WebCore::AudioConfiguration::encode const): (WebCore::AudioConfiguration::decode): * platform/mediacapabilities/ColorGamut.h: * platform/mediacapabilities/HdrMetadataType.h: * platform/mediacapabilities/MediaCapabilitiesLogging.h: * platform/mediacapabilities/MediaConfiguration.h: (WebCore::MediaConfiguration::encode const): (WebCore::MediaConfiguration::decode): * platform/mediacapabilities/MediaDecodingConfiguration.h: (WebCore::MediaDecodingConfiguration::encode const): (WebCore::MediaDecodingConfiguration::decode): * platform/mediacapabilities/MediaDecodingType.h: * platform/mediacapabilities/MediaEncodingConfiguration.h: (WebCore::MediaEncodingConfiguration::encode const): (WebCore::MediaEncodingConfiguration::decode): * platform/mediacapabilities/MediaEncodingType.h: * platform/mediacapabilities/MediaEngineConfigurationFactory.cpp: (WebCore::defaultFactories): (WebCore::factories): (WebCore::MediaEngineConfigurationFactory::clearFactories): (WebCore::MediaEngineConfigurationFactory::resetFactories): (WebCore::MediaEngineConfigurationFactory::installFactory): (WebCore::MediaEngineConfigurationFactory::hasDecodingConfigurationFactory): (WebCore::MediaEngineConfigurationFactory::hasEncodingConfigurationFactory): * platform/mediacapabilities/MediaEngineConfigurationFactory.h: * platform/mediacapabilities/TransferFunction.h: * platform/mediacapabilities/VideoConfiguration.h: (WebCore::VideoConfiguration::encode const): (WebCore::VideoConfiguration::decode): Source/WebKit: Add a new pair of process supplements, RemoteMediaEngineConfigurationFactory and ..Proxy. * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * GPUProcess/GPUConnectionToWebProcess.cpp: (WebKit::GPUConnectionToWebProcess::mediaEngineConfigurationFactoryProxy): (WebKit::GPUConnectionToWebProcess::dispatchMessage): * GPUProcess/GPUConnectionToWebProcess.h: * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.cpp: Added. (WebKit::RemoteMediaEngineConfigurationFactoryProxy::RemoteMediaEngineConfigurationFactoryProxy): (WebKit::createDecodingConfiguration): (WebKit::RemoteMediaEngineConfigurationFactoryProxy::createEncodingConfiguration): * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.h: Added. * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.messages.in: Added. * Sources.txt: * WebKit.xcodeproj/project.pbxproj: * WebProcess/GPU/GPUProcessConnection.cpp: (WebKit::GPUProcessConnection::mediaEngineConfigurationFactory): * WebProcess/GPU/GPUProcessConnection.h: * WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp: * WebProcess/GPU/media/RemoteAudioSourceProviderManager.h: * WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.cpp: Added. (WebKit::RemoteMediaEngineConfigurationFactory::RemoteMediaEngineConfigurationFactory): (WebKit::RemoteMediaEngineConfigurationFactory::registerFactory): (WebKit::RemoteMediaEngineConfigurationFactory::supplementName): (WebKit::RemoteMediaEngineConfigurationFactory::gpuProcessConnection): (WebKit::RemoteMediaEngineConfigurationFactory::createDecodingConfiguration): (WebKit::RemoteMediaEngineConfigurationFactory::createEncodingConfiguration): * WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.h: Copied from Source/WTF/wtf/Algorithms.h. * WebProcess/WebProcess.cpp: (WebKit::WebProcess::setUseGPUProcessForMedia): Canonical link: https://commits.webkit.org/232140@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-12-04 22:57:47 +00:00
template<class Encoder>
void MediaCapabilitiesDecodingInfo::encode(Encoder& encoder) const
{
MediaCapabilitiesInfo::encode(encoder);
encoder << supportedConfiguration;
Add a "supportedConfiguration" dictionary to MediaCapabilitiesDecodingInfo and MediaCapabilitiesEncodingInfo https://bugs.webkit.org/show_bug.cgi?id=195763 Reviewed by Jon Lee. Source/WebCore: Test: media/mediacapabilities/mock-decodingInfo-supportedConfiguration.html Add support for a proposed addition to the Media Capabilities spec that would future-proof additional changes to Media Capabilities by allowing sites to check exactly what properties were queried by the browser when answering a decodeInfo() or enocdeInfo() query. * CMakeLists.txt: * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * Modules/mediacapabilities/AudioConfiguration.idl: * Modules/mediacapabilities/MediaCapabilities.cpp: (WebCore::MediaCapabilities::decodingInfo): (WebCore::MediaCapabilities::encodingInfo): * Modules/mediacapabilities/MediaCapabilities.idl: * Modules/mediacapabilities/MediaCapabilitiesDecodingInfo.idl: * Modules/mediacapabilities/MediaCapabilitiesEncodingInfo.idl: * Modules/mediacapabilities/MediaCapabilitiesInfo.idl: * Modules/mediacapabilities/MediaDecodingConfiguration.idl: * Modules/mediacapabilities/MediaEncodingConfiguration.idl: * Modules/mediacapabilities/VideoConfiguration.idl: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * platform/MediaCapabilitiesDecodingInfo.h: Copied from Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.h. (WebCore::MediaCapabilitiesDecodingInfo::MediaCapabilitiesDecodingInfo): * platform/MediaCapabilitiesEncodingInfo.h: Copied from Source/WebCore/platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.h. (WebCore::MediaCapabilitiesEncodingInfo::MediaCapabilitiesEncodingInfo): * platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.cpp: (WebCore::createMediaPlayerDecodingConfigurationCocoa): * platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.h: * platform/graphics/gstreamer/MediaEngineConfigurationFactoryGStreamer.cpp: (WebCore::createMediaPlayerDecodingConfigurationGStreamer): * platform/graphics/gstreamer/MediaEngineConfigurationFactoryGStreamer.h: * platform/mediacapabilities/MediaEngineConfigurationFactory.cpp: (WebCore::MediaEngineConfigurationFactory::createDecodingConfiguration): (WebCore::MediaEngineConfigurationFactory::createEncodingConfiguration): * platform/mediacapabilities/MediaEngineConfigurationFactory.h: * platform/mock/MediaEngineConfigurationFactoryMock.cpp: (WebCore::MediaEngineConfigurationFactoryMock::createDecodingConfiguration): (WebCore::MediaEngineConfigurationFactoryMock::createEncodingConfiguration): * platform/mock/MediaEngineConfigurationFactoryMock.h: LayoutTests: * media/mediacapabilities/mock-decodingInfo-supportedConfiguration-expected.txt: Added. * media/mediacapabilities/mock-decodingInfo-supportedConfiguration.html: Added. Canonical link: https://commits.webkit.org/210098@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@243014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-03-15 22:02:02 +00:00
}
[GPUP] Move MediaCapabilities into the GPU process https://bugs.webkit.org/show_bug.cgi?id=219521 Reviewed by Eric Carlson. Source/WebCore: Add encode() and decode() operations to all structs used inside MediaEngineConfigurationFactory. Add the ability for clients to provide their own factories for use in MediaEngineConfigurationFactory. * Headers.cmake: * WebCore.xcodeproj/project.pbxproj: * platform/MediaCapabilitiesDecodingInfo.h: (WebCore::MediaCapabilitiesDecodingInfo::encode const): (WebCore::MediaCapabilitiesDecodingInfo::decode): * platform/MediaCapabilitiesEncodingInfo.h: (WebCore::MediaCapabilitiesEncodingInfo::encode const): (WebCore::MediaCapabilitiesEncodingInfo::decode): * platform/MediaCapabilitiesInfo.h: (WebCore::MediaCapabilitiesInfo::encode const): (WebCore::MediaCapabilitiesInfo::decode): * platform/mediacapabilities/AudioConfiguration.h: (WebCore::AudioConfiguration::encode const): (WebCore::AudioConfiguration::decode): * platform/mediacapabilities/ColorGamut.h: * platform/mediacapabilities/HdrMetadataType.h: * platform/mediacapabilities/MediaCapabilitiesLogging.h: * platform/mediacapabilities/MediaConfiguration.h: (WebCore::MediaConfiguration::encode const): (WebCore::MediaConfiguration::decode): * platform/mediacapabilities/MediaDecodingConfiguration.h: (WebCore::MediaDecodingConfiguration::encode const): (WebCore::MediaDecodingConfiguration::decode): * platform/mediacapabilities/MediaDecodingType.h: * platform/mediacapabilities/MediaEncodingConfiguration.h: (WebCore::MediaEncodingConfiguration::encode const): (WebCore::MediaEncodingConfiguration::decode): * platform/mediacapabilities/MediaEncodingType.h: * platform/mediacapabilities/MediaEngineConfigurationFactory.cpp: (WebCore::defaultFactories): (WebCore::factories): (WebCore::MediaEngineConfigurationFactory::clearFactories): (WebCore::MediaEngineConfigurationFactory::resetFactories): (WebCore::MediaEngineConfigurationFactory::installFactory): (WebCore::MediaEngineConfigurationFactory::hasDecodingConfigurationFactory): (WebCore::MediaEngineConfigurationFactory::hasEncodingConfigurationFactory): * platform/mediacapabilities/MediaEngineConfigurationFactory.h: * platform/mediacapabilities/TransferFunction.h: * platform/mediacapabilities/VideoConfiguration.h: (WebCore::VideoConfiguration::encode const): (WebCore::VideoConfiguration::decode): Source/WebKit: Add a new pair of process supplements, RemoteMediaEngineConfigurationFactory and ..Proxy. * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * GPUProcess/GPUConnectionToWebProcess.cpp: (WebKit::GPUConnectionToWebProcess::mediaEngineConfigurationFactoryProxy): (WebKit::GPUConnectionToWebProcess::dispatchMessage): * GPUProcess/GPUConnectionToWebProcess.h: * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.cpp: Added. (WebKit::RemoteMediaEngineConfigurationFactoryProxy::RemoteMediaEngineConfigurationFactoryProxy): (WebKit::createDecodingConfiguration): (WebKit::RemoteMediaEngineConfigurationFactoryProxy::createEncodingConfiguration): * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.h: Added. * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.messages.in: Added. * Sources.txt: * WebKit.xcodeproj/project.pbxproj: * WebProcess/GPU/GPUProcessConnection.cpp: (WebKit::GPUProcessConnection::mediaEngineConfigurationFactory): * WebProcess/GPU/GPUProcessConnection.h: * WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp: * WebProcess/GPU/media/RemoteAudioSourceProviderManager.h: * WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.cpp: Added. (WebKit::RemoteMediaEngineConfigurationFactory::RemoteMediaEngineConfigurationFactory): (WebKit::RemoteMediaEngineConfigurationFactory::registerFactory): (WebKit::RemoteMediaEngineConfigurationFactory::supplementName): (WebKit::RemoteMediaEngineConfigurationFactory::gpuProcessConnection): (WebKit::RemoteMediaEngineConfigurationFactory::createDecodingConfiguration): (WebKit::RemoteMediaEngineConfigurationFactory::createEncodingConfiguration): * WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.h: Copied from Source/WTF/wtf/Algorithms.h. * WebProcess/WebProcess.cpp: (WebKit::WebProcess::setUseGPUProcessForMedia): Canonical link: https://commits.webkit.org/232140@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-12-04 22:57:47 +00:00
template<class Decoder>
Remove WTF::Optional synonym for std::optional, using that class template directly instead https://bugs.webkit.org/show_bug.cgi?id=226433 Reviewed by Chris Dumez. Source/JavaScriptCore: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. * inspector/scripts/codegen/generate_objc_protocol_types_implementation.py: (ObjCProtocolTypesImplementationGenerator._generate_init_method_for_payload): Use auto instead of Optional<>. Also use * instead of value() and nest the definition of the local inside an if statement in the case where it's an optional. * inspector/scripts/tests/expected/*: Regenerated these results. Source/WebCore: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. Source/WebCore/PAL: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. Source/WebDriver: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. Source/WebKit: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. * Scripts/webkit/tests: Regenerated expected results, by running the command "python Scripts/webkit/messages_unittest.py -r". (How am I supposed to know to do that?) Source/WebKitLegacy/ios: * WebCoreSupport/WebChromeClientIOS.h: Let the do-webcore-rename script rename Optional<> to std::optional<>. Source/WebKitLegacy/mac: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. Source/WebKitLegacy/win: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. Source/WTF: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. * wtf/Optional.h: Remove WTF::Optional. Tools: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. Canonical link: https://commits.webkit.org/238290@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278253 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-05-30 16:11:40 +00:00
std::optional<MediaCapabilitiesDecodingInfo> MediaCapabilitiesDecodingInfo::decode(Decoder& decoder)
[GPUP] Move MediaCapabilities into the GPU process https://bugs.webkit.org/show_bug.cgi?id=219521 Reviewed by Eric Carlson. Source/WebCore: Add encode() and decode() operations to all structs used inside MediaEngineConfigurationFactory. Add the ability for clients to provide their own factories for use in MediaEngineConfigurationFactory. * Headers.cmake: * WebCore.xcodeproj/project.pbxproj: * platform/MediaCapabilitiesDecodingInfo.h: (WebCore::MediaCapabilitiesDecodingInfo::encode const): (WebCore::MediaCapabilitiesDecodingInfo::decode): * platform/MediaCapabilitiesEncodingInfo.h: (WebCore::MediaCapabilitiesEncodingInfo::encode const): (WebCore::MediaCapabilitiesEncodingInfo::decode): * platform/MediaCapabilitiesInfo.h: (WebCore::MediaCapabilitiesInfo::encode const): (WebCore::MediaCapabilitiesInfo::decode): * platform/mediacapabilities/AudioConfiguration.h: (WebCore::AudioConfiguration::encode const): (WebCore::AudioConfiguration::decode): * platform/mediacapabilities/ColorGamut.h: * platform/mediacapabilities/HdrMetadataType.h: * platform/mediacapabilities/MediaCapabilitiesLogging.h: * platform/mediacapabilities/MediaConfiguration.h: (WebCore::MediaConfiguration::encode const): (WebCore::MediaConfiguration::decode): * platform/mediacapabilities/MediaDecodingConfiguration.h: (WebCore::MediaDecodingConfiguration::encode const): (WebCore::MediaDecodingConfiguration::decode): * platform/mediacapabilities/MediaDecodingType.h: * platform/mediacapabilities/MediaEncodingConfiguration.h: (WebCore::MediaEncodingConfiguration::encode const): (WebCore::MediaEncodingConfiguration::decode): * platform/mediacapabilities/MediaEncodingType.h: * platform/mediacapabilities/MediaEngineConfigurationFactory.cpp: (WebCore::defaultFactories): (WebCore::factories): (WebCore::MediaEngineConfigurationFactory::clearFactories): (WebCore::MediaEngineConfigurationFactory::resetFactories): (WebCore::MediaEngineConfigurationFactory::installFactory): (WebCore::MediaEngineConfigurationFactory::hasDecodingConfigurationFactory): (WebCore::MediaEngineConfigurationFactory::hasEncodingConfigurationFactory): * platform/mediacapabilities/MediaEngineConfigurationFactory.h: * platform/mediacapabilities/TransferFunction.h: * platform/mediacapabilities/VideoConfiguration.h: (WebCore::VideoConfiguration::encode const): (WebCore::VideoConfiguration::decode): Source/WebKit: Add a new pair of process supplements, RemoteMediaEngineConfigurationFactory and ..Proxy. * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * GPUProcess/GPUConnectionToWebProcess.cpp: (WebKit::GPUConnectionToWebProcess::mediaEngineConfigurationFactoryProxy): (WebKit::GPUConnectionToWebProcess::dispatchMessage): * GPUProcess/GPUConnectionToWebProcess.h: * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.cpp: Added. (WebKit::RemoteMediaEngineConfigurationFactoryProxy::RemoteMediaEngineConfigurationFactoryProxy): (WebKit::createDecodingConfiguration): (WebKit::RemoteMediaEngineConfigurationFactoryProxy::createEncodingConfiguration): * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.h: Added. * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.messages.in: Added. * Sources.txt: * WebKit.xcodeproj/project.pbxproj: * WebProcess/GPU/GPUProcessConnection.cpp: (WebKit::GPUProcessConnection::mediaEngineConfigurationFactory): * WebProcess/GPU/GPUProcessConnection.h: * WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp: * WebProcess/GPU/media/RemoteAudioSourceProviderManager.h: * WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.cpp: Added. (WebKit::RemoteMediaEngineConfigurationFactory::RemoteMediaEngineConfigurationFactory): (WebKit::RemoteMediaEngineConfigurationFactory::registerFactory): (WebKit::RemoteMediaEngineConfigurationFactory::supplementName): (WebKit::RemoteMediaEngineConfigurationFactory::gpuProcessConnection): (WebKit::RemoteMediaEngineConfigurationFactory::createDecodingConfiguration): (WebKit::RemoteMediaEngineConfigurationFactory::createEncodingConfiguration): * WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.h: Copied from Source/WTF/wtf/Algorithms.h. * WebProcess/WebProcess.cpp: (WebKit::WebProcess::setUseGPUProcessForMedia): Canonical link: https://commits.webkit.org/232140@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-12-04 22:57:47 +00:00
{
auto info = MediaCapabilitiesInfo::decode(decoder);
if (!info)
Next step toward using std::optional directly instead of through WTF::Optional typedef https://bugs.webkit.org/show_bug.cgi?id=226280 Reviewed by Chris Dumez. Source/JavaScriptCore: * <many files>: Accept the renaming done by do-webcore-rename. * yarr/YarrSyntaxChecker.cpp: Since the style checker complained about this file, tweaked style to make it happy after the renaming done by do-webcore-rename, and also hand-updated Optional to std::optional as long as we were touching it. Source/WebCore: * <many files>: Accept the renaming done by do-webcore-rename. * Modules/webauthn/fido/DeviceRequestConverter.h: Since style checker complained about the names of some arguments, fixed them, and also hand-updated Optional to std::optional as long as we were touching it. * loader/EmptyClients.cpp: Since style checker complained about the mix of WEBCORE_EXPORT and inlined functions, moved them out of line, and also hand-updated Optional to std::optional as long as we were touching it. Also removed is<EmptyFrameLoaderClient>(). * loader/EmptyFrameLoaderClient.h: Ditto. Source/WebCore/PAL: * <many files>: Accept the renaming done by do-webcore-rename. Source/WebDriver: * <many files>: Accept the renaming done by do-webcore-rename. Source/WebKit: * <many files>: Accept the renaming done by do-webcore-rename. Source/WebKitLegacy: * Storage/StorageTracker.cpp: (WebKit::StorageTracker::diskUsageForOrigin): Accept the renaming done by do-webcore-rename. Source/WebKitLegacy/mac: * <many files>: Accept the renaming done by do-webcore-rename. Source/WebKitLegacy/win: * <many files>: Accept the renaming done by do-webcore-rename. Source/WTF: * <many files>: Accept the renaming done by do-webcore-rename. * wtf/Optional.h: Remove WTF::nullopt_t and WTF::makeOptional. * wtf/URLHelpers.cpp: (WTF::URLHelpers::mapHostName): Convert from nullopt to std::nullopt. Tools: * Scripts/do-webcore-rename: Use script to rename valueOr, WTF::nullopt, WTF::nullopt_t, WTF::Optional, WTF::makeOptional, and makeOptional. Other renamings can't necessarily be done by the script and so will be done in later passes. * <many files>: Accept the renaming done by do-webcore-rename. Canonical link: https://commits.webkit.org/238228@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278185 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-05-28 01:26:23 +00:00
return std::nullopt;
[GPUP] Move MediaCapabilities into the GPU process https://bugs.webkit.org/show_bug.cgi?id=219521 Reviewed by Eric Carlson. Source/WebCore: Add encode() and decode() operations to all structs used inside MediaEngineConfigurationFactory. Add the ability for clients to provide their own factories for use in MediaEngineConfigurationFactory. * Headers.cmake: * WebCore.xcodeproj/project.pbxproj: * platform/MediaCapabilitiesDecodingInfo.h: (WebCore::MediaCapabilitiesDecodingInfo::encode const): (WebCore::MediaCapabilitiesDecodingInfo::decode): * platform/MediaCapabilitiesEncodingInfo.h: (WebCore::MediaCapabilitiesEncodingInfo::encode const): (WebCore::MediaCapabilitiesEncodingInfo::decode): * platform/MediaCapabilitiesInfo.h: (WebCore::MediaCapabilitiesInfo::encode const): (WebCore::MediaCapabilitiesInfo::decode): * platform/mediacapabilities/AudioConfiguration.h: (WebCore::AudioConfiguration::encode const): (WebCore::AudioConfiguration::decode): * platform/mediacapabilities/ColorGamut.h: * platform/mediacapabilities/HdrMetadataType.h: * platform/mediacapabilities/MediaCapabilitiesLogging.h: * platform/mediacapabilities/MediaConfiguration.h: (WebCore::MediaConfiguration::encode const): (WebCore::MediaConfiguration::decode): * platform/mediacapabilities/MediaDecodingConfiguration.h: (WebCore::MediaDecodingConfiguration::encode const): (WebCore::MediaDecodingConfiguration::decode): * platform/mediacapabilities/MediaDecodingType.h: * platform/mediacapabilities/MediaEncodingConfiguration.h: (WebCore::MediaEncodingConfiguration::encode const): (WebCore::MediaEncodingConfiguration::decode): * platform/mediacapabilities/MediaEncodingType.h: * platform/mediacapabilities/MediaEngineConfigurationFactory.cpp: (WebCore::defaultFactories): (WebCore::factories): (WebCore::MediaEngineConfigurationFactory::clearFactories): (WebCore::MediaEngineConfigurationFactory::resetFactories): (WebCore::MediaEngineConfigurationFactory::installFactory): (WebCore::MediaEngineConfigurationFactory::hasDecodingConfigurationFactory): (WebCore::MediaEngineConfigurationFactory::hasEncodingConfigurationFactory): * platform/mediacapabilities/MediaEngineConfigurationFactory.h: * platform/mediacapabilities/TransferFunction.h: * platform/mediacapabilities/VideoConfiguration.h: (WebCore::VideoConfiguration::encode const): (WebCore::VideoConfiguration::decode): Source/WebKit: Add a new pair of process supplements, RemoteMediaEngineConfigurationFactory and ..Proxy. * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * GPUProcess/GPUConnectionToWebProcess.cpp: (WebKit::GPUConnectionToWebProcess::mediaEngineConfigurationFactoryProxy): (WebKit::GPUConnectionToWebProcess::dispatchMessage): * GPUProcess/GPUConnectionToWebProcess.h: * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.cpp: Added. (WebKit::RemoteMediaEngineConfigurationFactoryProxy::RemoteMediaEngineConfigurationFactoryProxy): (WebKit::createDecodingConfiguration): (WebKit::RemoteMediaEngineConfigurationFactoryProxy::createEncodingConfiguration): * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.h: Added. * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.messages.in: Added. * Sources.txt: * WebKit.xcodeproj/project.pbxproj: * WebProcess/GPU/GPUProcessConnection.cpp: (WebKit::GPUProcessConnection::mediaEngineConfigurationFactory): * WebProcess/GPU/GPUProcessConnection.h: * WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp: * WebProcess/GPU/media/RemoteAudioSourceProviderManager.h: * WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.cpp: Added. (WebKit::RemoteMediaEngineConfigurationFactory::RemoteMediaEngineConfigurationFactory): (WebKit::RemoteMediaEngineConfigurationFactory::registerFactory): (WebKit::RemoteMediaEngineConfigurationFactory::supplementName): (WebKit::RemoteMediaEngineConfigurationFactory::gpuProcessConnection): (WebKit::RemoteMediaEngineConfigurationFactory::createDecodingConfiguration): (WebKit::RemoteMediaEngineConfigurationFactory::createEncodingConfiguration): * WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.h: Copied from Source/WTF/wtf/Algorithms.h. * WebProcess/WebProcess.cpp: (WebKit::WebProcess::setUseGPUProcessForMedia): Canonical link: https://commits.webkit.org/232140@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-12-04 22:57:47 +00:00
Remove WTF::Optional synonym for std::optional, using that class template directly instead https://bugs.webkit.org/show_bug.cgi?id=226433 Reviewed by Chris Dumez. Source/JavaScriptCore: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. * inspector/scripts/codegen/generate_objc_protocol_types_implementation.py: (ObjCProtocolTypesImplementationGenerator._generate_init_method_for_payload): Use auto instead of Optional<>. Also use * instead of value() and nest the definition of the local inside an if statement in the case where it's an optional. * inspector/scripts/tests/expected/*: Regenerated these results. Source/WebCore: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. Source/WebCore/PAL: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. Source/WebDriver: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. Source/WebKit: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. * Scripts/webkit/tests: Regenerated expected results, by running the command "python Scripts/webkit/messages_unittest.py -r". (How am I supposed to know to do that?) Source/WebKitLegacy/ios: * WebCoreSupport/WebChromeClientIOS.h: Let the do-webcore-rename script rename Optional<> to std::optional<>. Source/WebKitLegacy/mac: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. Source/WebKitLegacy/win: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. Source/WTF: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. * wtf/Optional.h: Remove WTF::Optional. Tools: * <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>. Canonical link: https://commits.webkit.org/238290@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278253 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-05-30 16:11:40 +00:00
std::optional<MediaDecodingConfiguration> supportedConfiguration;
[GPUP] Move MediaCapabilities into the GPU process https://bugs.webkit.org/show_bug.cgi?id=219521 Reviewed by Eric Carlson. Source/WebCore: Add encode() and decode() operations to all structs used inside MediaEngineConfigurationFactory. Add the ability for clients to provide their own factories for use in MediaEngineConfigurationFactory. * Headers.cmake: * WebCore.xcodeproj/project.pbxproj: * platform/MediaCapabilitiesDecodingInfo.h: (WebCore::MediaCapabilitiesDecodingInfo::encode const): (WebCore::MediaCapabilitiesDecodingInfo::decode): * platform/MediaCapabilitiesEncodingInfo.h: (WebCore::MediaCapabilitiesEncodingInfo::encode const): (WebCore::MediaCapabilitiesEncodingInfo::decode): * platform/MediaCapabilitiesInfo.h: (WebCore::MediaCapabilitiesInfo::encode const): (WebCore::MediaCapabilitiesInfo::decode): * platform/mediacapabilities/AudioConfiguration.h: (WebCore::AudioConfiguration::encode const): (WebCore::AudioConfiguration::decode): * platform/mediacapabilities/ColorGamut.h: * platform/mediacapabilities/HdrMetadataType.h: * platform/mediacapabilities/MediaCapabilitiesLogging.h: * platform/mediacapabilities/MediaConfiguration.h: (WebCore::MediaConfiguration::encode const): (WebCore::MediaConfiguration::decode): * platform/mediacapabilities/MediaDecodingConfiguration.h: (WebCore::MediaDecodingConfiguration::encode const): (WebCore::MediaDecodingConfiguration::decode): * platform/mediacapabilities/MediaDecodingType.h: * platform/mediacapabilities/MediaEncodingConfiguration.h: (WebCore::MediaEncodingConfiguration::encode const): (WebCore::MediaEncodingConfiguration::decode): * platform/mediacapabilities/MediaEncodingType.h: * platform/mediacapabilities/MediaEngineConfigurationFactory.cpp: (WebCore::defaultFactories): (WebCore::factories): (WebCore::MediaEngineConfigurationFactory::clearFactories): (WebCore::MediaEngineConfigurationFactory::resetFactories): (WebCore::MediaEngineConfigurationFactory::installFactory): (WebCore::MediaEngineConfigurationFactory::hasDecodingConfigurationFactory): (WebCore::MediaEngineConfigurationFactory::hasEncodingConfigurationFactory): * platform/mediacapabilities/MediaEngineConfigurationFactory.h: * platform/mediacapabilities/TransferFunction.h: * platform/mediacapabilities/VideoConfiguration.h: (WebCore::VideoConfiguration::encode const): (WebCore::VideoConfiguration::decode): Source/WebKit: Add a new pair of process supplements, RemoteMediaEngineConfigurationFactory and ..Proxy. * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * GPUProcess/GPUConnectionToWebProcess.cpp: (WebKit::GPUConnectionToWebProcess::mediaEngineConfigurationFactoryProxy): (WebKit::GPUConnectionToWebProcess::dispatchMessage): * GPUProcess/GPUConnectionToWebProcess.h: * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.cpp: Added. (WebKit::RemoteMediaEngineConfigurationFactoryProxy::RemoteMediaEngineConfigurationFactoryProxy): (WebKit::createDecodingConfiguration): (WebKit::RemoteMediaEngineConfigurationFactoryProxy::createEncodingConfiguration): * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.h: Added. * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.messages.in: Added. * Sources.txt: * WebKit.xcodeproj/project.pbxproj: * WebProcess/GPU/GPUProcessConnection.cpp: (WebKit::GPUProcessConnection::mediaEngineConfigurationFactory): * WebProcess/GPU/GPUProcessConnection.h: * WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp: * WebProcess/GPU/media/RemoteAudioSourceProviderManager.h: * WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.cpp: Added. (WebKit::RemoteMediaEngineConfigurationFactory::RemoteMediaEngineConfigurationFactory): (WebKit::RemoteMediaEngineConfigurationFactory::registerFactory): (WebKit::RemoteMediaEngineConfigurationFactory::supplementName): (WebKit::RemoteMediaEngineConfigurationFactory::gpuProcessConnection): (WebKit::RemoteMediaEngineConfigurationFactory::createDecodingConfiguration): (WebKit::RemoteMediaEngineConfigurationFactory::createEncodingConfiguration): * WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.h: Copied from Source/WTF/wtf/Algorithms.h. * WebProcess/WebProcess.cpp: (WebKit::WebProcess::setUseGPUProcessForMedia): Canonical link: https://commits.webkit.org/232140@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-12-04 22:57:47 +00:00
decoder >> supportedConfiguration;
if (!supportedConfiguration)
Next step toward using std::optional directly instead of through WTF::Optional typedef https://bugs.webkit.org/show_bug.cgi?id=226280 Reviewed by Chris Dumez. Source/JavaScriptCore: * <many files>: Accept the renaming done by do-webcore-rename. * yarr/YarrSyntaxChecker.cpp: Since the style checker complained about this file, tweaked style to make it happy after the renaming done by do-webcore-rename, and also hand-updated Optional to std::optional as long as we were touching it. Source/WebCore: * <many files>: Accept the renaming done by do-webcore-rename. * Modules/webauthn/fido/DeviceRequestConverter.h: Since style checker complained about the names of some arguments, fixed them, and also hand-updated Optional to std::optional as long as we were touching it. * loader/EmptyClients.cpp: Since style checker complained about the mix of WEBCORE_EXPORT and inlined functions, moved them out of line, and also hand-updated Optional to std::optional as long as we were touching it. Also removed is<EmptyFrameLoaderClient>(). * loader/EmptyFrameLoaderClient.h: Ditto. Source/WebCore/PAL: * <many files>: Accept the renaming done by do-webcore-rename. Source/WebDriver: * <many files>: Accept the renaming done by do-webcore-rename. Source/WebKit: * <many files>: Accept the renaming done by do-webcore-rename. Source/WebKitLegacy: * Storage/StorageTracker.cpp: (WebKit::StorageTracker::diskUsageForOrigin): Accept the renaming done by do-webcore-rename. Source/WebKitLegacy/mac: * <many files>: Accept the renaming done by do-webcore-rename. Source/WebKitLegacy/win: * <many files>: Accept the renaming done by do-webcore-rename. Source/WTF: * <many files>: Accept the renaming done by do-webcore-rename. * wtf/Optional.h: Remove WTF::nullopt_t and WTF::makeOptional. * wtf/URLHelpers.cpp: (WTF::URLHelpers::mapHostName): Convert from nullopt to std::nullopt. Tools: * Scripts/do-webcore-rename: Use script to rename valueOr, WTF::nullopt, WTF::nullopt_t, WTF::Optional, WTF::makeOptional, and makeOptional. Other renamings can't necessarily be done by the script and so will be done in later passes. * <many files>: Accept the renaming done by do-webcore-rename. Canonical link: https://commits.webkit.org/238228@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278185 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2021-05-28 01:26:23 +00:00
return std::nullopt;
[GPUP] Move MediaCapabilities into the GPU process https://bugs.webkit.org/show_bug.cgi?id=219521 Reviewed by Eric Carlson. Source/WebCore: Add encode() and decode() operations to all structs used inside MediaEngineConfigurationFactory. Add the ability for clients to provide their own factories for use in MediaEngineConfigurationFactory. * Headers.cmake: * WebCore.xcodeproj/project.pbxproj: * platform/MediaCapabilitiesDecodingInfo.h: (WebCore::MediaCapabilitiesDecodingInfo::encode const): (WebCore::MediaCapabilitiesDecodingInfo::decode): * platform/MediaCapabilitiesEncodingInfo.h: (WebCore::MediaCapabilitiesEncodingInfo::encode const): (WebCore::MediaCapabilitiesEncodingInfo::decode): * platform/MediaCapabilitiesInfo.h: (WebCore::MediaCapabilitiesInfo::encode const): (WebCore::MediaCapabilitiesInfo::decode): * platform/mediacapabilities/AudioConfiguration.h: (WebCore::AudioConfiguration::encode const): (WebCore::AudioConfiguration::decode): * platform/mediacapabilities/ColorGamut.h: * platform/mediacapabilities/HdrMetadataType.h: * platform/mediacapabilities/MediaCapabilitiesLogging.h: * platform/mediacapabilities/MediaConfiguration.h: (WebCore::MediaConfiguration::encode const): (WebCore::MediaConfiguration::decode): * platform/mediacapabilities/MediaDecodingConfiguration.h: (WebCore::MediaDecodingConfiguration::encode const): (WebCore::MediaDecodingConfiguration::decode): * platform/mediacapabilities/MediaDecodingType.h: * platform/mediacapabilities/MediaEncodingConfiguration.h: (WebCore::MediaEncodingConfiguration::encode const): (WebCore::MediaEncodingConfiguration::decode): * platform/mediacapabilities/MediaEncodingType.h: * platform/mediacapabilities/MediaEngineConfigurationFactory.cpp: (WebCore::defaultFactories): (WebCore::factories): (WebCore::MediaEngineConfigurationFactory::clearFactories): (WebCore::MediaEngineConfigurationFactory::resetFactories): (WebCore::MediaEngineConfigurationFactory::installFactory): (WebCore::MediaEngineConfigurationFactory::hasDecodingConfigurationFactory): (WebCore::MediaEngineConfigurationFactory::hasEncodingConfigurationFactory): * platform/mediacapabilities/MediaEngineConfigurationFactory.h: * platform/mediacapabilities/TransferFunction.h: * platform/mediacapabilities/VideoConfiguration.h: (WebCore::VideoConfiguration::encode const): (WebCore::VideoConfiguration::decode): Source/WebKit: Add a new pair of process supplements, RemoteMediaEngineConfigurationFactory and ..Proxy. * DerivedSources-input.xcfilelist: * DerivedSources-output.xcfilelist: * DerivedSources.make: * GPUProcess/GPUConnectionToWebProcess.cpp: (WebKit::GPUConnectionToWebProcess::mediaEngineConfigurationFactoryProxy): (WebKit::GPUConnectionToWebProcess::dispatchMessage): * GPUProcess/GPUConnectionToWebProcess.h: * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.cpp: Added. (WebKit::RemoteMediaEngineConfigurationFactoryProxy::RemoteMediaEngineConfigurationFactoryProxy): (WebKit::createDecodingConfiguration): (WebKit::RemoteMediaEngineConfigurationFactoryProxy::createEncodingConfiguration): * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.h: Added. * GPUProcess/media/RemoteMediaEngineConfigurationFactoryProxy.messages.in: Added. * Sources.txt: * WebKit.xcodeproj/project.pbxproj: * WebProcess/GPU/GPUProcessConnection.cpp: (WebKit::GPUProcessConnection::mediaEngineConfigurationFactory): * WebProcess/GPU/GPUProcessConnection.h: * WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp: * WebProcess/GPU/media/RemoteAudioSourceProviderManager.h: * WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.cpp: Added. (WebKit::RemoteMediaEngineConfigurationFactory::RemoteMediaEngineConfigurationFactory): (WebKit::RemoteMediaEngineConfigurationFactory::registerFactory): (WebKit::RemoteMediaEngineConfigurationFactory::supplementName): (WebKit::RemoteMediaEngineConfigurationFactory::gpuProcessConnection): (WebKit::RemoteMediaEngineConfigurationFactory::createDecodingConfiguration): (WebKit::RemoteMediaEngineConfigurationFactory::createEncodingConfiguration): * WebProcess/GPU/media/RemoteMediaEngineConfigurationFactory.h: Copied from Source/WTF/wtf/Algorithms.h. * WebProcess/WebProcess.cpp: (WebKit::WebProcess::setUseGPUProcessForMedia): Canonical link: https://commits.webkit.org/232140@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@270462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-12-04 22:57:47 +00:00
return MediaCapabilitiesDecodingInfo(
WTFMove(*info),
WTFMove(*supportedConfiguration)
);
}
} // namespace WebCore