summaryrefslogtreecommitdiff
path: root/www/librewolf/files/patch-pipewire_init
diff options
context:
space:
mode:
Diffstat (limited to 'www/librewolf/files/patch-pipewire_init')
-rw-r--r--www/librewolf/files/patch-pipewire_init120
1 files changed, 120 insertions, 0 deletions
diff --git a/www/librewolf/files/patch-pipewire_init b/www/librewolf/files/patch-pipewire_init
new file mode 100644
index 000000000000..641e0e51f3fe
--- /dev/null
+++ b/www/librewolf/files/patch-pipewire_init
@@ -0,0 +1,120 @@
+ Chase ABI from multimedia/pipewire/files/patch-src_pipewire_pipewire_init
+
+ Ref: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1819
+
+diff --git third_party/libwebrtc/modules/desktop_capture/linux/wayland/moz_base_capturer_pipewire.cc third_party/libwebrtc/modules/desktop_capture/linux/wayland/moz_base_capturer_pipewire.cc
+index 9bd7cec7ff22..811c4eb33e7c 100644
+--- third_party/libwebrtc/modules/desktop_capture/linux/wayland/moz_base_capturer_pipewire.cc
++++ third_party/libwebrtc/modules/desktop_capture/linux/wayland/moz_base_capturer_pipewire.cc
+@@ -382,7 +382,7 @@ void BaseCapturerPipeWire::InitPipeWire() {
+ }
+ #endif // defined(WEBRTC_DLOPEN_PIPEWIRE)
+
+- pw_init(/*argc=*/nullptr, /*argc=*/nullptr);
++ pipewire_init(/*argc=*/nullptr, /*argc=*/nullptr);
+
+ pw_main_loop_ = pw_thread_loop_new("pipewire-main-loop", nullptr);
+
+diff --git third_party/libwebrtc/modules/desktop_capture/linux/wayland/pipewire.sigs third_party/libwebrtc/modules/desktop_capture/linux/wayland/pipewire.sigs
+index 06a97b8f294e..ea14a8014431 100644
+--- third_party/libwebrtc/modules/desktop_capture/linux/wayland/pipewire.sigs
++++ third_party/libwebrtc/modules/desktop_capture/linux/wayland/pipewire.sigs
+@@ -15,7 +15,7 @@ pw_loop * pw_loop_new(const spa_dict *props);
+
+
+ // pipewire.h
+-void pw_init(int *argc, char **argv[]);
++void pipewire_init(int *argc, char **argv[]);
+ const char* pw_get_library_version();
+
+ // properties.h
+diff --git third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc
+index 12c8e7a9347d..00e3a9c76758 100644
+--- third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc
++++ third_party/libwebrtc/modules/desktop_capture/linux/wayland/shared_screencast_stream.cc
+@@ -388,7 +388,7 @@ bool SharedScreenCastStreamPrivate::StartScreenCastStream(
+
+ pw_stream_node_id_ = stream_node_id;
+
+- pw_init(/*argc=*/nullptr, /*argc=*/nullptr);
++ pipewire_init(/*argc=*/nullptr, /*argc=*/nullptr);
+
+ pw_main_loop_ = pw_thread_loop_new("pipewire-main-loop", nullptr);
+
+diff --git third_party/pipewire/libpipewire/mozpipewire.cpp third_party/pipewire/libpipewire/mozpipewire.cpp
+index 1ecfc3196af1..6f44b35964d0 100644
+--- third_party/pipewire/libpipewire/mozpipewire.cpp
++++ third_party/pipewire/libpipewire/mozpipewire.cpp
+@@ -58,7 +58,7 @@ struct pw_context * (*pw_context_new_fn)(struct pw_loop *main_loop,
+ struct pw_properties *props,
+ size_t user_data_size);
+ static int (*pw_core_disconnect_fn)(struct pw_core *core);
+-static void (*pw_init_fn)(int *argc, char **argv[]);
++static void (*pipewire_init_fn)(int *argc, char **argv[]);
+ static void (*pw_stream_add_listener_fn)(struct pw_stream *stream,
+ struct spa_hook *listener,
+ const struct pw_stream_events *events,
+@@ -96,7 +96,7 @@ bool IsPwLibraryLoaded() {
+ IS_FUNC_LOADED(pw_context_destroy_fn) &&
+ IS_FUNC_LOADED(pw_context_new_fn) &&
+ IS_FUNC_LOADED(pw_core_disconnect_fn) &&
+- IS_FUNC_LOADED(pw_init_fn) &&
++ IS_FUNC_LOADED(pipewire_init_fn) &&
+ IS_FUNC_LOADED(pw_stream_add_listener_fn) &&
+ IS_FUNC_LOADED(pw_stream_connect_fn) &&
+ IS_FUNC_LOADED(pw_stream_dequeue_buffer_fn) &&
+@@ -133,7 +133,7 @@ bool LoadPWLibrary() {
+ GET_FUNC(pw_context_destroy, pwLib);
+ GET_FUNC(pw_context_new, pwLib);
+ GET_FUNC(pw_core_disconnect, pwLib);
+- GET_FUNC(pw_init, pwLib);
++ GET_FUNC(pipewire_init, pwLib);
+ GET_FUNC(pw_stream_add_listener, pwLib);
+ GET_FUNC(pw_stream_connect, pwLib);
+ GET_FUNC(pw_stream_dequeue_buffer, pwLib);
+@@ -207,12 +207,12 @@ pw_core_disconnect(struct pw_core *core)
+ }
+
+ void
+-pw_init(int *argc, char **argv[])
++pipewire_init(int *argc, char **argv[])
+ {
+ if (!LoadPWLibrary()) {
+ return;
+ }
+- return pw_init_fn(argc, argv);
++ return pipewire_init_fn(argc, argv);
+ }
+
+ void
+diff --git third_party/pipewire/pipewire/log.h third_party/pipewire/pipewire/log.h
+index 26ffc20f9a0d..0357bdffbb7e 100644
+--- third_party/pipewire/pipewire/log.h
++++ third_party/pipewire/pipewire/log.h
+@@ -50,8 +50,8 @@ extern enum spa_log_level pw_log_level;
+ extern struct spa_log_topic *PW_LOG_TOPIC_DEFAULT;
+
+ /** Configure a logging module. This is usually done automatically
+- * in pw_init() but you can install a custom logger before calling
+- * pw_init(). */
++ * in pipewire_init() but you can install a custom logger before calling
++ * pipewire_init(). */
+ void pw_log_set(struct spa_log *log);
+
+ /** Get the log interface */
+diff --git third_party/pipewire/pipewire/pipewire.h third_party/pipewire/pipewire/pipewire.h
+index b932103f46e6..2c88e28421ec 100644
+--- third_party/pipewire/pipewire/pipewire.h
++++ third_party/pipewire/pipewire/pipewire.h
+@@ -69,9 +69,9 @@ extern "C" {
+ * \{
+ */
+ void
+-pw_init(int *argc, char **argv[]);
++pipewire_init(int *argc, char **argv[]);
+
+-void pw_deinit(void);
++void pipewire_deinit(void);
+
+ bool
+ pw_debug_is_category_enabled(const char *name);