Bug 53355 - Сломал сборку chromium
Summary: Сломал сборку chromium
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: chromium (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Andrey Cherepanov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-03-06 23:45 MSK by Andrew Vasilyev
Modified: 2025-03-07 19:13 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Vasilyev 2025-03-06 23:45:42 MSK
После обновления пакета pipewire до версии 1.4.0-alt1
  упала сборка chromium:

[00:20:18] ../../third_party/webrtc/modules/video_capture/linux/pipewire_session.cc:90:3: error: no matching function for call to 'pw_node_add_listener'
[00:20:18]    90 |   pw_node_add_listener(proxy_, &node_listener_, &node_events, this);
[00:20:18]       |   ^~~~~~~~~~~~~~~~~~~~
[00:20:18] /usr/include/pipewire-0.3/pipewire/node.h:189:22: note: candidate function not viable: cannot convert argument of incomplete type 'pw_proxy *' to 'struct pw_node *' for 1st argument
[00:20:18]   189 | PW_API_NODE_IMPL int pw_node_add_listener(struct pw_node *object,
[00:20:18]       |                      ^                    ~~~~~~~~~~~~~~~~~~~~~~
[00:20:18] ../../third_party/webrtc/modules/video_capture/linux/pipewire_session.cc:122:9: error: no matching function for call to 'pw_node_enum_params'
[00:20:18]   122 |         pw_node_enum_params(that->proxy_, 0, id, 0, UINT32_MAX, nullptr);
[00:20:18]       |         ^~~~~~~~~~~~~~~~~~~
[00:20:18] /usr/include/pipewire-0.3/pipewire/node.h:208:22: note: candidate function not viable: cannot convert argument of incomplete type 'pw_proxy *' to 'struct pw_node *' for 1st argument
[00:20:18]   208 | PW_API_NODE_IMPL int pw_node_enum_params(struct pw_node *object,
[00:20:18]       |                      ^                   ~~~~~~~~~~~~~~~~~~~~~~

  С версией 1.2.7-alt1 такой ошибки нет.
Comment 1 Andrew Vasilyev 2025-03-07 19:13:34 MSK
  Спасибо! Это очень помогло.

--- a/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc.me        2025-02-12 19:09:54.742875003 +0100
+++ b/third_party/webrtc/modules/video_capture/linux/pipewire_session.cc   2025-02-12 19:12:17.492620559 +0100
@@ -87,7 +87,7 @@ PipeWireNode::PipeWireNode(PipeWireSessi
       .param = OnNodeParam,
   };
 
-  pw_node_add_listener(proxy_, &node_listener_, &node_events, this);
+  pw_node_add_listener((struct pw_node*) proxy_, &node_listener_, &node_events, this);
 }
 
 // static
@@ -119,7 +119,7 @@ void PipeWireNode::OnNodeInfo(void* data
       uint32_t id = info->params[i].id;
       if (id == SPA_PARAM_EnumFormat &&
           info->params[i].flags & SPA_PARAM_INFO_READ) {
-        pw_node_enum_params(that->proxy_, 0, id, 0, UINT32_MAX, nullptr);
+        pw_node_enum_params((struct pw_node*)that->proxy_, 0, id, 0, UINT32_MAX, nullptr);
         break;
       }
     }