Volume down key stops working with 3-channel (2.1) virtual sink (module-remap-sink)

Open
#446 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
c
Domain
desktop

Research direction

Start by tracing the volume-down handling around gvc_mixer_stream_get_volume and set_volume for module-remap-sink channels FL, FR, and LFE. Reproduce the issue with the listed PipeWire and WirePlumber setup, then verify that repeated volume-down keypresses continue changing all three channel levels instead of stopping when old_vol_pa equals new_vol_pa.

Written by the indexing model from the issue text.

Description

When using a virtual 2.1 sink created via module-remap-sink with channels FL,FR,LFE,
the volume down key stops working after a few presses.

gvc_mixer_stream_get_volume returns the max channel value, but after set_volume
the LFE channel drifts from FL/FR levels. On the next keypress old_vol_pa == new_vol_pa
so the condition if (old_vol_pa != new_vol_pa) is never true and volume doesn't change.

Volume UP works fine. Volume slider in Sound Settings works fine. Only volume DOWN key
is affected.

Setup: PipeWire 1.4.10, WirePlumber 0.5.13, Arch Linux, Realtek ALC897

Dominant language
C
Stars
71
Forks
75
PR merge metrics
No merged PRs in 30d

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from linuxmint/cinnamon-settings-daemon

All issues in linuxmint/cinnamon-settings-daemon

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.