Find a file
Stefan Ursella 7ee69a9a47 log: set empty string to not set log_fields
not all functions in glib returns a value for the used log fields
in this case a 'g_return_val_if_fail(..) will only set 4 fields an
set the other field to NULL which leads to a segfault

Jul 22 13:41:37 Cynap-Pro-01121508 systemd-coredump[7247]: Process 496 (wireplumber) of user 4242 dumped core.

                                                           Stack trace of thread 496:
                                                           #0  0x00007f6b2ce58e99 __strlen_avx2 (libc.so.6 + 0x150e99)
                                                           #1  0x00007f6b2cf3ebe5 g_log_writer_journald (libglib-2.0.so.0 + 0x5fbe5)
                                                           #2  0x00007f6b2d0a9316 wp_log_fields_write_to_journal (libwireplumber-0.5.so.0 + 0x2b316)
                                                           #3  0x00007f6b2d0a96f5 wp_log_writer_default (libwireplumber-0.5.so.0 + 0x2b6f5)
                                                           #4  0x00007f6b2cf3cf3e g_log_structured_array (libglib-2.0.so.0 + 0x5df3e)
                                                           #5  0x00007f6b2cf3d0ae g_log_structured_array (libglib-2.0.so.0 + 0x5e0ae)
                                                           #6  0x00007f6b2cf3d4b7 g_logv (libglib-2.0.so.0 + 0x5e4b7)
                                                           #7  0x00007f6b2cf3d7ef g_log (libglib-2.0.so.0 + 0x5e7ef)
                                                           #8  0x00007f6b29efafef get_node_by_id (libwireplumber-module-cb-ipc.so + 0x24fef)
                                                           #9  0x00007f6b29efb032 wp_cb_ipc_get_app_properties (libwireplumber-module-cb-ipc.so + 0x25032)
2023-08-01 08:30:05 +00:00
docs core: refactor to subclass from WpObject 2023-06-23 18:01:26 +03:00
lib log: set empty string to not set log_fields 2023-08-01 08:30:05 +00:00
modules m-mixer-api: track monitorMute and allow modifying them 2023-07-31 13:26:28 +02:00
po Replace ru.po 2023-04-06 08:10:33 +00:00
src scripts: run find-best-profile hook before running apply-profile hook 2023-07-17 17:33:40 +02:00
subprojects subprojects: bump lua to 5.4.4 2022-07-05 16:14:05 +03:00
tests tests: wait for the cores to connect before starting 2023-07-04 15:09:31 +03:00
.editorconfig editorconfig: remove obsolete entry and add python script rules 2021-05-26 09:36:41 +03:00
.gitignore gitignore: remove obsolete entry 2021-05-26 09:38:03 +03:00
.gitlab-ci.yml gitlab-ci: bump ubuntu image to 22.04 LTS 2023-06-20 12:39:29 +03:00
LICENSE LICENSE: update copyright years 2021-05-26 09:33:18 +03:00
Makefile Makefile: run valgrind with better arguments & environment 2021-10-15 14:00:05 +03:00
meson.build conf: refactor component loading to use a dependency system 2023-06-20 12:39:29 +03:00
meson_options.txt meson: Add options to configure whether to build daemon, tools and modules. 2022-11-23 10:06:11 +00:00
NEWS.rst 0.4.14 2023-03-09 16:37:42 +01:00
README.rst README: add coverity badge 2021-06-15 15:48:13 +03:00
wp-uninstalled.sh wp-uninstalled: fix a few shellcheck complaints 2021-10-26 13:06:46 +10:00

WirePlumber
===========

.. image:: https://gitlab.freedesktop.org/pipewire/wireplumber/badges/master/pipeline.svg
   :alt: Pipeline status

.. image:: https://scan.coverity.com/projects/21488/badge.svg
   :alt: Coverity Scan Build Status

.. image:: https://img.shields.io/tokei/lines/gitlab.freedesktop.org/pipewire/wireplumber
   :alt: Lines of code

.. image:: https://img.shields.io/badge/license-MIT-green
   :alt: License

.. image:: https://img.shields.io/badge/dynamic/json?color=informational&label=tag&query=%24%5B0%5D.name&url=https%3A%2F%2Fgitlab.freedesktop.org%2Fapi%2Fv4%2Fprojects%2F2941%2Frepository%2Ftags
   :alt: Tag

WirePlumber is a modular session / policy manager for
`PipeWire <https://pipewire.org>`_ and a GObject-based high-level library
that wraps PipeWire's API, providing convenience for writing the daemon's
modules as well as external tools for managing PipeWire.

The WirePlumber daemon implements the session & policy management service.
It follows a modular design, having plugins that implement the actual
management functionality.

The WirePlumber Library provides API that allows you to extend the WirePlumber
daemon, to write management or status tools for PipeWire
(apps that don't do actual media streaming) and to write custom session managers
for embedded devices.

Documentation
-------------

The latest version of the documentation is available online
`here <https://pipewire.pages.freedesktop.org/wireplumber/>`_