PipeWire

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
PipeWire
Original authorWim Taymans
Initial release20 June 2017; 9 years ago (2017-06-20)
Repositorygitlab.freedesktop.org/pipewire/pipewire
Written inC
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemLinux, FreeBSD
    LicenseMIT License
    Websitepipewire.org

    PipeWire is a low-level server and multimedia framework for handling audio and video streams on Linux.[1][2][3] Created by Wim Taymans at Red Hat, it aims to unify audio and video processing by providing low-latency capture and playback functionality.[4][5] Pipewire facilitates advanced multimedia routing and pipeline processing, and is designed to replace and be compatible with existing sound systems.[6]

    History

    [edit | edit source]

    In 2015, Taymans started work on PipeWire. It was based on ideas from several existing projects, including one called PulseVideo by William Manley.[7][8][9][10][excessive citations] According to Red Hat's Christian Schaller, it drew many of its ideas from an early PulseVideo prototype by Manley and builds upon some of the code that was merged into GStreamer due to that effort.[4] A goal of the project was to improve handling of video on Linux in the same way that PulseAudio improved handling of audio.[1]

    Although a separate project from PulseAudio, Taymans initially considered using the name "PulseVideo" for the new project.[1] By June 2015, the name "Pinos" was being used, after the city Pinos de Alhaurin in Spain, where Taymans used to live.[4]

    Initially, Pinos only handled video streams. By early 2017, Taymans had started working on integrating audio streams. Taymans wanted to support both consumer and professional audio use cases, and consulted Paul Davis (JACK developer) and Robin Gareus (Ardour developer) for advice on implementation for professional audio. At this time, the name "PipeWire" was adopted for the project.[7]

    In November 2018, PipeWire was re-licensed from the LGPL to the MIT License.[11][12]

    In April 2021, Fedora Linux 34 became the first Linux distribution to ship PipeWire for audio by default.[13][14][15] A year later, Pop! OS adopted it as the default audio server in version 22.04.[16] It was made the default audio server in Ubuntu beginning with version 22.10.[17] In 2023, it was adopted as the default audio server for the GNOME desktop environment in Debian 12 Bookworm.[18]

    Features

    [edit | edit source]

    The project aims include:

    References

    [edit | edit source]
    1. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    19. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    20. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    21. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]
    • Lua error in Module:Official_website at line 94: attempt to index field 'wikibase' (a nil value).