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

Disable suspend on idle for Digital outputs by default #4

Open
wants to merge 7 commits into
base: master_jammy
Choose a base branch
from

Conversation

a-sala7
Copy link

@a-sala7 a-sala7 commented Jul 13, 2022

Fixes an annoying problem with digital outputs that I assume should be common with most digital audio devices.

When the device receives an audio signal again after suspending, it takes a couple of seconds to start up, causing the user to miss the audio that played back during that time.
E.g., https://unix.stackexchange.com/questions/676846/how-do-i-disable-audio-sink-suspend-on-idle-using-wireplumber-in-fedora-35-so-th

I'm not 100% sure if matching "Digital" in the node description is the best approach.
Although it did work for me as all my digital output nodes had that in the description, I'm not sure that would apply for all devices people might be using.
However it seemed better than simply applying the property to all audio outputs as I don't know the side effects that might cause.

Clearly I'm no expert so I'm sorry if I did anything wrong and any input is appreciated.
Thanks

@jacobgkau jacobgkau requested review from a team July 13, 2022 21:51
@mmstick
Copy link
Member

mmstick commented Jul 13, 2022

You could propose the PR to the upstream wireplumber project. They'd be able to give better advice on the change.

@a-sala7
Copy link
Author

a-sala7 commented Jul 14, 2022

You could propose the PR to the upstream wireplumber project. They'd be able to give better advice on the change.

Will give it a shot as well, thanks.

mmstick pushed a commit that referenced this pull request Jul 17, 2024
not all functions in glib returns a value for the used log fields
in this case a 'g_return_val_if_fail(..) will only set 4 fields an
set the other field to NULL which leads to a segfault

Jul 22 13:41:37 Cynap-Pro-01121508 systemd-coredump[7247]: Process 496 (wireplumber) of user 4242 dumped core.

                                                           Stack trace of thread 496:
                                                           #0  0x00007f6b2ce58e99 __strlen_avx2 (libc.so.6 + 0x150e99)
                                                           #1  0x00007f6b2cf3ebe5 g_log_writer_journald (libglib-2.0.so.0 + 0x5fbe5)
                                                           #2  0x00007f6b2d0a9316 wp_log_fields_write_to_journal (libwireplumber-0.5.so.0 + 0x2b316)
                                                           #3  0x00007f6b2d0a96f5 wp_log_writer_default (libwireplumber-0.5.so.0 + 0x2b6f5)
                                                           #4  0x00007f6b2cf3cf3e g_log_structured_array (libglib-2.0.so.0 + 0x5df3e)
                                                           #5  0x00007f6b2cf3d0ae g_log_structured_array (libglib-2.0.so.0 + 0x5e0ae)
                                                           #6  0x00007f6b2cf3d4b7 g_logv (libglib-2.0.so.0 + 0x5e4b7)
                                                           #7  0x00007f6b2cf3d7ef g_log (libglib-2.0.so.0 + 0x5e7ef)
                                                           #8  0x00007f6b29efafef get_node_by_id (libwireplumber-module-cb-ipc.so + 0x24fef)
                                                           #9  0x00007f6b29efb032 wp_cb_ipc_get_app_properties (libwireplumber-module-cb-ipc.so + 0x25032)
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

Successfully merging this pull request may close these issues.

5 participants