-
Notifications
You must be signed in to change notification settings - Fork 3k
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
ao/pulse: set similar properties as the pipewire backend #13724
base: master
Are you sure you want to change the base?
Conversation
7867d44
to
edc7b47
Compare
Download the artifacts for this pull request: |
In that case this LGTM. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Verified that the functions with regards to proplist are apparently available from 0.9.11, so our requirement of 'libpulse', version: '>= 1.0'
does not require bumping.
Thus otherwise LGTM.
edc7b47
to
db80bdf
Compare
Looked at the logic and going to test a more centralized way of cleaning up the proplist. If it looks good, I'll note it here and otherwise pull the commit in with possibly a small change (keeping |
db80bdf
to
20942a4
Compare
I am not sure if this is what you have in mind, but I simplified the cleanup of |
Will finish groceries and test :) . |
Ahh right, that is unfortunate... as far as I can see |
I think the initial mute/lowered volume was not the problem, just that it would still go that way in case of things switching... more specifically, I think haasn's comment @ #1173 (comment) goes through it. But I'm still trying to 100% grasp it :) . |
I am afraid that is still happening. I just tested and I saw the following:
|
So, is this good to go or are there still issues with this change? |
The only slightly problematic part is pa_proplist_sets(props, PA_PROP_MEDIA_ROLE, ao->init_flags & AO_INIT_MEDIA_ROLE_MUSIC ? "music" : "video"); in the diff. Unfortunately that is what would "fix" the issue reported on the pipewire bug tracker. It would essentially "reopen" #1173, although one can easily fix that by not loading |
Do we maybe want to merge this without |
That does not address the reason I propose this change, which is the inconsistent stream restore behaviour depending on which audio backend mpv uses. As mentioned in the referenced issue, VLC also sets I think it would be nice to keep the property list as consistent as possible between the two backends, but in the end it is a small thing. So how can we move forward from here? |
Not setting `media.role` especially negatively affects wireplumber's restore-stream feature as it will save different stream settings for ao=pulse and ao=pipewire, so they will be restored differently. For example: 1. mpv --ao=pipewire ... 2. mute the stream in pavucontrol 3. mpv --ao=pulse ... 4. note that the stream is not muted To alleviate that issue, set `media.role` the same way it is set in the pipewire audio backend. (As well as some others.) See https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3848
20942a4
to
3828b2f
Compare
Any chance we can move forward somehow? |
Maybe only set the media role if we're running under pipewire emulated pulseaudio rather than pulseaudio itself. |
I am really not a fan of doing that. |
Then this can't move forward until #13724 (comment) / #1173 is resolved on pulseaudio side. Open a bug report there perhaps. Just use the pipewire AO if you're on a system with pipewire-pulse anyway.
Not a fan of this unless you can convince pulseaudio to make that the default configuration. |
Not setting
media.role
especially negatively affects wireplumber's restore-stream feature as it will save different stream settings for ao=pulse and ao=pipewire, so they will be restored differently.For example:
To alleviate that issue, set
media.role
the same way it is set in the pipewire audio backend. (As well as some others.)See https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3848