<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>294668</bug_id>
          
          <creation_ts>2025-06-18 03:54:07 -0700</creation_ts>
          <short_desc>[WPE] Errors building with libwebrtc enabled</short_desc>
          <delta_ts>2025-06-18 10:07:09 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WPE WebKit</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Miguel Gomez">magomez</reporter>
          <assigned_to name="Philippe Normand">philn</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>philn</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2124449</commentid>
    <comment_count>0</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2025-06-18 03:54:07 -0700</bug_when>
    <thetext>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&lt; &lt;template-parameter-1-1&gt;, &lt;anonymous&gt;, &lt;template-parameter-1-3&gt;, &lt;anonymous&gt;, &lt;template-parameter-1-5&gt; &gt;::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&lt; &lt;template-parameter-1-1&gt;, &lt;anonymous&gt;, &lt;template-parameter-1-3&gt;, &lt;anonymous&gt;, &lt;template-parameter-1-5&gt; &gt;::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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2124453</commentid>
    <comment_count>1</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2025-06-18 04:55:22 -0700</bug_when>
    <thetext>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&amp;)’,
    inlined from ‘constexpr WebCore::MediaCapabilitiesEncodingInfo::MediaCapabilitiesEncodingInfo(const WebCore::MediaCapabilitiesEncodingInfo&amp;)’ at /host/home/magomez/webkit/WebKit/Source/WebCore/platform/MediaCapabilitiesEncodingInfo.h:33:8,
    inlined from ‘constexpr std::_Optional_payload_base&lt;_Tp&gt;::_Storage&lt;_Up, false&gt;::_Storage(std::in_place_t, _Args&amp;&amp; ...) [with _Args = {WebCore::MediaCapabilitiesEncodingInfo&amp;}; _Up = WebCore::MediaCapabilitiesEncodingInfo; _Tp = WebCore::MediaCapabilitiesEncodingInfo]’ at /usr/include/c++/12/optional:244:8,
    inlined from ‘constexpr std::_Optional_payload_base&lt;_Tp&gt;::_Optional_payload_base(std::in_place_t, _Args&amp;&amp; ...) [with _Args = {WebCore::MediaCapabilitiesEncodingInfo&amp;}; _Tp = WebCore::MediaCapabilitiesEncodingInfo]’ at /usr/include/c++/12/optional:126:4,
    inlined from ‘constexpr std::_Optional_payload&lt;WebCore::MediaCapabilitiesEncodingInfo, true, false, false&gt;::_Optional_payload(std::in_place_t, _Args&amp;&amp; ...) [with _Args = {WebCore::MediaCapabilitiesEncodingInfo&amp;}][inherited from std::_Optional_payload_base&lt;WebCore::MediaCapabilitiesEncodingInfo&gt;]’ at /usr/include/c++/12/optional:397:42,
    inlined from ‘constexpr std::_Optional_payload&lt;WebCore::MediaCapabilitiesEncodingInfo, false, false, false&gt;::_Optional_payload(std::in_place_t, _Args&amp;&amp; ...) [with _Args = {WebCore::MediaCapabilitiesEncodingInfo&amp;}][inherited from std::_Optional_payload_base&lt;WebCore::MediaCapabilitiesEncodingInfo&gt;]’ at /usr/include/c++/12/optional:431:57,
    inlined from ‘constexpr std::_Optional_base&lt;_Tp, &lt;anonymous&gt;, &lt;anonymous&gt; &gt;::_Optional_base(std::in_place_t, _Args&amp;&amp; ...) [with _Args = {WebCore::MediaCapabilitiesEncodingInfo&amp;}; typename std::enable_if&lt;is_constructible_v&lt;_Tp, _Args ...&gt;, bool&gt;::type &lt;anonymous&gt; = false; _Tp = WebCore::MediaCapabilitiesEncodingInfo; bool &lt;anonymous&gt; = false; bool &lt;anonymous&gt; = false]’ at /usr/include/c++/12/optional:521:4,
    inlined from ‘constexpr std::optional&lt;_Tp&gt;::optional(_Up&amp;&amp;) [with _Up = WebCore::MediaCapabilitiesEncodingInfo&amp;; typename std::enable_if&lt;__and_v&lt;std::__not_&lt;std::is_same&lt;std::optional&lt;_Tp&gt;, typename std::remove_cv&lt;typename std::remove_reference&lt;_Iter&gt;::type&gt;::type&gt; &gt;, std::__not_&lt;std::is_same&lt;std::in_place_t, typename std::remove_cv&lt;typename std::remove_reference&lt;_Iter&gt;::type&gt;::type&gt; &gt;, std::is_constructible&lt;_Tp, _Up&gt;, std::is_convertible&lt;_Iter, _Iterator&gt; &gt;, bool&gt;::type &lt;anonymous&gt; = true; _Tp = WebCore::MediaCapabilitiesEncodingInfo]’ at /usr/include/c++/12/optional:749:47,
    inlined from ‘virtual std::optional&lt;WebCore::MediaCapabilitiesEncodingInfo&gt; WebCore::LibWebRTCProvider::videoEncodingCapabilitiesOverride(const WebCore::VideoConfiguration&amp;)’ 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&lt;WebCore::MediaCapabilitiesEncodingInfo&gt; WebCore::LibWebRTCProvider::videoEncodingCapabilitiesOverride(const WebCore::VideoConfiguration&amp;)’:
/host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:546:35: note: ‘info’ declared here
  546 |     MediaCapabilitiesEncodingInfo info;
      |                                   ^~~~</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2124473</commentid>
    <comment_count>2</comment_count>
    <who name="Philippe Normand">philn</who>
    <bug_when>2025-06-18 06:45:31 -0700</bug_when>
    <thetext>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 &apos;WebCore::ContextDestructionObserver::scriptExecutionContext&apos; 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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2124479</commentid>
    <comment_count>3</comment_count>
    <who name="Philippe Normand">philn</who>
    <bug_when>2025-06-18 07:27:21 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/46903</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2124510</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2025-06-18 10:07:05 -0700</bug_when>
    <thetext>Committed 296383@main (ce592e4a2a98): &lt;https://commits.webkit.org/296383@main&gt;

Reviewed commits have been landed. Closing PR #46903 and removing active labels.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>