Recent

Author Topic: Pipewire API  (Read 2751 times)

backprop

  • Full Member
  • ***
  • Posts: 216
Pipewire API
« on: March 10, 2026, 06:43:25 am »
Anyone worked on API library for Pipewire?

That should replace completely Portaudio in the future...

Thausand

  • Sr. Member
  • ****
  • Posts: 498
Re: Pipewire API
« Reply #1 on: March 10, 2026, 07:38:06 am »
Anyone worked on API library for Pipewire?
Quote
https://gitlab.com/freepascal.org/fpc/source/-/tree/main/packages/libpipewire?ref_type=heads

Quote
That should replace completely Portaudio in the future...
No

Fred vS

  • Hero Member
  • *****
  • Posts: 3871
    • StrumPract is the musicians best friend
Re: Pipewire API
« Reply #2 on: March 11, 2026, 05:47:15 pm »
Anyone worked on API library for Pipewire?

That should replace completely Portaudio in the future...

Huh, PortAudio supports multiple backend audio APIs, such as Windows MME/DirectSound/WASAPI/ASIO, Mac Core Audio, Unix ALSA/OSS/Pulseaudio and also PipeWire.

It is not a replacement of any audio APIs, only a "universal" way to deal with those APIs.
« Last Edit: March 11, 2026, 05:51:21 pm by Fred vS »
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

backprop

  • Full Member
  • ***
  • Posts: 216
Re: Pipewire API
« Reply #3 on: March 12, 2026, 05:44:44 am »

Huh, PortAudio supports multiple backend audio APIs, such as Windows MME/DirectSound/WASAPI/ASIO, Mac Core Audio, Unix ALSA/OSS/Pulseaudio and also PipeWire.

It is not a replacement of any audio APIs, only a "universal" way to deal with those APIs.

https://pipewire.org/

"PipeWire is a project that aims to greatly improve handling of audio and video under Linux. It provides a low-latency, graph-based processing engine on top of audio and video devices that can be used to support the use cases currently handled by both PulseAudio and JACK. PipeWire was designed with a powerful security model that makes interacting with audio and video devices from containerized applications easy, with support for Flatpak applications being the primary goal. Alongside Wayland and Flatpak, we expect PipeWire to provide a core building block for the future of Linux application development."

And seems it did great job. Portaudio is known to produce great latency in some cases... I think that new Kubuntu 24.10 do not come with Portaudio, at least I have not found it's existence during testing live version.
« Last Edit: March 12, 2026, 08:45:33 am by backprop »

Fred vS

  • Hero Member
  • *****
  • Posts: 3871
    • StrumPract is the musicians best friend
Re: Pipewire API
« Reply #4 on: March 12, 2026, 03:35:46 pm »
Portaudio is known to produce great latency in some cases...

Portaudio indicates the best possible latency based on the sound card.

The actual latency depends on the backend audio APIs used by Portaudio (which you can choose) and of course on the application that uses it.
For example, GTK eats latency, Qt is much better (and MSEgui is the best  :-X ).

I think that new Kubuntu 24.10 do not come with Portaudio

Did you install Audacity?  It uses Portaudio.

[EDIT] Could it be that you're confusing PortAudio with PulseAudio?
PipeWire does indeed seem to be an alternative to PulseAudio.

And a "X11/Wayland-style" battle is raging.

That's why I love PortAudio, which lets you choose the API installed on the system.
« Last Edit: March 12, 2026, 04:48:29 pm by Fred vS »
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

Thausand

  • Sr. Member
  • ****
  • Posts: 498
Re: Pipewire API
« Reply #5 on: March 12, 2026, 04:56:42 pm »
All talk and write about x vs y tiresome. Linux have choice. That is why exist Linux you have make decide what want and not have other people make decide for you.

pipewire is know it have problem when take away PortAudio so have https://docs.pipewire.org/page_man_pipewire-pulse_1.html for compensate.

Fred vS

  • Hero Member
  • *****
  • Posts: 3871
    • StrumPract is the musicians best friend
Re: Pipewire API
« Reply #6 on: March 12, 2026, 05:08:26 pm »
pipewire is know it have problem when take away PortAudio so have https://docs.pipewire.org/page_man_pipewire-pulse_1.html for compensate.

Hmm, this is a PulseAudio vs. PipeWire battle.

What does PortAudio have to do with this (or I miss something) ?
« Last Edit: March 12, 2026, 05:30:58 pm by Fred vS »
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

Thausand

  • Sr. Member
  • ****
  • Posts: 498
Re: Pipewire API
« Reply #7 on: March 12, 2026, 07:50:18 pm »
Hmm, this is a PulseAudio vs. PipeWire battle.
There one battle: What /I/ choose. Not what tell internet, not new shiny car model and not distribution

backprop have write convince there is future fait make up by ... "they who tell" ?

same is story for have convince wayland is good and rule world and gtk is eol then all have drive new shiny model car that have no frame, not have steer wheel and tire is miss.

Have also look: https://xkcd.com/927/ :-)

Quote
What does PortAudio have to do with this (or I miss something) ?
https://files.portaudio.com/docs/v19-doxydocs-dev/pa__linux__pulseaudio__cb_8c.html

Fred vS

  • Hero Member
  • *****
  • Posts: 3871
    • StrumPract is the musicians best friend
Re: Pipewire API
« Reply #8 on: March 12, 2026, 09:23:22 pm »
Quote
What does PortAudio have to do with this (or I miss something) ?
https://files.portaudio.com/docs/v19-doxydocs-dev/pa__linux__pulseaudio__cb_8c.html

This is PortAudio: https://www.portaudio.com/

and that is PulseAudio: https://www.freedesktop.org/wiki/Software/PulseAudio/

They are 2 different projects.
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

Thausand

  • Sr. Member
  • ****
  • Posts: 498
Re: Pipewire API
« Reply #9 on: March 12, 2026, 09:49:51 pm »
They are 2 different projects.
They make same functionality for pulse so then no reason for keep PA. Then when not know audio and want choose solution, then why have choice for PA ? Is trick of mind for make competiton irrelevant.

Fred vS

  • Hero Member
  • *****
  • Posts: 3871
    • StrumPract is the musicians best friend
Re: Pipewire API
« Reply #10 on: March 12, 2026, 10:11:02 pm »
They are 2 different projects.
They make same functionality for pulse so then no reason for keep PA. Then when not know audio and want choose solution, then why have choice for PA ? Is trick of mind for make competiton irrelevant.

PortAudio is a tool for developers to access various audio APIs, such as ALSA, PulseAudio, JACK, PipeWire, etc., using the same code for each API and for each OS .
PipeWire is mainly a fork of JACK and is accessible through PortAudio.

I'm going to end this discussion.
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

 

TinyPortal © 2005-2018