Skip to content
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

easyeffects prevents other BT multipoint sources from playing to the sink #3487

Open
runderwo opened this issue Nov 7, 2024 · 3 comments
Open

Comments

@runderwo
Copy link

runderwo commented Nov 7, 2024

EasyEffects Version

7.1.6-1ubuntu0.24.04.1

What package are you using?

Other (specify below)

Distribution

Ubuntu 24.04.1

Describe the bug

I have tried easyeffects with two different BT headsets supporting multipoint connections (maintaining a connection to multiple source devices simultaneously, rather than exclusive pairing). The usual behavior is that when the headset is idle, a source can begin playing to it, and prevents other sources from playing audio to the device until it is done.

However, when easyeffects is enabled and used as the default sink, it seems that it never allows the device stream to idle. Even when no audio is playing, other devices are prevented from playing to that headset. Only when all programs which are using the easyeffects sink are stopped can the other device play to the headset again.

Is this a known problem and could there be a fix?

Expected Behavior

When a program is not actively playing audio through easyeffects to a BT audio sink, the hardware stream should idle so that other source devices can play to that sink instead.

Debug Log

Debug Log
Paste your log here

Additional Information

No response

@wwmm
Copy link
Owner

wwmm commented Nov 7, 2024

However, when easyeffects is enabled and used as the default sink

Do not do this. Never set its virtual devices as the system default #1836.

When a program is not actively playing audio through easyeffects to a BT audio sink, the hardware stream should idle so that other source devices can play to that sink instead.

PipeWire is the one managing each filter state and usually it is able to put the pipeline on idle when it should be. Maybe your particular case has something different forbidding that. Run pw-dot while EasyEffects is applying effects to something so we can see how the filters are linked. The output file can be viewed with the command xdot.

@runderwo
Copy link
Author

runderwo commented Nov 17, 2024

I must be doing something wrong to reach the optimal configuration. The attached screenshot contains
the GNOME and easyeffects sink settings. I have selected a non-easyeffects device as the fallback device in pavucontrol (despite using pipewire). However, applications which play audio always seem to select easyeffects as the default sink and I don't know why. Screenshot from 2024-11-16 21-55-18
Screenshot from 2024-11-16 22-01-23

@wwmm
Copy link
Owner

wwmm commented Nov 17, 2024

However, applications which play audio always seem to select easyeffects as the default sink and I don't know why.

By default EasyEffects has Process All Streams Output turned on in its preferences window. It is what most users will want. What this option does is automatically moving playback streams to EasyEffects virtual sink. If that is not desirable in your configuration you will have to disable this option and manually enable effects for the app you want effects applied. EasyEffects shows a enable checkbox for each stream.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants