mpv-player / mpv-player/mpv

With "ao=pipewire" changing ao-volume doesn't match mixer reported value

Open
#11,065 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ao:pipewire
Dominant language
C
Stars
37k
Forks
3.5k
Avg merge
1d 10h
Merged PRs (30d)
22

Description

Important Information
mpv version: 0.35.0
Linux Distribution and Version: Archlinux
Source of the mpv binary: Archlinux community repo
pipewire version: 0.3.63

input.conf:

9 add ao-volume -2
0 add ao-volume +2
/ add ao-volume -2
* add ao-volume +2

So 0% and 100% match, but values in-between don't. So setting volume to 2% in mpv via ao-volume (using hotkeys defined in input.conf) results in the volume showing as 27% in both pavucontrol and kde's volume mixer, 12% in mpv is 50% in both mixers, 74% in mpv is 91% in both mixers, etc. Setting --ao=pulse fixes this, so e.g. 50% in mpv is 50% in the mixer. I looked through the man page for mpv thinking maybe there was some setting for how volume is scaled maybe, but couldn't find anything. If it isn't a bug I find it weird that pulseaudio is fine, but pipewire is different.

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.

Research direction

No source files or tests are named. Start by reproducing the reported ao=pipewire volume mappings on mpv 0.35.0 with the supplied input.conf, then compare mpv's displayed value with pavucontrol or KDE's mixer and contrast the results with --ao=pulse. Done means intermediate volume values agree between mpv and the mixer, without changing the reported 0% and 100% behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux
Domain
audio-video-rtc
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.