A Multimedia Framework

Edit Package pipewire

PipeWire is a server and user space API to deal with multimedia pipelines.

Some of its features include:

* Capture and playback of audio and video with minimal latency;
* Real-time Multimedia processing on audio and video;
* Multiprocess architecture to let applications share multimedia content;
* GStreamer plugins for easy use and integration in current applications;
* Sandboxed applications support.

Refresh
Refresh
Source Files
Filename Size Changed
_service 0000000766 766 Bytes
_servicedata 0000000460 460 Bytes
baselibs.conf 0000000274 274 Bytes
limits-realtime_low_latency.conf 0000003304 3.23 KB
pipewire-1.2.0+223~git20240919.c07663b23.tar.xz 0001597008 1.52 MB
pipewire-1.2.0+264~git20240926.d8f0cc781.tar.xz 0001599680 1.53 MB
pipewire-alsa_default_params_tweak.patch 0000008191 8 KB
pipewire-issue1482-use_fullband_in_aac.patch 0000003517 3.43 KB
pipewire-issue1708-heaac.patch 0000000429 429 Bytes
pipewire-pulse.service.d-user-limits.conf 0000001131 1.1 KB
pipewire-reorder_BT_codecs.patch 0000001714 1.67 KB
pipewire-resample_quality_boost.patch 0000001107 1.08 KB
pipewire-rpmlintrc 0000000353 353 Bytes
pipewire.changes 0000480260 469 KB
pipewire.service.d-system-limits.conf 0000000692 692 Bytes
pipewire.service.d-user-limits.conf 0000000963 963 Bytes
pipewire.spec 0000025532 24.9 KB
pipewire_stop-bitrate-starving-opus.patch 0000001000 1000 Bytes
rtkit-daemon.service.d-system-limits.conf 0000000107 107 Bytes
rtkit.conf 0000000370 370 Bytes
tuned_latency-balanced.conf 0000030020 29.3 KB
tuned_latency-balanced.script 0000007575 7.4 KB
user.d-realtime_low_latency.conf 0000001217 1.19 KB
user@.service.d-limits.conf 0000002351 2.3 KB
Revision 1161 (latest revision is 1172)
Sergey Kondakov's avatar Sergey Kondakov (X0F) committed (revision 1161)
- Update to version 1.2.0+264~git20240926.d8f0cc781:
  * jack: take the right locks when modifying globals.
  * jack: free ports and cached objects
  * module-rt: first join and then free memory
  * connection: fix fd leaks and confusion
  * fmt-ops: add RVV optimizations for f32d_to_s32
  * jack: use the CPU max_alignment
  * rtp-sap: make the receive socket listen only to the configured sap.ip
  * rtp-sap: announce the source IP as the "connection" address in unicast
  * profiler: Add an option to reduce sampling interval
  * fmt-ops: add RVV optimizations for s16_to_f32d
  * RISCV: Improve scalar computation of f32d_to_s16
  * spa: avoid C23 empty initializers in the headers
Comments 5

Masaru Nomiya's avatar

Your package is great. Many Thanks.

The sound quality is much better than the official openSUSE distribution and I enjoy my music (Classical & Progressive Rock) everyday. I think your package should be an official openSUSE package.


Masaru Nomiya's avatar

Currently, there are two problems in my environment. One is that $ paclt info etc. returns the following error: "Connection failure: Connection refused.

 Connection failure: Connection refused  pa_context_connect() failed: Connection refused

This is the same in the official Tumbleweed package, so I consider it a bug in pipewire itself.

The second problem is alsa or pulseaudio related, e.g., running $ aplay foo.wav results in buffer underruns, or desktop sounds via pulseaudio do not play. These phenomena do not occur with the official pipewire package for Tumbleweed.

Best.


Masaru Nomiya's avatar

Hello, again.

Connection failure: Connection refused  pa_context_connect() failed: Connection refused

This was due to a misconfiguration of my pipewire-pulse.

The second problem is alsa or pulseaudio> related, e.g., running $ aplay foo.wav results in buffer underruns, or desktop sounds via pulseaudio do not play. These phenomena do not occur with the official pipewire package for Tumbleweed.

I found the cause of aplay's problem. But, I don't use alsa utiklity, so I don't care.

Anyway, I finally got the fiter file completed yesterday. I am very impressed with the sound it plays, as I have never had such a sound in my 60 years of audio life....

Some well-known audio critics in Japan say that latency is irrelevant if you are just listening to it, but I think they are wrong. In fact, the sound quality is different between the official package and the package you provide. I really appreciate you for seeing this point and increasing the potential of pipewire to its full potential.


Sergey Kondakov's avatar

Sorry for no response, OBS doesn't send me notifications for some reason. My packages are kind of haphazard and do not follow openSUSE's official maintenance style, so they will not be adopted. Besides, I mostly do non-release snapshot builds which are frowned upon, unless upstream abandons releases altogether, like it happens with most emulators.

Latency is indeed irrelevant for quality of sound in non-realtime environment (I target between 12/24/48 ms depending on if source is realtime, like a game or synthesizer, or not). But the sound is different, although I'm not sure if it really noticeable, due to different default settings, mainly much higher resample quality (but this also should not matter in 1-to-1 playback rate). If you really want to change the sound, like I do, you should use EasyEffect+Calf&LinuxStudioPlugins, although purists hate using filters on playback. I also experimenting with OpenAL filters, so playback pipeline looks like that for me: source -> libopenal (headphone settings but no resampling as it's broken in openal) -> pipewire-pulse (+ voluntary auto-resampling) -> easyeffects-in -> Calf bass enhancer/exciter -> LSP equalizer & limiter -> easyeffects-out -> pipewire-alsa (+ forced resampling to 192khz) -> delta-sigma DAC for planar in-ear headphones.


Masaru Nomiya's avatar

Thanks for replay.

My packages are kind of haphazard and do not follow openSUSE's official maintenance style, so they will not be adopted.

I found this place at openSUSE Software, but it has been removed now.....

Latency is indeed irrelevant for quality of sound in non- realtime environment (I target between 12/24/48 ms depending on if source is realtime, like a game or synthesizer, or not).

It should be. ..... I feel there is no difference in sound quality with USBDAC (Marantz HD-AMP1)+2way Speaker. But with USBDAC+2.1 (+woofer), I feel your pipewire has better sound quality. To my surprise, I can hear from 20Hz to 23000Hz with 2.1. This device is about one-fifth the price of the one I was using for audio, and I am impressed not only by the far better sound quality, but also by the fact that it can be used in a variety of ways by changing the filters: one filter for classical music, another for popular music, and so on. In the days of audio, I had to choose between equipment for classical music and equipment for jazz ((mainly speakers).

If you really want to change the sound, like I do, you should use EasyEffect+Calf&LinuxStudioPlugins, although purists hate using filters on playback.

I have been using EasyEffect for a while. But in my environment, I could only use it in its default state. In other words, when I changed the value, I got a storm of noise. So I had no choice but to go on to create filters. But now I am quite satisfied with the sound of the filter.

I'm now listening to Pergolesi's Stabat Mater and being moved by it ...

Thanks.

openSUSE Build Service is sponsored by