diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..81be237 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +pipewire (0.3.56-ok1) yangtze; urgency=medium + + * Build for openKylin. + + -- zhouganqing Thu, 01 Sep 2022 14:55:09 +0800 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..1e1d1eb --- /dev/null +++ b/debian/control @@ -0,0 +1,382 @@ +Source: pipewire +Section: libs +Priority: optional +Maintainer: OpenKylin Developers +Build-Depends: debhelper-compat (= 13), + doxygen , + graphviz , + libasound2-dev, + libavahi-client-dev, + libbluetooth-dev, + libdbus-1-dev, + libglib2.0-dev, + libgstreamer-plugins-base1.0-dev, + libgstreamer1.0-dev, + libjack-jackd2-dev, + libcanberra-dev, + libldacbt-abr-dev [!s390x !hppa !m68k !powerpc !ppc64 !sparc64], + libldacbt-enc-dev [!s390x !hppa !m68k !powerpc !ppc64 !sparc64], + liblilv-dev, + libncurses-dev, + libfreeaptx-dev, + libpulse-dev, + libreadline-dev, + libsbc-dev, + libsdl2-dev, + libsndfile1-dev, + libssl-dev, + libsystemd-dev [linux-any], + libudev-dev [linux-any], + libusb-1.0-0-dev, + libv4l-dev, + libwebrtc-audio-processing-dev, + libxfixes-dev (>= 1:6.0.0), + meson (>= 0.59.0), + pkg-config, + python3-docutils, + systemd [linux-any] +Build-Conflicts: libfdk-aac-dev +Standards-Version: 4.6.1 +Vcs-Browser: https://gitee.com/openkylin/pipewire +Vcs-Git: https://gitee.com/openkylin/pipewire.git +Homepage: https://pipewire.org/ +Rules-Requires-Root: no + +Package: libpipewire-0.3-0 +Architecture: linux-any +Multi-Arch: same +Depends: libspa-0.2-modules (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Recommends: libpipewire-0.3-common +Suggests: pipewire (= ${binary:Version}) +Description: libraries for the PipeWire multimedia server + PipeWire is a server and user space API to deal with multimedia + pipelines. This includes: + . + - Making available sources of video (such as from a capture devices or + application provided streams) and multiplexing this with clients. + - Accessing sources of video for consumption. + - Generating graphs for audio and video processing. + +Package: libpipewire-0.3-common +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends}, ${shlibs:Depends} +Description: libraries for the PipeWire multimedia server - common files + PipeWire is a server and user space API to deal with multimedia + pipelines. This includes: + . + - Making available sources of video (such as from a capture devices or + application provided streams) and multiplexing this with clients. + - Accessing sources of video for consumption. + - Generating graphs for audio and video processing. + . + This package is needed for the runtime libraries to display messages in + languages other than English. + +Package: libpipewire-0.3-dev +Section: libdevel +Architecture: linux-any +Multi-Arch: same +Depends: libpipewire-0.3-0 (= ${binary:Version}), + libspa-0.2-dev (= ${binary:Version}), + ${misc:Depends} +Suggests: pipewire-doc +Description: libraries for the PipeWire multimedia server - development + PipeWire is a server and user space API to deal with multimedia + pipelines. This includes: + . + - Making available sources of video (such as from a capture devices or + application provided streams) and multiplexing this with clients. + - Accessing sources of video for consumption. + - Generating graphs for audio and video processing. + . + This package contains the development files. + +Package: libpipewire-0.3-modules +Architecture: linux-any +Multi-Arch: same +Depends: ${misc:Depends}, ${shlibs:Depends} +Breaks: pipewire (<< 0.3.5) +Replaces: pipewire (<< 0.3.5) +Description: libraries for the PipeWire multimedia server - modules + PipeWire is a server and user space API to deal with multimedia + pipelines. This includes: + . + - Making available sources of video (such as from a capture devices or + application provided streams) and multiplexing this with clients. + - Accessing sources of video for consumption. + - Generating graphs for audio and video processing. + . + This package contains modules used by the PipeWire server and by clients, + and should not normally be depended on directly. PipeWire clients should + depend on the pipewire package instead. + +Package: libspa-0.2-dev +Section: libdevel +Architecture: linux-any +Multi-Arch: same +Depends: ${misc:Depends} +Suggests: pipewire-doc +Description: libraries for the PipeWire multimedia server Simple Plugin API - development + PipeWire is a server and user space API to deal with multimedia + pipelines. This includes: + . + - Making available sources of video (such as from a capture devices or + application provided streams) and multiplexing this with clients. + - Accessing sources of video for consumption. + - Generating graphs for audio and video processing. + . + This package contains the development files for the Simple Plugin API. + +Package: libspa-0.2-modules +Architecture: linux-any +Multi-Arch: same +Depends: ${misc:Depends}, ${shlibs:Depends} +Breaks: pipewire (<< 0.3.5) +Replaces: pipewire (<< 0.3.5) +Description: libraries for the PipeWire multimedia server Simple Plugin API - modules + PipeWire is a server and user space API to deal with multimedia + pipelines. This includes: + . + - Making available sources of video (such as from a capture devices or + application provided streams) and multiplexing this with clients. + - Accessing sources of video for consumption. + - Generating graphs for audio and video processing. + . + This package contains core support modules used in the Simple Plugin API, + together with test and utility modules that do not introduce additional + dependencies. It should not normally be depended on directly: PipeWire + clients should depend on the pipewire package instead. + +Package: pipewire-doc +Section: doc +Build-Profiles: +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends} +Breaks: libpipewire-0.2-doc (<< 0.3.1) +Replaces: libpipewire-0.2-doc (<< 0.3.1) +Description: libraries for the PipeWire multimedia server - documentation + PipeWire is a server and user space API to deal with multimedia + pipelines. This includes: + . + - Making available sources of video (such as from a capture devices or + application provided streams) and multiplexing this with clients. + - Accessing sources of video for consumption. + - Generating graphs for audio and video processing. + . + This package contains the API reference. + +Package: pipewire +Section: video +Architecture: linux-any +Multi-Arch: same +Depends: libpipewire-0.3-modules (= ${binary:Version}), + pipewire-bin (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Description: audio and video processing engine multimedia server + PipeWire is a server and user space API to deal with multimedia + pipelines. This includes: + . + - Making available sources of video (such as from a capture devices or + application provided streams) and multiplexing this with clients. + - Accessing sources of video for consumption. + - Generating graphs for audio and video processing. + . + This metapackage makes PipeWire available for programs of the same + architecture, and provides the systemd user service necessary to run + pipewire on-demand. + +Package: pipewire-bin +Section: video +Architecture: linux-any +Multi-Arch: foreign +Depends: libpipewire-0.3-modules (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Recommends: dbus-user-session, + pipewire-media-session | wireplumber, + rtkit +Breaks: pipewire (<< 0.3.5) +Replaces: pipewire (<< 0.3.5) +Description: PipeWire multimedia server - programs + PipeWire is a server and user space API to deal with multimedia + pipelines. This includes: + . + - Making available sources of video (such as from a capture devices or + application provided streams) and multiplexing this with clients. + - Accessing sources of video for consumption. + - Generating graphs for audio and video processing. + . + This package contains the server and command-line utilities, and should + not normally be depended on directly. PipeWire clients should depend on + the pipewire package instead. + +Package: pipewire-pulse +Section: sound +Architecture: linux-any +Multi-Arch: foreign +Replaces: pipewire-bin (<< 0.3.27-2) +Breaks: pipewire-bin (<< 0.3.27-2) +Depends: pipewire (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Suggests: pulseaudio-utils, + libspa-0.2-bluetooth +Description: PipeWire PulseAudio daemon + PipeWire is a server and user space API to deal with multimedia + pipelines. This includes: + . + - Making available sources of video (such as from a capture devices or + application provided streams) and multiplexing this with clients. + - Accessing sources of video for consumption. + - Generating graphs for audio and video processing. + . + This package contains the PulseAudio replacement daemon. + +Package: pipewire-alsa +Section: sound +Architecture: linux-any +Multi-Arch: same +Replaces: pipewire-audio-client-libraries (<< 0.3.54-1~) +Breaks: pipewire-audio-client-libraries (<< 0.3.54-1~) +Depends: pipewire (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Description: PipeWire ALSA plugin + PipeWire is a server and user space API to deal with multimedia + pipelines. This includes: + . + - Making available sources of video (such as from a capture devices or + application provided streams) and multiplexing this with clients. + - Accessing sources of video for consumption. + - Generating graphs for audio and video processing. + . + This package contains the ALSA plugin. + +Package: pipewire-jack +Section: sound +Architecture: linux-any +Multi-Arch: same +Replaces: pipewire-audio-client-libraries (<< 0.3.54-1~) +Breaks: pipewire-audio-client-libraries (<< 0.3.54-1~) +Depends: pipewire (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Description: PipeWire JACK plugin + PipeWire is a server and user space API to deal with multimedia + pipelines. This includes: + . + - Making available sources of video (such as from a capture devices or + application provided streams) and multiplexing this with clients. + - Accessing sources of video for consumption. + - Generating graphs for audio and video processing. + . + This package contains the JACK plugin. + +Package: pipewire-v4l2 +Section: video +Architecture: linux-any +Multi-Arch: same +Replaces: pipewire-bin (<< 0.3.54-1), + libpipewire-0.3-modules (<< 0.3.54-1) +Breaks: pipewire-bin (<< 0.3.54-1), + libpipewire-0.3-modules (<< 0.3.54-1) +Depends: pipewire (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Description: PipeWire V4L2 plugin + PipeWire is a server and user space API to deal with multimedia + pipelines. This includes: + . + - Making available sources of video (such as from a capture devices or + application provided streams) and multiplexing this with clients. + - Accessing sources of video for consumption. + - Generating graphs for audio and video processing. + . + This package contains the V4L2 plugin. + +Package: pipewire-tests +Architecture: linux-any +Depends: pipewire (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends} +Section: misc +Description: PipeWire multimedia server - tests and examples + PipeWire is a server and user space API to deal with multimedia + pipelines. This includes: + . + - Making available sources of video (such as from a capture devices or + application provided streams) and multiplexing this with clients. + - Accessing sources of video for consumption. + - Generating graphs for audio and video processing. + . + This package contains automated and manual tests and example programs. + +Package: gstreamer1.0-pipewire +Architecture: linux-any +Multi-Arch: same +Depends: pipewire (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends} +Description: GStreamer 1.0 plugin for the PipeWire multimedia server + PipeWire is a server and user space API to deal with multimedia + pipelines. This includes: + . + - Making available sources of video (such as from a capture devices or + application provided streams) and multiplexing this with clients. + - Accessing sources of video for consumption. + - Generating graphs for audio and video processing. + . + This package contains a plugin to make devices managed by the PipeWire + server available as GStreamer sources and sinks. + +Package: libspa-0.2-bluetooth +Architecture: linux-any +Multi-Arch: same +Depends: libspa-0.2-modules (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Description: libraries for the PipeWire multimedia server - bluetooth plugins + PipeWire is a server and user space API to deal with multimedia + pipelines. This includes: + . + - Making available sources of video (such as from a capture devices or + application provided streams) and multiplexing this with clients. + - Accessing sources of video for consumption. + - Generating graphs for audio and video processing. + . + This package contains a plugin to make Bluetooth audio devices such as + speakers and headsets available to the PipeWire server. It is considered + to be experimental, and is disabled by default (even if installed) to + avoid conflicts with equivalent functionality in PulseAudio. + +Package: libspa-0.2-jack +Architecture: linux-any +Multi-Arch: same +Depends: libspa-0.2-modules (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Description: libraries for the PipeWire multimedia server - JACK client + PipeWire is a server and user space API to deal with multimedia + pipelines. This includes: + . + - Making available sources of video (such as from a capture devices or + application provided streams) and multiplexing this with clients. + - Accessing sources of video for consumption. + - Generating graphs for audio and video processing. + . + This package contains a plugin to make PipeWire able to connect to a + JACK server, which will be used for audio playback and recording. + Using PipeWire for audio is considered to be experimental. + +Package: pipewire-audio-client-libraries +Section: oldlibs +Architecture: all +Depends: pipewire-alsa, + pipewire-jack +Description: transitional package for pipewire-alsa and pipewire-jack + PipeWire is a server and user space API to deal with multimedia + pipelines. + . + This is a transitional package for pipewire-alsa and pipewire-jack. + It can safely be removed. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..92d66f3 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,219 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: pipewire +Source: https://gitlab.freedesktop.org/pipewire/pipewire +License: Expat and LGPL-2.1+ + +Files: * +Copyright: 2009 Lennart Poettering + 2010 David Henningsson + 2013 Inigo Quilez + 2015-2022 Wim Taymans + 2016-2021 Axis Communications + 2018-2022 Collabora Ltd. + 2020 Konsulko Group + 2020 Sergey Bugaev + 2020 Georges Basile Stavracas Neto + 2021 jothepro + 2019-2021 Red Hat, Inc. + 2021 Arun Raghavan + 2013 The Chromium OS Authors. + 2010 Google Inc. + 2017 HiFi-LoFi + 2000-2002 Richard W.E. Furse, Paul Barton-Davis + 2021 Sanchayan Maity + 2021 Pauli Virtanen + 2021 Florian Hülsmann +License: Expat + +Files: include/* +Copyright: 2000-2017 Julian Seward. +License: BZIP2 + +Files: pipewire-jack/jack/* +Copyright: 2000-2013 Paul Davis + 2003-2004 Jack OQuin + 2002 Kai Vehmanen + 2011-2014 David Robillard + 2004 Ian Esten + 2004-2012 Grame + 2003 Rohan Drape + 2010 Torben Hohn + 2004 Rui Nuno Capela, Lee Revell +License: LGPL-2.1+ + +Files: pipewire-jack/jack/control.h +Copyright: 2008 Nedko Arnaudov + 2008 GRAME +License: GPL-2 + +Files: spa/plugins/alsa/90-pipewire-alsa.rules + spa/plugins/alsa/acp/* + spa/plugins/alsa/mixer/paths/* + spa/plugins/alsa/mixer/profile-sets/* + spa/plugins/alsa/mixer/samples/* +Copyright: 1999 Tom Tromey + 2000 Red Hat, Inc. + 2004-2009 Lennart Poettering + 2006 Pierre Ossman + 2006 Pierre Ossman for Cendio AB + 2011 Intel Corporation + 2011 Collabora Multimedia + 2011 Arun Raghavan + 2011 Wolfson Microelectronics PLC + 2012 Feng Wei, Freescale Ltd. + 2015-2022 Wim Taymans +License: LGPL-2+ and LGPL-2.1+ and Expat + +Files: spa/plugins/bluez5/* +Copyright: 2004-2010 Marcel Holtmann + 2006-2010 Nokia Corporation + 2016-2017 Arkadiusz Bokowy + 2018-2022 Wim Taymans + 2018-2022 Collabora Ltd. + 2018 Pali Rohár + 2021-2022 Pauli Virtanen + 2013 Julien Pommier +License: Expat and LGPL-2.1+ + +Files: src/modules/module-client-node/v0/* + src/modules/module-protocol-native/v0/* + src/modules/module-portal.c +Copyright: 2015-2022 Wim Taymans + 2019 Red Hat Inc. +License: LGPL-2+ + +Files: src/modules/module-filter-chain/ladspa.h +Copyright: 2000-2002 Richard W.E. Furse, Paul Barton-Davis +License: LGPL-2.1+ + +Files: src/modules/module-filter-chain/pffft.* +Copyright: 2013 Julien Pommier + 2004 The University Corporation for Atmospheric Research +License: FFTPACK + +License: Expat + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +License: LGPL-2+ + This package is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + On Debian systems, the complete text of the GNU Lesser General + Public License can be found in "/usr/share/common-licenses/LGPL-2". + +License: LGPL-2.1+ + This package is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + On Debian systems, the complete text of the GNU Lesser General + Public License can be found in "/usr/share/common-licenses/LGPL-2.1". + +License: FFTPACK + Redistribution and use of the Software in source and binary forms, + with or without modification, is permitted provided that the + following conditions are met: + . + - Neither the names of NCAR's Computational and Information Systems + Laboratory, the University Corporation for Atmospheric Research, + nor the names of its sponsors or contributors may be used to + endorse or promote products derived from this Software without + specific prior written permission. + . + - Redistributions of source code must retain the above copyright + notices, this list of conditions, and the disclaimer below. + . + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions, and the disclaimer below in the + documentation and/or other materials provided with the + distribution. + . + THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE + SOFTWARE. + +License: BZIP2 + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: + . + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + . + 2. The origin of this software must not be misrepresented; you must + not claim that you wrote the original software. If you use this + software in a product, an acknowledgment in the product + documentation would be appreciated but is not required. + . + 3. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + . + 4. The name of the author may not be used to endorse or promote + products derived from this software without specific prior written + permission. + . + THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +License: GPL-2 + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; version 2 of the License. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + On Debian systems you can find the full text of the GNU General Public + License version 2 at /usr/share/common-licenses/GPL-2. diff --git a/debian/gstreamer1.0-pipewire.install b/debian/gstreamer1.0-pipewire.install new file mode 100644 index 0000000..da0fd91 --- /dev/null +++ b/debian/gstreamer1.0-pipewire.install @@ -0,0 +1 @@ +usr/lib/*/gstreamer-1.0 diff --git a/debian/libpipewire-0.3-0.install b/debian/libpipewire-0.3-0.install new file mode 100644 index 0000000..6758e68 --- /dev/null +++ b/debian/libpipewire-0.3-0.install @@ -0,0 +1 @@ +usr/lib/*/libpipewire*.so.* diff --git a/debian/libpipewire-0.3-0.symbols b/debian/libpipewire-0.3-0.symbols new file mode 100644 index 0000000..77cf2fe --- /dev/null +++ b/debian/libpipewire-0.3-0.symbols @@ -0,0 +1,429 @@ +libpipewire-0.3.so.0 libpipewire-0.3-0 #MINVER# +* Build-Depends-Package: libpipewire-0.3-dev + PW_LOG_TOPIC_DEFAULT@Base 0.3.38 + _pw_log_topic_new@Base 0.3.38 + pw_buffers_clear@Base 0.3.1 + pw_buffers_negotiate@Base 0.3.1 + pw_check_option@Base 0.3.30 + pw_client_info_free@Base 0.3.1 + pw_client_info_merge@Base 0.3.35 + pw_client_info_update@Base 0.3.1 + pw_conf_load_conf@Base 0.3.22 + pw_conf_load_state@Base 0.3.22 + pw_conf_save_state@Base 0.3.22 + pw_context_add_listener@Base 0.3.1 + pw_context_add_spa_lib@Base 0.3.1 + pw_context_conf_section_for_each@Base 0.3.45 + pw_context_conf_section_match_rules@Base 0.3.46 + pw_context_conf_update_props@Base 0.3.45 + pw_context_connect@Base 0.3.1 + pw_context_connect_fd@Base 0.3.1 + pw_context_connect_self@Base 0.3.1 + pw_context_create_client@Base 0.3.1 + pw_context_create_core@Base 0.3.1 + pw_context_create_device@Base 0.3.1 + pw_context_create_factory@Base 0.3.1 + pw_context_create_link@Base 0.3.1 + pw_context_create_metadata@Base 0.3.31 + pw_context_create_node@Base 0.3.1 + pw_context_create_port@Base 0.3.1 + pw_context_destroy@Base 0.3.1 + pw_context_find_export_type@Base 0.3.1 + pw_context_find_factory@Base 0.3.1 + pw_context_find_global@Base 0.3.1 + pw_context_find_protocol@Base 0.3.1 + pw_context_find_spa_lib@Base 0.3.1 + pw_context_for_each_global@Base 0.3.1 + pw_context_get_conf_section@Base 0.3.22 + pw_context_get_data_loop@Base 0.3.56 + pw_context_get_default_core@Base 0.3.1 + pw_context_get_main_loop@Base 0.3.1 + pw_context_get_object@Base 0.3.1 + pw_context_get_properties@Base 0.3.1 + pw_context_get_support@Base 0.3.1 + pw_context_get_user_data@Base 0.3.1 + pw_context_get_work_queue@Base 0.3.26 + pw_context_load_module@Base 0.3.1 + pw_context_load_spa_handle@Base 0.3.1 + pw_context_new@Base 0.3.1 + pw_context_parse_conf_section@Base 0.3.22 + pw_context_register_export_type@Base 0.3.1 + pw_context_set_object@Base 0.3.1 + pw_context_update_properties@Base 0.3.1 + pw_control_add_link@Base 0.3.1 + pw_control_add_listener@Base 0.3.1 + pw_control_get_port@Base 0.3.1 + pw_control_remove_link@Base 0.3.1 + pw_core_disconnect@Base 0.3.1 + pw_core_export@Base 0.3.1 + pw_core_find_proxy@Base 0.3.1 + pw_core_get_client@Base 0.3.1 + pw_core_get_context@Base 0.3.1 + pw_core_get_mempool@Base 0.3.1 + pw_core_get_properties@Base 0.3.1 + pw_core_get_user_data@Base 0.3.1 + pw_core_info_free@Base 0.3.1 + pw_core_info_merge@Base 0.3.35 + pw_core_info_update@Base 0.3.1 + pw_core_set_paused@Base 0.3.1 + pw_core_steal_fd@Base 0.3.1 + pw_core_update_properties@Base 0.3.1 + pw_data_loop_add_listener@Base 0.3.1 + pw_data_loop_destroy@Base 0.3.1 + pw_data_loop_exit@Base 0.3.1 + pw_data_loop_get_loop@Base 0.3.37 + pw_data_loop_get_thread@Base 0.3.32 + pw_data_loop_in_thread@Base 0.3.1 + pw_data_loop_invoke@Base 0.3.5 + pw_data_loop_new@Base 0.3.1 + pw_data_loop_set_thread_utils@Base 0.3.50 + pw_data_loop_start@Base 0.3.1 + pw_data_loop_stop@Base 0.3.1 + pw_data_loop_wait@Base 0.3.1 + pw_debug_is_category_enabled@Base 0.3.1 + pw_deinit@Base 0.3.6 + pw_device_info_free@Base 0.3.1 + pw_device_info_merge@Base 0.3.35 + pw_device_info_update@Base 0.3.1 + pw_direction_as_string@Base 0.3.1 + pw_direction_reverse@Base 0.3.1 + pw_factory_info_free@Base 0.3.1 + pw_factory_info_merge@Base 0.3.35 + pw_factory_info_update@Base 0.3.1 + pw_filter_add_listener@Base 0.3.1 + pw_filter_add_port@Base 0.3.1 + pw_filter_connect@Base 0.3.1 + pw_filter_dequeue_buffer@Base 0.3.1 + pw_filter_destroy@Base 0.3.1 + pw_filter_disconnect@Base 0.3.1 + pw_filter_flush@Base 0.3.1 + pw_filter_get_core@Base 0.3.1 + pw_filter_get_dsp_buffer@Base 0.3.1 + pw_filter_get_name@Base 0.3.1 + pw_filter_get_node_id@Base 0.3.1 + pw_filter_get_properties@Base 0.3.1 + pw_filter_get_state@Base 0.3.1 + pw_filter_get_time@Base 0.3.1 + pw_filter_new@Base 0.3.1 + pw_filter_new_simple@Base 0.3.1 + pw_filter_queue_buffer@Base 0.3.1 + pw_filter_remove_port@Base 0.3.1 + pw_filter_set_active@Base 0.3.1 + pw_filter_set_error@Base 0.3.1 + pw_filter_state_as_string@Base 0.3.1 + pw_filter_update_params@Base 0.3.1 + pw_filter_update_properties@Base 0.3.1 + pw_free_strv@Base 0.3.1 + pw_get_application_name@Base 0.3.1 + pw_get_client_name@Base 0.3.1 + pw_get_domain@Base 0.3.26 + pw_get_host_name@Base 0.3.1 + pw_get_library_version@Base 0.3.1 + pw_get_prgname@Base 0.3.1 + pw_get_support@Base 0.3.1 + pw_get_user_name@Base 0.3.1 + pw_getrandom@Base 0.3.40 + pw_gettext@Base 0.3.26 + pw_global_add_listener@Base 0.3.1 + pw_global_add_resource@Base 0.3.1 + pw_global_bind@Base 0.3.1 + pw_global_destroy@Base 0.3.1 + pw_global_for_each_resource@Base 0.3.1 + pw_global_get_context@Base 0.3.1 + pw_global_get_id@Base 0.3.1 + pw_global_get_object@Base 0.3.1 + pw_global_get_permissions@Base 0.3.1 + pw_global_get_properties@Base 0.3.1 + pw_global_get_serial@Base 0.3.41 + pw_global_get_type@Base 0.3.1 + pw_global_get_version@Base 0.3.1 + pw_global_is_type@Base 0.3.1 + pw_global_new@Base 0.3.1 + pw_global_register@Base 0.3.1 + pw_global_update_keys@Base 0.3.10 + pw_global_update_permissions@Base 0.3.1 + pw_impl_client_add_listener@Base 0.3.1 + pw_impl_client_check_permissions@Base 0.3.10 + pw_impl_client_destroy@Base 0.3.1 + pw_impl_client_find_resource@Base 0.3.1 + pw_impl_client_get_context@Base 0.3.1 + pw_impl_client_get_core_resource@Base 0.3.1 + pw_impl_client_get_global@Base 0.3.1 + pw_impl_client_get_info@Base 0.3.1 + pw_impl_client_get_properties@Base 0.3.1 + pw_impl_client_get_protocol@Base 0.3.1 + pw_impl_client_get_user_data@Base 0.3.1 + pw_impl_client_register@Base 0.3.1 + pw_impl_client_set_busy@Base 0.3.1 + pw_impl_client_unref@Base 0.3.52 + pw_impl_client_update_permissions@Base 0.3.1 + pw_impl_client_update_properties@Base 0.3.1 + pw_impl_core_add_listener@Base 0.3.1 + pw_impl_core_destroy@Base 0.3.1 + pw_impl_core_get_global@Base 0.3.1 + pw_impl_core_get_properties@Base 0.3.1 + pw_impl_core_get_user_data@Base 0.3.1 + pw_impl_core_register@Base 0.3.1 + pw_impl_core_update_properties@Base 0.3.1 + pw_impl_device_add_listener@Base 0.3.1 + pw_impl_device_destroy@Base 0.3.1 + pw_impl_device_for_each_param@Base 0.3.1 + pw_impl_device_get_global@Base 0.3.1 + pw_impl_device_get_implementation@Base 0.3.1 + pw_impl_device_get_properties@Base 0.3.1 + pw_impl_device_get_user_data@Base 0.3.1 + pw_impl_device_register@Base 0.3.1 + pw_impl_device_set_implementation@Base 0.3.1 + pw_impl_device_update_properties@Base 0.3.1 + pw_impl_factory_add_listener@Base 0.3.1 + pw_impl_factory_create_object@Base 0.3.1 + pw_impl_factory_destroy@Base 0.3.1 + pw_impl_factory_get_global@Base 0.3.1 + pw_impl_factory_get_info@Base 0.3.1 + pw_impl_factory_get_properties@Base 0.3.1 + pw_impl_factory_get_user_data@Base 0.3.1 + pw_impl_factory_register@Base 0.3.1 + pw_impl_factory_set_implementation@Base 0.3.1 + pw_impl_factory_update_properties@Base 0.3.1 + pw_impl_link_add_listener@Base 0.3.1 + pw_impl_link_destroy@Base 0.3.1 + pw_impl_link_get_context@Base 0.3.1 + pw_impl_link_get_global@Base 0.3.1 + pw_impl_link_get_info@Base 0.3.1 + pw_impl_link_get_input@Base 0.3.1 + pw_impl_link_get_output@Base 0.3.1 + pw_impl_link_get_user_data@Base 0.3.1 + pw_impl_link_register@Base 0.3.1 + pw_impl_metadata_add_listener@Base 0.3.31 + pw_impl_metadata_destroy@Base 0.3.31 + pw_impl_metadata_get_global@Base 0.3.31 + pw_impl_metadata_get_implementation@Base 0.3.31 + pw_impl_metadata_get_properties@Base 0.3.39 + pw_impl_metadata_get_user_data@Base 0.3.31 + pw_impl_metadata_register@Base 0.3.31 + pw_impl_metadata_set_implementation@Base 0.3.31 + pw_impl_metadata_set_property@Base 0.3.31 + pw_impl_metadata_set_propertyf@Base 0.3.31 + pw_impl_module_add_listener@Base 0.3.1 + pw_impl_module_destroy@Base 0.3.1 + pw_impl_module_get_context@Base 0.3.1 + pw_impl_module_get_global@Base 0.3.1 + pw_impl_module_get_info@Base 0.3.1 + pw_impl_module_get_properties@Base 0.3.1 + pw_impl_module_schedule_destroy@Base 0.3.48 + pw_impl_module_update_properties@Base 0.3.1 + pw_impl_node_add_listener@Base 0.3.1 + pw_impl_node_destroy@Base 0.3.1 + pw_impl_node_find_port@Base 0.3.1 + pw_impl_node_for_each_param@Base 0.3.1 + pw_impl_node_for_each_port@Base 0.3.1 + pw_impl_node_get_context@Base 0.3.1 + pw_impl_node_get_free_port_id@Base 0.3.1 + pw_impl_node_get_global@Base 0.3.1 + pw_impl_node_get_implementation@Base 0.3.1 + pw_impl_node_get_info@Base 0.3.1 + pw_impl_node_get_properties@Base 0.3.1 + pw_impl_node_get_user_data@Base 0.3.1 + pw_impl_node_initialized@Base 0.3.1 + pw_impl_node_is_active@Base 0.3.1 + pw_impl_node_register@Base 0.3.1 + pw_impl_node_send_command@Base 0.3.39 + pw_impl_node_set_active@Base 0.3.1 + pw_impl_node_set_driver@Base 0.3.1 + pw_impl_node_set_implementation@Base 0.3.1 + pw_impl_node_set_param@Base 0.3.1 + pw_impl_node_set_state@Base 0.3.1 + pw_impl_node_update_properties@Base 0.3.1 + pw_impl_port_add@Base 0.3.1 + pw_impl_port_add_listener@Base 0.3.1 + pw_impl_port_get_direction@Base 0.3.1 + pw_impl_port_get_id@Base 0.3.1 + pw_impl_port_get_info@Base 0.3.1 + pw_impl_port_get_node@Base 0.3.1 + pw_impl_port_get_properties@Base 0.3.1 + pw_impl_port_get_user_data@Base 0.3.1 + pw_impl_port_init_mix@Base 0.3.1 + pw_impl_port_is_linked@Base 0.3.1 + pw_impl_port_release_mix@Base 0.3.1 + pw_impl_port_set_mix@Base 0.3.1 + pw_impl_port_set_param@Base 0.3.1 + pw_impl_port_update_properties@Base 0.3.1 + pw_impl_port_use_buffers@Base 0.3.1 + pw_in_valgrind@Base 0.3.6 + pw_init@Base 0.3.1 + pw_link_info_free@Base 0.3.1 + pw_link_info_merge@Base 0.3.35 + pw_link_info_update@Base 0.3.1 + pw_link_state_as_string@Base 0.3.1 + pw_load_spa_handle@Base 0.3.1 + pw_log_get@Base 0.3.1 + pw_log_level@Base 0.3.1 + pw_log_log@Base 0.3.1 + pw_log_logt@Base 0.3.38 + pw_log_logtv@Base 0.3.38 + pw_log_logv@Base 0.3.1 + pw_log_set@Base 0.3.1 + pw_log_set_level@Base 0.3.1 + pw_loop_destroy@Base 0.3.1 + pw_loop_new@Base 0.3.1 + pw_main_loop_add_listener@Base 0.3.1 + pw_main_loop_destroy@Base 0.3.1 + pw_main_loop_get_loop@Base 0.3.1 + pw_main_loop_new@Base 0.3.1 + pw_main_loop_quit@Base 0.3.1 + pw_main_loop_run@Base 0.3.1 + pw_memblock_free@Base 0.3.1 + pw_memblock_map@Base 0.3.1 + pw_memmap_free@Base 0.3.1 + pw_mempool_add_listener@Base 0.3.37 + pw_mempool_alloc@Base 0.3.1 + pw_mempool_clear@Base 0.3.37 + pw_mempool_destroy@Base 0.3.37 + pw_mempool_find_fd@Base 0.3.1 + pw_mempool_find_id@Base 0.3.1 + pw_mempool_find_ptr@Base 0.3.1 + pw_mempool_find_tag@Base 0.3.1 + pw_mempool_import@Base 0.3.1 + pw_mempool_import_block@Base 0.3.1 + pw_mempool_import_map@Base 0.3.1 + pw_mempool_map_id@Base 0.3.1 + pw_mempool_new@Base 0.3.37 + pw_mempool_remove_id@Base 0.3.37 + pw_module_info_free@Base 0.3.1 + pw_module_info_merge@Base 0.3.35 + pw_module_info_update@Base 0.3.1 + pw_ngettext@Base 0.3.26 + pw_node_info_free@Base 0.3.1 + pw_node_info_merge@Base 0.3.35 + pw_node_info_update@Base 0.3.1 + pw_node_state_as_string@Base 0.3.1 + pw_port_info_free@Base 0.3.1 + pw_port_info_merge@Base 0.3.35 + pw_port_info_update@Base 0.3.1 + pw_properties_add@Base 0.3.1 + pw_properties_add_keys@Base 0.3.1 + pw_properties_clear@Base 0.3.1 + pw_properties_copy@Base 0.3.1 + pw_properties_fetch_bool@Base 0.3.39 + pw_properties_fetch_int32@Base 0.3.39 + pw_properties_fetch_int64@Base 0.3.39 + pw_properties_fetch_uint32@Base 0.3.39 + pw_properties_fetch_uint64@Base 0.3.39 + pw_properties_free@Base 0.3.1 + pw_properties_get@Base 0.3.1 + pw_properties_iterate@Base 0.3.1 + pw_properties_new@Base 0.3.1 + pw_properties_new_dict@Base 0.3.1 + pw_properties_new_string@Base 0.3.1 + pw_properties_serialize_dict@Base 0.3.28 + pw_properties_set@Base 0.3.1 + pw_properties_setf@Base 0.3.1 + pw_properties_setva@Base 0.3.1 + pw_properties_update@Base 0.3.1 + pw_properties_update_ignore@Base 0.3.23 + pw_properties_update_keys@Base 0.3.1 + pw_properties_update_string@Base 0.3.19 + pw_protocol_add_listener@Base 0.3.1 + pw_protocol_add_marshal@Base 0.3.1 + pw_protocol_destroy@Base 0.3.1 + pw_protocol_get_context@Base 0.3.1 + pw_protocol_get_extension@Base 0.3.1 + pw_protocol_get_implementation@Base 0.3.1 + pw_protocol_get_marshal@Base 0.3.1 + pw_protocol_get_user_data@Base 0.3.1 + pw_protocol_new@Base 0.3.1 + pw_proxy_add_listener@Base 0.3.1 + pw_proxy_add_object_listener@Base 0.3.1 + pw_proxy_destroy@Base 0.3.1 + pw_proxy_error@Base 0.3.1 + pw_proxy_errorf@Base 0.3.1 + pw_proxy_get_bound_id@Base 0.3.1 + pw_proxy_get_core@Base 0.3.1 + pw_proxy_get_id@Base 0.3.1 + pw_proxy_get_marshal@Base 0.3.1 + pw_proxy_get_object_listeners@Base 0.3.1 + pw_proxy_get_protocol@Base 0.3.1 + pw_proxy_get_type@Base 0.3.1 + pw_proxy_get_user_data@Base 0.3.1 + pw_proxy_install_marshal@Base 0.3.1 + pw_proxy_new@Base 0.3.1 + pw_proxy_ref@Base 0.3.6 + pw_proxy_set_bound_id@Base 0.3.1 + pw_proxy_sync@Base 0.3.1 + pw_proxy_unref@Base 0.3.1 + pw_reallocarray@Base 0.3.52 + pw_resource_add_listener@Base 0.3.1 + pw_resource_add_object_listener@Base 0.3.1 + pw_resource_destroy@Base 0.3.1 + pw_resource_error@Base 0.3.1 + pw_resource_errorf@Base 0.3.1 + pw_resource_errorf_id@Base 0.3.1 + pw_resource_get_bound_id@Base 0.3.1 + pw_resource_get_client@Base 0.3.1 + pw_resource_get_id@Base 0.3.1 + pw_resource_get_marshal@Base 0.3.1 + pw_resource_get_object_listeners@Base 0.3.1 + pw_resource_get_permissions@Base 0.3.1 + pw_resource_get_protocol@Base 0.3.1 + pw_resource_get_type@Base 0.3.1 + pw_resource_get_user_data@Base 0.3.1 + pw_resource_install_marshal@Base 0.3.1 + pw_resource_new@Base 0.3.1 + pw_resource_ping@Base 0.3.1 + pw_resource_ref@Base 0.3.52 + pw_resource_remove@Base 0.3.1 + pw_resource_set_bound_id@Base 0.3.1 + pw_resource_unref@Base 0.3.52 + pw_set_domain@Base 0.3.26 + pw_split_strv@Base 0.3.1 + pw_split_walk@Base 0.3.1 + pw_stream_add_listener@Base 0.3.1 + pw_stream_connect@Base 0.3.1 + pw_stream_dequeue_buffer@Base 0.3.1 + pw_stream_destroy@Base 0.3.1 + pw_stream_disconnect@Base 0.3.1 + pw_stream_flush@Base 0.3.1 + pw_stream_get_control@Base 0.3.1 + pw_stream_get_core@Base 0.3.1 + pw_stream_get_name@Base 0.3.1 + pw_stream_get_node_id@Base 0.3.1 + pw_stream_get_properties@Base 0.3.1 + pw_stream_get_state@Base 0.3.1 + pw_stream_get_time@Base 0.3.1 + pw_stream_get_time_n@Base 0.3.50 + pw_stream_is_driving@Base 0.3.34 + pw_stream_new@Base 0.3.1 + pw_stream_new_simple@Base 0.3.1 + pw_stream_queue_buffer@Base 0.3.1 + pw_stream_set_active@Base 0.3.1 + pw_stream_set_control@Base 0.3.1 + pw_stream_set_error@Base 0.3.1 + pw_stream_state_as_string@Base 0.3.1 + pw_stream_trigger_process@Base 0.3.34 + pw_stream_update_params@Base 0.3.1 + pw_stream_update_properties@Base 0.3.1 + pw_strip@Base 0.3.1 + pw_thread_fill_attr@Base 0.3.51 + pw_thread_loop_accept@Base 0.3.1 + pw_thread_loop_add_listener@Base 0.3.1 + pw_thread_loop_destroy@Base 0.3.1 + pw_thread_loop_get_loop@Base 0.3.1 + pw_thread_loop_get_time@Base 0.3.8 + pw_thread_loop_in_thread@Base 0.3.1 + pw_thread_loop_lock@Base 0.3.1 + pw_thread_loop_new@Base 0.3.1 + pw_thread_loop_new_full@Base 0.3.1 + pw_thread_loop_signal@Base 0.3.1 + pw_thread_loop_start@Base 0.3.1 + pw_thread_loop_stop@Base 0.3.1 + pw_thread_loop_timed_wait@Base 0.3.1 + pw_thread_loop_timed_wait_full@Base 0.3.8 + pw_thread_loop_unlock@Base 0.3.1 + pw_thread_loop_wait@Base 0.3.1 + pw_thread_utils_get@Base 0.3.32 + pw_thread_utils_set@Base 0.3.32 + pw_type_info@Base 0.3.1 + pw_unload_spa_handle@Base 0.3.1 + pw_work_queue_add@Base 0.3.26 + pw_work_queue_cancel@Base 0.3.26 + pw_work_queue_complete@Base 0.3.26 diff --git a/debian/libpipewire-0.3-common.install b/debian/libpipewire-0.3-common.install new file mode 100644 index 0000000..3635480 --- /dev/null +++ b/debian/libpipewire-0.3-common.install @@ -0,0 +1 @@ +usr/share/locale diff --git a/debian/libpipewire-0.3-dev.install b/debian/libpipewire-0.3-dev.install new file mode 100644 index 0000000..5193450 --- /dev/null +++ b/debian/libpipewire-0.3-dev.install @@ -0,0 +1,3 @@ +usr/include/pipewire-0.3 +usr/lib/*/libpipewire*.so +usr/lib/*/pkgconfig/libpipewire* diff --git a/debian/libpipewire-0.3-modules.install b/debian/libpipewire-0.3-modules.install new file mode 100644 index 0000000..9e44299 --- /dev/null +++ b/debian/libpipewire-0.3-modules.install @@ -0,0 +1 @@ +usr/lib/*/pipewire-0.3/*.so diff --git a/debian/libspa-0.2-bluetooth.install b/debian/libspa-0.2-bluetooth.install new file mode 100644 index 0000000..be879a3 --- /dev/null +++ b/debian/libspa-0.2-bluetooth.install @@ -0,0 +1,2 @@ +usr/lib/*/spa-0.2/bluez5 +usr/share/spa-0.2/bluez5/bluez-hardware.conf diff --git a/debian/libspa-0.2-dev.install b/debian/libspa-0.2-dev.install new file mode 100644 index 0000000..6be1ec1 --- /dev/null +++ b/debian/libspa-0.2-dev.install @@ -0,0 +1,2 @@ +usr/include/spa-0.2 +usr/lib/*/pkgconfig/libspa* diff --git a/debian/libspa-0.2-jack.install b/debian/libspa-0.2-jack.install new file mode 100644 index 0000000..9ff6fba --- /dev/null +++ b/debian/libspa-0.2-jack.install @@ -0,0 +1 @@ +usr/lib/*/spa-0.2/jack/ diff --git a/debian/libspa-0.2-modules.install b/debian/libspa-0.2-modules.install new file mode 100644 index 0000000..7accb5b --- /dev/null +++ b/debian/libspa-0.2-modules.install @@ -0,0 +1,13 @@ +usr/lib/*/spa-0.2/aec +usr/lib/*/spa-0.2/alsa +usr/lib/*/spa-0.2/audioconvert +usr/lib/*/spa-0.2/audiomixer +usr/lib/*/spa-0.2/audiotestsrc +usr/lib/*/spa-0.2/avb +usr/lib/*/spa-0.2/control +usr/lib/*/spa-0.2/support +usr/lib/*/spa-0.2/test +usr/lib/*/spa-0.2/v4l2 +usr/lib/*/spa-0.2/videoconvert +usr/lib/*/spa-0.2/videotestsrc +usr/lib/*/spa-0.2/volume diff --git a/debian/libspa-0.2-vulkan.install b/debian/libspa-0.2-vulkan.install new file mode 100644 index 0000000..3a78a7d --- /dev/null +++ b/debian/libspa-0.2-vulkan.install @@ -0,0 +1 @@ +usr/lib/*/spa-0.2/vulkan/ diff --git a/debian/not-installed b/debian/not-installed new file mode 100644 index 0000000..6ee5869 --- /dev/null +++ b/debian/not-installed @@ -0,0 +1,13 @@ +usr/share/pipewire/filter-chain.conf +usr/share/pipewire/filter-chain/demonic.conf +usr/share/pipewire/filter-chain/duplicate-FL.conf +usr/share/pipewire/filter-chain/sink-convolver.conf +usr/share/pipewire/filter-chain/sink-dolby-surround.conf +usr/share/pipewire/filter-chain/sink-eq6.conf +usr/share/pipewire/filter-chain/sink-make-LFE.conf +usr/share/pipewire/filter-chain/sink-matrix-spatialiser.conf +usr/share/pipewire/filter-chain/sink-mix-FL-FR.conf +usr/share/pipewire/filter-chain/sink-virtual-surround-5.1-kemar.conf +usr/share/pipewire/filter-chain/sink-virtual-surround-7.1-hesuvi.conf +usr/share/pipewire/filter-chain/source-duplicate-FL.conf +usr/share/pipewire/filter-chain/source-rnnoise.conf diff --git a/debian/patches/Don-t-automatically-start-pipewire-for-root-logins.patch b/debian/patches/Don-t-automatically-start-pipewire-for-root-logins.patch new file mode 100644 index 0000000..9dc80dc --- /dev/null +++ b/debian/patches/Don-t-automatically-start-pipewire-for-root-logins.patch @@ -0,0 +1,25 @@ +From: Simon McVittie +Date: Sun, 17 Jan 2021 11:40:01 +0000 +Subject: Don't automatically start pipewire for root logins + +--- + +--- pipewire-0.3.56.orig/src/daemon/systemd/user/pipewire.service.in ++++ pipewire-0.3.56/src/daemon/systemd/user/pipewire.service.in +@@ -14,6 +14,7 @@ Description=PipeWire Multimedia Service + # After=pipewire.socket is not needed, as it is already implicit in the + # socket-service relationship, see systemd.socket(5). + Requires=pipewire.socket ++ConditionUser=!root + + [Service] + LockPersonality=yes +--- pipewire-0.3.56.orig/src/daemon/systemd/user/pipewire.socket ++++ pipewire-0.3.56/src/daemon/systemd/user/pipewire.socket +@@ -1,5 +1,6 @@ + [Unit] + Description=PipeWire Multimedia System Socket ++ConditionUser=!root + + [Socket] + Priority=6 diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..10a8b9a --- /dev/null +++ b/debian/patches/series @@ -0,0 +1 @@ +Don-t-automatically-start-pipewire-for-root-logins.patch diff --git a/debian/pipewire-alsa.install b/debian/pipewire-alsa.install new file mode 100644 index 0000000..71834cc --- /dev/null +++ b/debian/pipewire-alsa.install @@ -0,0 +1,4 @@ +usr/lib/*/alsa-lib/libasound_module_ctl_pipewire.so +usr/lib/*/alsa-lib/libasound_module_pcm_pipewire.so +usr/share/alsa/alsa.conf.d/50-pipewire.conf +usr/share/alsa/alsa.conf.d/99-pipewire-default.conf usr/share/doc/pipewire/examples/alsa.conf.d diff --git a/debian/pipewire-alsa.links b/debian/pipewire-alsa.links new file mode 100644 index 0000000..5706617 --- /dev/null +++ b/debian/pipewire-alsa.links @@ -0,0 +1 @@ +usr/share/alsa/alsa.conf.d/50-pipewire.conf etc/alsa/conf.d/50-pipewire.conf diff --git a/debian/pipewire-bin.install b/debian/pipewire-bin.install new file mode 100644 index 0000000..e5808a3 --- /dev/null +++ b/debian/pipewire-bin.install @@ -0,0 +1,39 @@ +usr/share/pipewire/client-rt.conf +usr/share/pipewire/client.conf +usr/share/pipewire/jack.conf +usr/share/pipewire/pipewire.conf +usr/share/pipewire/pipewire-avb.conf +usr/share/pipewire/minimal.conf +lib/udev/rules.d +usr/bin/pipewire +usr/bin/pipewire-avb +usr/bin/pw-cat +usr/bin/pw-cli +usr/bin/pw-dot +usr/bin/pw-dsdplay +usr/bin/pw-dump +usr/bin/pw-link +usr/bin/pw-loopback +usr/bin/pw-metadata +usr/bin/pw-mididump +usr/bin/pw-midiplay +usr/bin/pw-midirecord +usr/bin/pw-mon +usr/bin/pw-play +usr/bin/pw-profiler +usr/bin/pw-record +usr/bin/pw-reserve +usr/bin/pw-top +usr/bin/spa-* +usr/share/alsa-card-profile +usr/share/man/man1/pipewire.* +usr/share/man/man1/pw-cat.* +usr/share/man/man1/pw-cli.* +usr/share/man/man1/pw-dot.* +usr/share/man/man1/pw-link.* +usr/share/man/man1/pw-metadata.* +usr/share/man/man1/pw-mididump.* +usr/share/man/man1/pw-mon.* +usr/share/man/man1/pw-profiler.* +usr/share/man/man1/pw-top.* +usr/share/man/man5 diff --git a/debian/pipewire-bin.links b/debian/pipewire-bin.links new file mode 100644 index 0000000..8ea3bbc --- /dev/null +++ b/debian/pipewire-bin.links @@ -0,0 +1,4 @@ +/usr/share/man/man1/pw-cat.1.gz /usr/share/man/man1/pw-midiplay.1.gz +/usr/share/man/man1/pw-cat.1.gz /usr/share/man/man1/pw-midirecord.1.gz +/usr/share/man/man1/pw-cat.1.gz /usr/share/man/man1/pw-play.1.gz +/usr/share/man/man1/pw-cat.1.gz /usr/share/man/man1/pw-record.1.gz diff --git a/debian/pipewire-bin.maintscript b/debian/pipewire-bin.maintscript new file mode 100644 index 0000000..70f0ff0 --- /dev/null +++ b/debian/pipewire-bin.maintscript @@ -0,0 +1,13 @@ +rm_conffile /etc/pipewire/media-session.d/with-jack 0.3.19-3~ pipewire-bin +rm_conffile /etc/pipewire/media-session.d/with-pulseaudio 0.3.19-3~ pipewire-bin +rm_conffile /etc/pipewire/client-rt.conf 0.3.28-1~ pipewire-bin +rm_conffile /etc/pipewire/client.conf 0.3.28-1~ pipewire-bin +rm_conffile /etc/pipewire/jack.conf 0.3.28-1~ pipewire-bin +rm_conffile /etc/pipewire/pipewire.conf 0.3.28-1~ pipewire-bin +rm_conffile /etc/pipewire/pipewire-pulse.conf 0.3.28-1~ pipewire-bin +rm_conffile /etc/pipewire/media-session.d/alsa-monitor.conf 0.3.28-1~ pipewire-bin +rm_conffile /etc/pipewire/media-session.d/bluez-monitor.conf 0.3.28-1~ pipewire-bin +rm_conffile /etc/pipewire/media-session.d/media-session.conf 0.3.28-1~ pipewire-bin +rm_conffile /etc/pipewire/media-session.d/v4l2-monitor.conf 0.3.28-1~ pipewire-bin +rm_conffile /usr/share/pipewire/media-session.d/bluez-hardware.conf 0.3.37-1~ pipewire-bin +rm_conffile /etc/xdg/autostart/pipewire.desktop 0.3.50-2~ pipewire-bin diff --git a/debian/pipewire-doc.install b/debian/pipewire-doc.install new file mode 100644 index 0000000..7276ecd --- /dev/null +++ b/debian/pipewire-doc.install @@ -0,0 +1 @@ +usr/share/doc diff --git a/debian/pipewire-jack.install b/debian/pipewire-jack.install new file mode 100644 index 0000000..e5ef3a5 --- /dev/null +++ b/debian/pipewire-jack.install @@ -0,0 +1,5 @@ +usr/bin/pw-jack +usr/lib/*/pipewire-0.3/jack +usr/share/man/man1/pw-jack.* +debian/ld.so.conf.d/* usr/share/doc/pipewire/examples/ld.so.conf.d + diff --git a/debian/pipewire-jack.lintian-overrides b/debian/pipewire-jack.lintian-overrides new file mode 100644 index 0000000..dcc3b86 --- /dev/null +++ b/debian/pipewire-jack.lintian-overrides @@ -0,0 +1,2 @@ +# There's very little in these libraries: they only call pw_init(), and genuinely do not call glibc functions +library-not-linked-against-libc usr/lib/*/pipewire-0.3/jack/libjacknet.so.* diff --git a/debian/pipewire-jack.shlibs.local b/debian/pipewire-jack.shlibs.local new file mode 100644 index 0000000..1bba4c3 --- /dev/null +++ b/debian/pipewire-jack.shlibs.local @@ -0,0 +1,4 @@ +libjack 0 pipewire-jack (= ${binary:Version}) +libjacknet 0 pipewire-jack (= ${binary:Version}) +libjackserver 0 pipewire-jack (= ${binary:Version}) +libpipewire-0.3 0 libpipewire-0.3-0 (= ${binary:Version}) diff --git a/debian/pipewire-pulse.install b/debian/pipewire-pulse.install new file mode 100644 index 0000000..0b12dd7 --- /dev/null +++ b/debian/pipewire-pulse.install @@ -0,0 +1,5 @@ +usr/share/pipewire/pipewire-pulse.conf +usr/bin/pipewire-pulse +usr/lib/systemd/user/pipewire-pulse.service +usr/lib/systemd/user/pipewire-pulse.socket +usr/share/man/man1/pipewire-pulse.* diff --git a/debian/pipewire-tests.docs b/debian/pipewire-tests.docs new file mode 100644 index 0000000..b837bb0 --- /dev/null +++ b/debian/pipewire-tests.docs @@ -0,0 +1 @@ +debian/tests/manual-tests.md diff --git a/debian/pipewire-tests.install b/debian/pipewire-tests.install new file mode 100644 index 0000000..e2a2951 --- /dev/null +++ b/debian/pipewire-tests.install @@ -0,0 +1,2 @@ +usr/libexec/installed-tests +usr/share/installed-tests diff --git a/debian/pipewire-tests.lintian-overrides b/debian/pipewire-tests.lintian-overrides new file mode 100644 index 0000000..63caffc --- /dev/null +++ b/debian/pipewire-tests.lintian-overrides @@ -0,0 +1 @@ +pipewire-tests: custom-library-search-path RUNPATH /usr/lib/*/spa-0.2/* [usr/libexec/*] diff --git a/debian/pipewire-v4l2.install b/debian/pipewire-v4l2.install new file mode 100644 index 0000000..08dbd90 --- /dev/null +++ b/debian/pipewire-v4l2.install @@ -0,0 +1,2 @@ +usr/bin/pw-v4l2 +usr/lib/*/pipewire-0.3/v4l2/libpw-v4l2.so diff --git a/debian/pipewire.README.Debian b/debian/pipewire.README.Debian new file mode 100644 index 0000000..7b07c97 --- /dev/null +++ b/debian/pipewire.README.Debian @@ -0,0 +1,40 @@ +Using pipewire for audio +======================== + +pipewire in Debian is primarily intended to be used for video +(screen sharing and remote desktop, particularly in GNOME and KDE Wayland +sessions). However, it can also be used for audio. + +This is not a supported scenario for Debian 11, and is considered +experimental. + +Using pipewire as a substitute for PulseAudio +--------------------------------------------- + +Install the pipewire-pulse package and log back in + +Using pipewire as the default ALSA output device +------------------------------------------------ + +ALSA clients can be configured to output via pipewire instead of +PulseAudio or directly to ALSA. + +To enable this: + +* create an empty file /etc/pipewire/media-session.d/with-alsa + +* copy /usr/share/doc/pipewire/examples/alsa.conf.d/99-pipewire-default.conf + into /etc/alsa/conf.d/ + +Using pipewire as a substitute for JACK +--------------------------------------- + +JACK clients can be configured to output via pipewire instead of JACK. + +To enable this: + +* create an empty file /etc/pipewire/media-session.d/with-jack + +* either run JACK clients using the pw-jack(1) wrapper, or copy + /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*.conf + into /etc/ld.so.conf.d/ and run ldconfig as root. diff --git a/debian/pipewire.install b/debian/pipewire.install new file mode 100644 index 0000000..e92b05c --- /dev/null +++ b/debian/pipewire.install @@ -0,0 +1,2 @@ +usr/lib/systemd/user/pipewire.service +usr/lib/systemd/user/pipewire.socket diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..21ad8fb --- /dev/null +++ b/debian/rules @@ -0,0 +1,88 @@ +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all +export DEB_LDFLAGS_MAINT_APPEND = -Wl,-z,defs + +%: + dh $@ + +ifneq ($(filter nodoc,$(DEB_BUILD_PROFILES)),) +DOCS=disabled +else +DOCS=enabled +endif + +ifneq (,$(filter s390x hppa m68k powerpc ppc64 sparc64,$(DEB_HOST_ARCH))) +BLUEZ5_CODEC_LDAC=disabled +else +BLUEZ5_CODEC_LDAC=enabled +endif + +# lilv and some of its dependencies are in universe +ifeq (yes,$(shell dpkg-vendor --derives-from openKylin && echo yes)) +LV2=disabled +else +LV2=enabled +endif + +override_dh_auto_configure: + dh_auto_configure -- \ + -Daudiotestsrc=enabled \ + -Dauto_features=enabled \ + -Davahi=enabled \ + -Dbluez5-codec-aac=disabled \ + -Dbluez5-codec-lc3plus=disabled \ + -Dbluez5-codec-ldac=$(BLUEZ5_CODEC_LDAC) \ + -Dlibcamera=disabled \ + -Ddocs=$(DOCS) \ + -Dffmpeg=disabled \ + -Dinstalled_tests=enabled \ + -Dlv2=$(LV2) \ + -Dman=enabled \ + -Droc=disabled \ + -Dsession-managers= \ + -Dtest=enabled \ + -Dvideotestsrc=enabled \ + -Dvolume=enabled \ + -Dvulkan=disabled \ + $(NULL) + install -d debian/ld.so.conf.d + echo "/usr/lib/$(DEB_HOST_MULTIARCH)/pipewire-0.3/jack/" > "debian/ld.so.conf.d/pipewire-jack-$(DEB_HOST_MULTIARCH).conf" + +test_timeout_multiplier = 1 + +ifneq ($(filter arm hppa ia64 m68k riscv64 sh4 sparc%,$(DEB_HOST_ARCH_CPU)),) +test_timeout_multiplier = 5 +endif + +ifneq ($(filter mips%,$(DEB_HOST_ARCH_CPU)),) +test_timeout_multiplier = 10 +endif + +override_dh_auto_test: + dh_auto_test \ + -- \ + --timeout-multiplier $(test_timeout_multiplier) \ + $(NULL) + +override_dh_missing: + dh_missing --fail-missing + +override_dh_makeshlibs: + dh_makeshlibs \ + --exclude=/usr/lib/$(DEB_HOST_MULTIARCH)/gstreamer-1.0 \ + --exclude=/usr/lib/$(DEB_HOST_MULTIARCH)/pipewire-0.3 \ + --exclude=/usr/lib/$(DEB_HOST_MULTIARCH)/spa-0.2 \ + -- -c4 + +override_dh_shlibdeps-arch: + dh_shlibdeps \ + -ppipewire-jack \ + -l/usr/lib/$(DEB_HOST_MULTIARCH)/pipewire-0.3 \ + -- \ + -Ldebian/pipewire-jack.shlibs.local \ + $(NULL) + dh_shlibdeps \ + --remaining-packages \ + -l/usr/lib/$(DEB_HOST_MULTIARCH)/pipewire-0.3 \ + $(NULL) diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/tests/control b/debian/tests/control new file mode 100644 index 0000000..b92c7fc --- /dev/null +++ b/debian/tests/control @@ -0,0 +1,10 @@ +Tests: gnome-desktop-testing +Depends: gnome-desktop-testing, pipewire-tests + +Tests: gstreamer1.0-pipewire +Restrictions: allow-stderr, superficial +Depends: gstreamer1.0-pipewire, gstreamer1.0-tools + +Tests: libpipewire-0.3-dev +Restrictions: allow-stderr, superficial +Depends: build-essential, libpipewire-0.3-dev, pkg-config diff --git a/debian/tests/gnome-desktop-testing b/debian/tests/gnome-desktop-testing new file mode 100755 index 0000000..c8318ed --- /dev/null +++ b/debian/tests/gnome-desktop-testing @@ -0,0 +1,16 @@ +#!/bin/sh + +set -eu +exec 2>&1 + +exec gnome-desktop-testing-runner $( + gnome-desktop-testing-runner -l pipewire-0.3 | while read -r t d; do + case "$t" in + (pipewire-0.3/pw-test-pipewire-alsa-stress*) + ;; + (*) + echo "$t" + ;; + esac + done +) diff --git a/debian/tests/gstreamer1.0-pipewire b/debian/tests/gstreamer1.0-pipewire new file mode 100755 index 0000000..c0b7ca2 --- /dev/null +++ b/debian/tests/gstreamer1.0-pipewire @@ -0,0 +1,12 @@ +#!/bin/sh +# Copyright 2020 Collabora Ltd. +# SPDX-License-Identifier: MIT + +set -eux + +export GST_INSPECT_NO_COLORS=1 +export PAGER=cat + +gst-inspect-1.0 pipewire +gst-inspect-1.0 pipewiresink +gst-inspect-1.0 pipewiresrc diff --git a/debian/tests/libpipewire-0.3-dev b/debian/tests/libpipewire-0.3-dev new file mode 100755 index 0000000..c5905ae --- /dev/null +++ b/debian/tests/libpipewire-0.3-dev @@ -0,0 +1,41 @@ +#!/bin/sh +# Copyright 2020 Collabora Ltd. +# SPDX-License-Identifier: MIT + +set -eux + +if [ -n "${AUTOPKGTEST_ARTIFACTS-}" ]; then + WORKDIR="$AUTOPKGTEST_ARTIFACTS" +else + WORKDIR="$(mktemp -d)" + trap 'cd /; rm -fr "$WORKDIR"' 0 INT QUIT ABRT PIPE TERM +fi + +if [ -n "${DEB_HOST_GNU_TYPE:-}" ]; then + CROSS_COMPILE="$DEB_HOST_GNU_TYPE-" +else + CROSS_COMPILE= +fi + +cd "$WORKDIR" + +cat > "$WORKDIR/trivial.c" < + +#include + +int main(int argc, char *argv[]) +{ + pw_init(&argc, &argv); + printf("Compiled with libpipewire %s\n" + "Linked with libpipewire %s\n", + pw_get_headers_version(), + pw_get_library_version()); + return 0; +} +EOF + +# Deliberately word-splitting pkg-config's output: +# shellcheck disable=SC2046 +"${CROSS_COMPILE}gcc" -otrivial trivial.c -lm $("${CROSS_COMPILE}pkg-config" --cflags --libs libpipewire-0.3) +./trivial diff --git a/debian/tests/manual-tests.md b/debian/tests/manual-tests.md new file mode 100644 index 0000000..6910d3b --- /dev/null +++ b/debian/tests/manual-tests.md @@ -0,0 +1,147 @@ +Manual tests for PipeWire +========================= + +Introspection (pipewire) +------------------------ + +Install `pipewire`. + +Run `pw-cli dump`. + +Video streams +------------- + +Install `pipewire` and `pipewire-tests`. + +Run `/usr/libexec/installed-tests/pipewire-0.3/examples/video-src` +(or `video-src-alloc`). It will print a node ID, for example 42. + +In another terminal, run +`/usr/libexec/installed-tests/pipewire-0.3/examples/video-play 42` +or `/usr/libexec/installed-tests/pipewire-0.3/examples/export-sink 42`, +replacing 42 by the node ID you saw. You should get a window with an +animation. + +Similarly, if you uncomment the lines + +``` +add-spa-lib videotestsrc videotestsrc/libspa-videotestsrc +create-object spa-node-factory factory.name=videotestsrc node.name=videotestsrc Spa:Pod:Object:Param:Props:patternType=1 +``` + +in `/etc/pipewire/pipewire.conf`, then you should see a node in the output +of `pw-cli ls Node` with `node.name = "videotestsrc"`. Pass its node ID +to `video-play` to see a different animation. + +V4L2 cameras +------------ + +If you have a camera, run +`/usr/libexec/installed-tests/pipewire-0.3/examples/local-v4l2` or +`/usr/libexec/installed-tests/pipewire-0.3/examples/spa/local-v4l2`. +You should get a camera stream displayed in a window (but this might +fail if it cannot negotiate a suitable capture resolution). + +Audio sink +---------- + +Use `pw-play` to play a WAV file. + +Audio test source +----------------- + +If you uncomment the lines + +``` +add-spa-lib audiotestsrc audiotestsrc/libspa-audiotestsrc +create-object adapter factory.name=audiotestsrc node.name=my-test +``` + +in `/etc/pipewire/pipewire.conf`, then you should see a node in the output +of `pw-cli ls Node` with `node.name = "my-test"`. You can record from it +with `pw-record --target ${node id here} test.wav` (press Ctrl+C to +stop recording). + +ALSA client plugin (pipewire-audio-client-libraries) +---------------------------------------------------- + +Install `pipewire-audio-client-libraries` and `alsa-utils`. +Make sure PulseAudio is not currently playing audio and is configured +to release the audio device when not in use. + +`aplay -L` should list `pipewire`. + +`aplay -D pipewire /usr/share/sounds/alsa/Front_Center.wav` should +play a sound. + +JACK client library replacement (pipewire-audio-client-libraries) +----------------------------------------------------------------- + +Install `pipewire`, `pipewire-audio-client-libraries`, `alsa-utils` and +`sndfile-tools`. Do not have a real JACK server running. +Make sure PulseAudio is not currently playing audio and is configured +to release the audio device when not in use. + +`aplay -D jack /usr/share/sounds/alsa/Front_Center.wav` and +`sndfile-jackplay /usr/share/sounds/alsa/Front_Center.wav` should fail +with: + +``` +jack server is not running or cannot be started +``` + +`pw-jack aplay -D jack /usr/share/sounds/alsa/Front_Center.wav` +should succeed. + +* TODO: Currently it prints + + aplay: set_params:1343: Sample format non available + Available formats: + - FLOAT_LE + + and segfaults. + +`pw-jack sndfile-jackplay /usr/share/sounds/alsa/Front_Center.wav` +should succeed. + +* TODO: Currently it prints + `Cannot connect output port 0 (alsa_pcm:playback_1)` and plays + silence for the length of the test file. + +PulseAudio client library replacement (pipewire-audio-client-libraries) +----------------------------------------------------------------------- + +Install `pipewire`, `pipewire-audio-client-libraries`, `alsa-utils` and +`pulseaudio-utils`. Make sure PulseAudio is not currently playing audio +and is configured to release the audio device when not in use. + +Setup: let your pulseaudio service become idle, then +`pkill -STOP pulseaudio`. + +`paplay /usr/share/sounds/alsa/Front_Center.wav` should hang (because +PulseAudio has been stopped). + +`pw-pulse paplay /usr/share/sounds/alsa/Front_Center.wav` should play +the audio. + +Teardown: `pkill -CONT pulseaudio` to return it to normal. + +GStreamer elements (gstreamer1.0-pipewire) +------------------------------------------ + +Install `gstreamer1.0-tools` and `gstreamer1.0-pipewire`. +Make sure PulseAudio is not currently playing audio and is configured +to release the audio device when not in use. + +Run: `gst-inspect-1.0 pipewire`. It should list `pipewiresrc`, +`pipewiresink` and `pipewiredeviceprovider`. + +Run: `gst-inspect-1.0 pipewiresrc`. It should list details. + +Run: `gst-inspect-1.0 pipewiresink`. It should list details. + +Run: `gst-launch-1.0 audiotestsrc '!' pipewiresink`. It should beep +until you press Ctrl+C. + +Run: `gst-launch-1.0 pipewiresrc '!' videoconvert '!' autovideosink`. +You should get a webcam image (if you have a webcam). diff --git a/debian/watch b/debian/watch new file mode 100644 index 0000000..0445cfd --- /dev/null +++ b/debian/watch @@ -0,0 +1,3 @@ +version=4 +https://gitlab.freedesktop.org/pipewire/pipewire/tags?sort=updated_desc \ + archive/@ANY_VERSION@/pipewire-\d\S*@ARCHIVE_EXT@