PulseAudio under the hood

Table of contents Preface About PulseAudio High-level components Key abstractions D-Bus API C API Protocols and networking Device drivers Sound processing Sample cache Stream management Time management Power saving Automatic setup and routing Desktop integrations Compatibility layers Server internals Module list GUI tools …

Using MiniSAPServer and MiniSAPListener for SAP/SDP

MiniSAPServer is a small program that periodically sends SAP/SDP messages, given a config file and destination address. I’ve prepared a complementary MiniSAPListener program which listens for SAP/SDP messages, and prints them to stdout or passes to a shell command. The source code is mostly extracted from PulseAudio RTP …

Reusing UNIX domain socket (SO_REUSEADDR for AF_INET)

Unix domain sockets are a networkless version of Internet sockets. They have several advantages: Unix domain sockets are files, so file-system permissions may be used for them when one end is closed (e.g. process exits), SIGPIPE is delivered to another end performance may be up to 2x better See details here. Lack of …