PipeWire: Tutorial - Part 1: Getting started

PipeWire 0.3.51

Tutorial - Part 1: Getting started

Index | Tutorial - Part 2: Enumerating objects

In this tutorial we show the basics of a simple PipeWire application. Use this tutorial to get started and help you set up your development environment.

## Initialization

Let get started with the simplest application.

#include <pipewire/pipewire.h>
int main(int argc, char *argv[])
{
pw_init(&argc, &argv);
fprintf(stdout, "Compiled with libpipewire %s\n"
"Linked with libpipewire %s\n",
pw_get_headers_version(),
pw_get_library_version());
return 0;
}
pw_init
void pw_init(int *argc, char **argv[])
Initialize PipeWire.
Definition: pipewire.c:583
pipewire.h
pipewire/pipewire.h

Before you can use any PipeWire functions, you need to call `pw_init()`.

## Compilation

PipeWire provides a pkg-config file named `libpipewire-0.3` (note: the version suffix may change with future releases of pipewire). To compile the simple test application, copy it into a test1.c file and use pkg-config to provide the required dependencies:

    gcc -Wall test1.c -o test1 $(pkg-config --cflags --libs libpipewire-0.3)

then run it with:

    # ./test1
    Compiled with libpipewire 0.3.5
    Linked with libpipewire 0.3.5
    #

Use your build system's pkg-config support to integrate it into your project. For example, a minimal meson.build entry would look like this:

    project('test1', ['c'])
    pipewire_dep = dependency('libpipewire-0.3')
    executable('test1', 'test1.c',
               dependencies: [pipewire_dep])

Index | Tutorial - Part 2: Enumerating objects