-
Notifications
You must be signed in to change notification settings - Fork 115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pipewire: Add new output plugin. Closes: #1048 #104
pipewire: Add new output plugin. Closes: #1048 #104
Conversation
Would be great to see this merged. |
The biggest issue I see here is |
@radioactiveman It may enough to just move the |
Thanks for the review @jlindgren90 and thanks @PedroHLC for testing. 👍 |
Based on the PipeWire Output Plugin for Qmmp, written by Ilya Kotov.
- Implement period_wait() - Don't hardcode buffer size - Check return values more carefully - Prevent memory leaks in error branches - Simplify code
Yes, this works. 👍 And I have noticed that the volume slider is in fact more responsive now, especially with the GTK interface. |
@jlindgren90: I have rebased this to Could you please answer my two questions in the review? Thanks and looking forward to the merge. :) |
@radioactiveman Looks good to me. Thanks for all your work on this! |
PipeWire uses/offers the exact same API as PulseAudio, in other words PA plugin is 100% compatible and sufficient for PipeWire. There's no need to have two plugins. You may rename the old one from "PulseAudio plugin" to "PulseAudio/PipeWire plugin" and that's it. |
One plugin uses libpulse, and the other uses libpipewire directly. There's no need to support either sound system, but we do anyway. |
This is my attempt to port the PipeWire output plugin from Qmmp to Audacious.
Ilya Kotov, author of the related Qmmp code which is under GPL, allowed me to use the BSD license for our code base.
I'm using the plugin successfully for some time now, but further tests are of course appreciated. :)
Could you please support with the remaining things listed below? I don't know how to do them.
period_wait()
.libaudcore
instead of the raw char array.Other questions:
set_channel_map()
can be reduced, since Audacious only supports up to 10 channels. Is this correct?to_pipewire_format()
? The PulseAudio plugin for example only maps a few formats into_pulse_format()
. Why is that?