Skip to content
  1. Mar 10, 2024
  2. Feb 15, 2024
    • Wim Taymans's avatar
      meson: add options to set server and client RT priority · f1a6fabb
      Wim Taymans authored
      Make a rtprio-server and rtprio-client option. Leave the server
      priority by default to 88 but lower client priority to 83. JACK
      does something similar by setting clients to rtprio-server - 5.
      
      Make module-rt use the client priority by default and bump the server
      priority explicitly in the config file.
      
      Leave the pulse-server to the default rtprio-client, there is no reason
      to lower this any further because it is really just a regular client.
      
      Bump the ffado packetizer thread to rtprio-server + 5 because that is
      also what JACK does.
      
      88 is still much higher than the value of 60 that JACK uses in
      Fedora but now this is at least configurable.
      f1a6fabb
  3. Jan 12, 2024
    • Sergio Costas's avatar
      Better meson_options description · 5125d69a
      Sergio Costas authored and Wim Taymans's avatar Wim Taymans committed
      5125d69a
    • Sergio Costas's avatar
      pipewire-pulse: add snap permissions support · d568dcd6
      Sergio Costas authored and Wim Taymans's avatar Wim Taymans committed
      SNAP containers have two main "audio" security rules:
      
       * audio-playback: the applications inside the container can
         send audio samples into a sink
      
       * audio-record: the applications inside the container can
         get audio samples from a source
      
      Also, old SNAP containers had the "pulseaudio" rule, which just
      exposed the pulseaudio socket directly, without limits. This
      is similar to the current Flatpak audio permissions.
      
      In the pulseaudio days, a specific pulseaudio module was used
      that checked the permissions given to the application and
      allowed or forbade access to the pulseaudio operations.
      With the change to pipewire, this functionality must be
      implemented in pipewire-pulse to guarantee the sandbox
      security.
      
      This patch adds support for sandboxing permissions in the
      pulseaudio module, and implements support for the SNAP audio
      security model, thus forbiding a SNAP application to record
      audio unless it has permissions to do so.
      
      The current code for pipewire-pulseaudio checks the permissions
      of the snap and adds three properties to each new client:
      
       * pipewire.snap.id: contains the Snap ID of the client.
      
       * pipewire.snap.audio.playback: its value is 'true' if the client
         has permission to play audio, or 'false' if not.
      
       * pipewire.snap.audio.record: its value is 'true' if the client
         has permission to record audio, or 'false' if not.
      
      These properties must be processed by wireplumber to add or
      remove access permissions to the corresponding nodes. That
      code is available in a separate patch: https://gitlab.freedesktop.org/pipewire/wireplumber/-/merge_requests/567
      d568dcd6
  4. Jan 05, 2024
  5. Dec 16, 2023
  6. Nov 24, 2023
  7. Nov 22, 2023
    • P V's avatar
      doc: make all manpages with Doxygen · 0fbcc873
      P V authored
      Use (fixed-up) Doxygen manpage output for all program & module manpages.
      
      This also allows formatting the manual pages properly in the HTML docs.
      
      The Markdown pages work properly only with Doxygen >= 1.9.7, older
      versions put them to wrong place in the HTML docs.
      0fbcc873
  8. Nov 21, 2023
  9. Oct 11, 2023
  10. Jul 25, 2023
    • P V's avatar
      meson.build: enable LC3 by default · cd3375f3
      P V authored and Wim Taymans's avatar Wim Taymans committed
      Enable LE Audio support by default if liblc3 is present, the Pipewire
      implementation should be OK. Remove unused HAVE_BLUETOOTH_BAP define,
      we don't have any #ifdefs for this.
      
      The feature is still disabled by default in BlueZ, which also now takes
      care of necessary hardware feature checks, and should be safe to enable
      on Pipewire side.
      cd3375f3
  11. May 28, 2023
  12. Mar 12, 2023
  13. Feb 24, 2023
    • Carlos Rafael Giani's avatar
      alsa-compress-offload-sink: major sink rework · 031f9929
      Carlos Rafael Giani authored
      * Add support for running the sink as a driver
      * Detect which compressed formats are actually supported
      * Correctly open/close/start/stop device according to the node commands
      * Shift away from tinycompress and use Compress-Offload ioctls directly
        to be able to access various caps information (including fragment sizes)
        which are unavailable in the tinycompress API
      * Implement SPA_PARAM_PropInfo and SPA_PARAM_Props support
      031f9929
  14. Feb 14, 2023
    • Niklāvs Koļesņikovs's avatar
      RLIMITs: add support for generating limits.d files · 5e0bfa0b
      Niklāvs Koļesņikovs authored
      
      
      This commit implements generating /etc/security/limits.d/20-pw-defaults.conf and
      /etc/security/limits.d/25-pw-rlimits.conf files. The numbering is arbitrary and
      may very well warrant being in the reverse order, however `man 5 limits.conf`
      does not appear to specify the parsing order or even say exactly how multiples
      matches will resolve, so the value can be adjusted later, if required.
      
      The actual limit values, the match rule and even whether each file is to be
      installed can be changed via the build system before compilation. Likewise
      the files can be modified or (re)moved during distro package building phase.
      
      The 20-pw-defaults.conf should only be installed on legacy systems lacking both
      a modern kernel and up to date systemd, because all it does is set the current
      Linux default. Accordingly its not installed by default.
      
      Signed-off-by: default avatarNiklāvs Koļesņikovs <89q1r14hd@relay.firefox.com>
      5e0bfa0b
  15. Feb 10, 2023
  16. Jan 30, 2023
    • Dmitry Sharshakov's avatar
      filter-chain: add spatializer · 3e0dc267
      Dmitry Sharshakov authored
      SOFA is a file format used for storing and accessing spatial audio data, namely head-related transfer functions. These can be used to create binaural spatial sound using head- or earphones.
      
      This commit introduces libmysofa as an optional dependency for loading SOFA files and creates a spatializer plugin for the filter-chain
      
      ci: install libmysofa-devel for full build
      
      ci: bump FDO_DISTRIBUTION_TAG
      3e0dc267
  17. Jan 24, 2023
  18. Dec 07, 2022
  19. Nov 28, 2022
  20. Nov 07, 2022
  21. Oct 18, 2022
  22. Oct 05, 2022
  23. Sep 15, 2022
  24. Aug 01, 2022
  25. Jul 19, 2022
  26. Jul 12, 2022
  27. May 01, 2022
  28. Mar 31, 2022
    • Carlos Rafael Giani's avatar
      meson: Add option to enable/disable legacy RTKit module · e8f93c3e
      Carlos Rafael Giani authored and Wim Taymans's avatar Wim Taymans committed
      The RTKit module is being replaced by the RT module. Currently, it is
      always built if D-Bus is present. For packagers, it can be beneficial to
      be able to disable the legacy module. Add a Meson option to allow for
      exactly that. Make it enabled by default to not change default behavior.
      e8f93c3e
  29. Feb 18, 2022
  30. Jan 21, 2022
  31. Jan 06, 2022
  32. Dec 10, 2021
  33. Nov 13, 2021
  34. Oct 28, 2021
  35. Oct 27, 2021