-
Notifications
You must be signed in to change notification settings - Fork 3
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
Wireplumber 0.5.5 #19
Open
mmstick
wants to merge
733
commits into
master_jammy
Choose a base branch
from
wireplumber-0.5.5
base: master_jammy
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Use pw_log_set_level_string to set log topic levels also for libpipewire topics.
bluez5.auto-connect is by default disabled. device.profile does not exist. MIDI nodes also have node.latency-offset-msec
The 'target.dont_move' property is only meant to be used with 'target.object' metadata property, not smart filters metadata properties. This was probably left accidentaly unused when designing a solution for #524 involving smart filters. Fixes #558
…match This fixes the target not being found when setting non-string values in the JSON matching rules of the 'filter.smart.target' property.
…ack filter This patch improves the bluetooth profile autoswitch so that it works with any application that wants to capture from a bluetooth device. To do so, a loopback source filter is created per connected bluetooth device. If an application wants to capture audio from such loopback source filter, the profile in the associated bluetooth device is changed to HSP/HFP. If there isn't any application connected to the loopback source filter, the profile switches back to A2DP.
Docs for state_changed_callback indicates state being emited as pointer, but implementation emits it as enum value.
This hides the loopback stream node from applications, making desktop environments to not show the 'recording from microphone' icon (Eg gnome-panel) when the bluetooth device is not recording yet.
…in component When running multi-instance setups or when clients like wpctl want to access the WpSettings instance, it makes no sense to load the entire module-settings, which will also create sm-settings metadata instances.
This makes it more consistent with the nomenclature of other settings
Also remove "main.rst", which is to be removed entirely as a file (but only after its contents are all moved to other files).
Since the loopback bluetooth source node is meant to be always used by applications, this change hides the actual bluez sco-source node by marking them as internal. This avoids showing 2 input devices in pavucontrol per BT device if HSP/HFP profile is enabled.
This is because the associated node does not exist anymore. This change also logs the session item Id when handling it, so that it is easy to know if the unhandled session item was handled or not.
The log object should be used with : in order to make sure that the log handler has the correct topic in context.
Check target is not nil, which sometimes occurs, before trying to access its .id property. Fixes lua errors in logs.
…irectory This is because 'filter-forward-format.lua' only configures nodes, and therefore does not have anything to do with the linking logic. The setting has also been renamed to 'node.filter.forward-format'.
There are 2 cases captured here: 1. The stream has "stream.monitor = true", which is used by pavucontrol for the vu meters and should probably not be managed by the role policy, no matter if the target is a Source or a Sink 2. The stream is an Input (capture) stream and is targeting a Sink, which may be used to target the sink's monitor ports. Even if we want, we can't manage these links because they have opposite direction than the one expected. Let's leave them alone...
… hook is enabled Otherwise we would be left with broken links that are never activated
The previous check was also working, but this is safer
This is now provided by find-media-role-target.lua
Also, move the example from linking.conf to media-role-nodes.conf, as it's more relevant there, and make sure the setting is constantly read back in the Lua script, so that runtime changes can work.
This way of definining dependencies ensures that if we remove one of the find-* hooks from the config, the rest of them will continue to work in the expected order. Previously, removing one of them would break the entire chain.
…ased policy The previous assumption that any target with "device.intended-roles" should be managed by the role-based policy is wrong, as for example Bluetooth SCO nodes always have "device.intended-roles = Communication" and some ALSA devices managed by ACP also do. This is meant to be used as a hint for the desktop policy (it's been there in PulseAudio as well) and does not necessarily mean that a role-priority-based policy should be applied on all links to those devices. Instead, use a new property to explicitly mark all the targets that are meant to be managed by the role-based policy and respect that in all places where we check for a potential role-based policy link. Fixes: #682
This reverts commit 8012fbd. There seems to be some underlying bug that sometimes causes a crash when the Bluetooth monitor uses a loopback for autoswitching between profiles. Reverting temporarily until the cause is fully determined. See #682
This will properly show '*' for default sink filters in the status output.
The intention here is to fix a Bluetooth bug where changing between different profiles momentarily causes streams to be linked to an internal speaker. Unfortunately, this case is not handled by the event dispatcher because some signals are emitted using idle callbacks, and therefore we have to rely on extra logic in rescan.lua to solve the problem.
This patch removes the manually created object managers in the BT profile autoswitch logic, and instead uses the object managers from the event source, simplifying the logic a bit.
This failed to build for jammy. |
Seems to require a newer version of pipewire. I could package a newer pipewire 1.0.X version |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
May fix regressions in pop-os/pipewire#77