Pipewire-0.3.5

Introduction to Pipewire

The pipewire package contains a server and user-space API to handle multimedia pipelines. This includes a universal API to connect to multimedia devices, as well as sharing multimedia files between applications.

This package is known to build and work properly using an LFS-9.1 platform.

Package Information

Pipewire Dependencies

Required

BlueZ-5.54, FFmpeg-4.2.3, gstreamer-1.16.2, gst-plugins-base-1.16.2, libva-2.7.1, PulseAudio-13.0, SBC-1.4, SDL2-2.0.12, and v4l-utils-1.20.0

Optional

Valgrind-3.16.0, Doxygen-1.8.18 and Graphviz-2.44.0 (for documentation), JACK, Vulkan, and xmltoman

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/pipewire

Installation of Pipewire

Install pipewire by running the following commands:

mkdir build &&
cd    build &&

meson --prefix=/usr           \
      --sysconfdir=/etc       \
      -Djack=false            \
      -Dpipewire-jack=false   \
      -Dvulkan=false          \
      ..                      &&
ninja

This package does not come with a test suite.

Now, as the root user:

ninja install

Command Explanations

-Djack=false: This switch prevents building the JACK plugin since JACK is not in BLFS.

-Dpipewire-jack=false: This switch prevents building JACK support into pipewire since JACK is not in BLFS.

-Dvulkan=false: This switch prevents building Vulkan API support into pipewire since Vulkan is not in BLFS.

-Ddocs=true: This switch enables the generation of HTML documentation. The optional dependencies for documentation need to be installed for this to work.

-Dman=true: This switch enables the generation of manual pages. The optional dependencies for documentation need to be installed for this to work.

Contents

Installed Programs: pipewire, pipewire-media-session, pw-cat, pw-cli, pw-dot, pw-metadata, pw-mididump, pw-mon, pw-profiler, spa-inspect, spa-monitor, and pw-midirecord, pw-midiplay, pw-play, and pw-record (symlinks to pw-cat)
Installed Libraries: libpipewire-0.3.so, libpulse-mainloop-glib-pw.so, libpulse-pw.so, libpulse-simple-pw.so, libasound_module_pcm_pipewire.so, and libgstpipewire.so
Installed Directories: /etc/pipewire, /usr/include/pipewire-0.3, /usr/include/spa-0.2, /usr/lib/pipewire-0.3, and /usr/lib/spa-0.2

Short Descriptions

pipewire

is a service that allows access to multimedia devices and allows sharing of multimedia files between applications.

pipewire-media-session

is a service that allows a desktop environment to know when media files are being played through pipewire.

pw-cat

allows you to play or record media using an pipewire instance.

pw-cli

allows you to interact with a pipewire instance.

pw-dot

lists all of the daemons and objects in use by pipewire.

pw-metadata

inspects, adds, and removes metadata for objects.

pw-mididump

dumps MIDI messages from a file to the screen.

pw-mon

allows you to monitor pipewire instances.

pw-profiler

tracks memory usage and API calls used by pipewire.

spa-inspect

allows you to inspect pipewire plugins.

spa-monitor

allows you to monitor pipewire plugins.

libpipewire-0.3.so

contains API functions for handling multimedia pipelines.

libpulse-mainloop-glib-pw.so

provides a glib main() loop for pulseaudio to route media through pipewire.

libpulse-pw.so

is a pipewire plugin for pulseaudio.

libpulse-simple-pw.so

is a simplified version of the pulseaudio plugin for pipewire.

libasound_module_pcm_pipewire.so

is an ALSA plugin for pipewire.

libgstpipewire.so

is a Gstreamer plugin for pipewire.

Last updated on 2020-05-17 14:35:33 -0500