Bug 294668
| Summary: | [WPE] Errors building with libwebrtc enabled | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Miguel Gomez <magomez> |
| Component: | WPE WebKit | Assignee: | Philippe Normand <philn> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | bugs-noreply, philn |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Miguel Gomez
This is the error:
In file included from /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-78.cpp:6:
/host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediastream/libwebrtc/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp: In member function ‘void WebCore::RealtimeOutgoingAudioSourceLibWebRTC::pullAudioData()’:
/host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediastream/libwebrtc/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:115:96: error: ‘T* WTF::Vector< <template-parameter-1-1>, <anonymous>, <template-parameter-1-3>, <anonymous>, <template-parameter-1-5> >::data() [with T = unsigned char; long unsigned int inlineCapacity = 0; OverflowHandler = WTF::CrashOnOverflow; long unsigned int minCapacity = 16; Malloc = WTF::FastMalloc]’ is private within this context
115 | webkitGstAudioFormatFillSilence(m_outputStreamDescription.finfo, m_audioBuffer.data(), outBufferSize);
| ~~~~~~~~~~~~~~~~~~^~
In file included from /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WTF/Headers/wtf/text/StringImpl.h:38,
from /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WTF/Headers/wtf/text/UniquedStringImpl.h:28,
from /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WTF/Headers/wtf/text/AtomStringImpl.h:24,
from /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WTF/Headers/wtf/text/AtomString.h:24,
from /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WTF/Headers/wtf/text/StringHash.h:26,
from /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WTF/Headers/wtf/JSONValues.h:37,
from /host/home/magomez/webkit/WebKit/Source/WebCore/platform/graphics/IntSize.h:30,
from /host/home/magomez/webkit/WebKit/Source/WebCore/platform/graphics/IntPoint.h:28,
from /host/home/magomez/webkit/WebKit/Source/WebCore/platform/graphics/FloatSize.h:31,
from /host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoEncoderFactory.cpp:26,
from /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-78.cpp:1:
/host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WTF/Headers/wtf/Vector.h:1032:8: note: declared private here
1032 | T* data() LIFETIME_BOUND { return Base::buffer(); }
| ^~~~
/host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediastream/libwebrtc/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:120:51: error: ‘T* WTF::Vector< <template-parameter-1-1>, <anonymous>, <template-parameter-1-3>, <anonymous>, <template-parameter-1-5> >::data() [with T = unsigned char; long unsigned int inlineCapacity = 0; OverflowHandler = WTF::CrashOnOverflow; long unsigned int minCapacity = 16; Malloc = WTF::FastMalloc]’ is private within this context
120 | gpointer out[1] = { m_audioBuffer.data() };
| ~~~~~~~~~~~~~~~~~~^~
/host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WTF/Headers/wtf/Vector.h:1032:8: note: declared private here
1032 | T* data() LIFETIME_BOUND { return Base::buffer(); }
Which seems to happen because Vector::data() has recently been made private.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Miguel Gomez
Adding also this error besides the previous one:
In file included from /host/home/magomez/webkit/WebKit/Source/WebCore/platform/MediaCapabilitiesEncodingInfo.h:29,
from /host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:37,
from /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-77.cpp:5:
In copy constructor ‘constexpr WebCore::MediaEncodingConfiguration::MediaEncodingConfiguration(const WebCore::MediaEncodingConfiguration&)’,
inlined from ‘constexpr WebCore::MediaCapabilitiesEncodingInfo::MediaCapabilitiesEncodingInfo(const WebCore::MediaCapabilitiesEncodingInfo&)’ at /host/home/magomez/webkit/WebKit/Source/WebCore/platform/MediaCapabilitiesEncodingInfo.h:33:8,
inlined from ‘constexpr std::_Optional_payload_base<_Tp>::_Storage<_Up, false>::_Storage(std::in_place_t, _Args&& ...) [with _Args = {WebCore::MediaCapabilitiesEncodingInfo&}; _Up = WebCore::MediaCapabilitiesEncodingInfo; _Tp = WebCore::MediaCapabilitiesEncodingInfo]’ at /usr/include/c++/12/optional:244:8,
inlined from ‘constexpr std::_Optional_payload_base<_Tp>::_Optional_payload_base(std::in_place_t, _Args&& ...) [with _Args = {WebCore::MediaCapabilitiesEncodingInfo&}; _Tp = WebCore::MediaCapabilitiesEncodingInfo]’ at /usr/include/c++/12/optional:126:4,
inlined from ‘constexpr std::_Optional_payload<WebCore::MediaCapabilitiesEncodingInfo, true, false, false>::_Optional_payload(std::in_place_t, _Args&& ...) [with _Args = {WebCore::MediaCapabilitiesEncodingInfo&}][inherited from std::_Optional_payload_base<WebCore::MediaCapabilitiesEncodingInfo>]’ at /usr/include/c++/12/optional:397:42,
inlined from ‘constexpr std::_Optional_payload<WebCore::MediaCapabilitiesEncodingInfo, false, false, false>::_Optional_payload(std::in_place_t, _Args&& ...) [with _Args = {WebCore::MediaCapabilitiesEncodingInfo&}][inherited from std::_Optional_payload_base<WebCore::MediaCapabilitiesEncodingInfo>]’ at /usr/include/c++/12/optional:431:57,
inlined from ‘constexpr std::_Optional_base<_Tp, <anonymous>, <anonymous> >::_Optional_base(std::in_place_t, _Args&& ...) [with _Args = {WebCore::MediaCapabilitiesEncodingInfo&}; typename std::enable_if<is_constructible_v<_Tp, _Args ...>, bool>::type <anonymous> = false; _Tp = WebCore::MediaCapabilitiesEncodingInfo; bool <anonymous> = false; bool <anonymous> = false]’ at /usr/include/c++/12/optional:521:4,
inlined from ‘constexpr std::optional<_Tp>::optional(_Up&&) [with _Up = WebCore::MediaCapabilitiesEncodingInfo&; typename std::enable_if<__and_v<std::__not_<std::is_same<std::optional<_Tp>, typename std::remove_cv<typename std::remove_reference<_Iter>::type>::type> >, std::__not_<std::is_same<std::in_place_t, typename std::remove_cv<typename std::remove_reference<_Iter>::type>::type> >, std::is_constructible<_Tp, _Up>, std::is_convertible<_Iter, _Iterator> >, bool>::type <anonymous> = true; _Tp = WebCore::MediaCapabilitiesEncodingInfo]’ at /usr/include/c++/12/optional:749:47,
inlined from ‘virtual std::optional<WebCore::MediaCapabilitiesEncodingInfo> WebCore::LibWebRTCProvider::videoEncodingCapabilitiesOverride(const WebCore::VideoConfiguration&)’ at /host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:559:19:
/host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediacapabilities/MediaEncodingConfiguration.h:33:8: error: ‘info.WebCore::MediaCapabilitiesEncodingInfo::configuration.WebCore::MediaEncodingConfiguration::type’ is used uninitialized [-Werror=uninitialized]
33 | struct MediaEncodingConfiguration : MediaConfiguration {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp: In member function ‘virtual std::optional<WebCore::MediaCapabilitiesEncodingInfo> WebCore::LibWebRTCProvider::videoEncodingCapabilitiesOverride(const WebCore::VideoConfiguration&)’:
/host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:546:35: note: ‘info’ declared here
546 | MediaCapabilitiesEncodingInfo info;
| ^~~~
Philippe Normand
Here I get this first... the wonderful world of compilers...
In file included from /var/home/phil/WebKit/WebKitBuild/WPE/Release/WebCore/DerivedSources/unified-sources/UnifiedSource-f8afad56-36.cpp:8:
In file included from /var/home/phil/WebKit/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp:32:
In file included from /var/home/phil/WebKit/Source/WebCore/Modules/mediastream/RTCDataChannel.h:30:
In file included from /var/home/phil/WebKit/Source/WebCore/dom/ActiveDOMObject.h:29:
/var/home/phil/WebKit/Source/WebCore/dom/ContextDestructionObserver.h:40:36: error: inline function 'WebCore::ContextDestructionObserver::scriptExecutionContext' is not defined [-Werror,-Wundefined-inline]
40 | inline ScriptExecutionContext* scriptExecutionContext() const;
| ^
/var/home/phil/WebKit/Source/WebCore/Modules/mediastream/RTCDataChannel.h:106:92: note: used here
106 | ScriptExecutionContext* scriptExecutionContext() const final { return ActiveDOMObject::scriptExecutionContext(); }
| ^
1 error generated.
Philippe Normand
Pull request: https://github.com/WebKit/WebKit/pull/46903
EWS
Committed 296383@main (ce592e4a2a98): <https://commits.webkit.org/296383@main>
Reviewed commits have been landed. Closing PR #46903 and removing active labels.