mirror of
https://github.com/devgianlu/go-librespot.git
synced 2026-04-26 05:15:49 +03:00
[PR #86] [MERGED] PulseAudio support #199
Labels
No labels
bug
enhancement
pull-request
spotify-side
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/go-librespot#199
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/devgianlu/go-librespot/pull/86
Author: @aykevl
Created: 9/9/2024
Status: ✅ Merged
Merged: 11/7/2024
Merged by: @devgianlu
Base:
master← Head:pulseaudio📝 Commits (3)
14aa439refactor: support multiple kinds of outputs through an interface4ad9ae1feat: refactor volume change events4e3abfcfeat: add PulseAudio backend📊 Changes
12 files changed (+353 additions, -249 deletions)
View changed files
📝
cmd/daemon/controls.go(+9 -2)📝
cmd/daemon/main.go(+9 -27)📝
cmd/daemon/player.go(+19 -4)📝
config_schema.json(+9 -0)📝
go.mod(+2 -1)📝
go.sum(+2 -0)📝
output/driver-alsa.go(+27 -26)➕
output/driver-pulseaudio.go(+186 -0)📝
output/mixer-alsa.go(+4 -4)📝
output/output.go(+72 -42)➖
output/ring_buffer.go(+0 -129)📝
player/player.go(+14 -14)📄 Description
This PR adds PulseAudio protocol support. PulseAudio and PipeWire are both commonly used on desktop Linux systems, and because PipeWire is also typically used with the PulseAudio protocol this addition supports both.
(It's true that both also support the ALSA protocol, but the PulseAudio protocol integrates a little bit better).
The direct reason why I wrote this was because the ALSA backend wasn't working well for me with my built-in speakers (it was stuttering, no idea why) and wanted to see whether using PulseAudio would avoid that. And indeed it does. But I figured this might be useful for more people.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.