-
Notifications
You must be signed in to change notification settings - Fork 3
Update to pulseaudio 17.0 #7
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
Open
mlehtima
wants to merge
817
commits into
master
Choose a base branch
from
jb60996
base: master
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 hidden or 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
When the --format json parameter is given on the command line, we attempt to produce a JSON output for most commands. Our implementation of the JSON serialization uses vsnprintf to output numbers. Unfortunately, vsnprintf is affected by the locale and more specifically the LC_NUMERIC variable. When LC_NUMERIC is set to, for instance, fr_FR.UTF-8, floating-point numbers are output with a comma as the decimal separator, which is then considered invalid JSON. $ LC_NUMERIC=fr_FR.UTF-8 pactl --format json list sinks | jq . parse error: Objects must consist of key:value pairs at line 1, column 435 This is the token which failed to parse: }},"balance":0,00,"base_volume":{ Fixed by overriding the LC_NUMERIC value when we request JSON output. Signed-off-by: Olivier Gayot <[email protected]> Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/702>
Move the sink creation logic to its own function. This is in preparation for sinks being created async. Store the relevant config parameters in userdata, so create_sink() can access that data. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/688>
The io thread, after connection, sends a message asking for a sink to be created. After the ctl thread is done with creation, it sends a message back to the io thread so it can continue. This ensures that the sink only exists when it's connected to something. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/688>
When configured, reinitialize the module instead of exiting. This allows a restart/reconnect, but the module to appear to always be alive when the user does: "pactl list modules". (The sink will still not exist until the tcp connection is established.) Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/688>
Applies the same changes as to tunnel-sink-new: defer the source creation until after the TCP connection is restablished, then attempt to restart the module on failure. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/688>
Defer the creation of the source/sink until after the TCP connection has been established. Upon protocol errors, try restarting the module. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/688>
…tream creation Without the flag, the latency on the remote server will not be configured correctly. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/699>
Currently translated at 100.0% (573 of 573 strings) Translation: pulseaudio/pulseaudio Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ko/ Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/703>
Currently translated at 100.0% (572 of 572 strings) Translation: pulseaudio/pulseaudio Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/hr/ Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/703>
Currently translated at 100.0% (573 of 573 strings) Translation: pulseaudio/pulseaudio Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ko/ Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/703>
Currently translated at 100.0% (573 of 573 strings) Translation: pulseaudio/pulseaudio Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ko/ Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/703>
Currently translated at 100.0% (572 of 572 strings) Translation: pulseaudio/pulseaudio Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/nn/ Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/703>
Currently translated at 92.8% (531 of 572 strings) Translation: pulseaudio/pulseaudio Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/fi/ Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/703>
Currently translated at 84.2% (482 of 572 strings) Translation: pulseaudio/pulseaudio Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ja/ Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/703>
Currently translated at 100.0% (572 of 572 strings) Translation: pulseaudio/pulseaudio Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/hr/ Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/703>
Currently translated at 97.7% (559 of 572 strings) Translation: pulseaudio/pulseaudio Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ru/ Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/703>
Currently translated at 97.7% (559 of 572 strings) Translation: pulseaudio/pulseaudio Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ru/ Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/703>
Currently translated at 99.1% (567 of 572 strings) Translation: pulseaudio/pulseaudio Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ru/ Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/703>
The byte_count argument of pa_smoother_2_get_delay() was defined as size_t which lead to overflow problems on 32-bit architectures. Changed type to uint_64. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/700>
The AVRCP service is known to not be connected before the A2DP transport is, resulting in PulseAudio asking BlueZ for an initial 'Volume' value but not getting it because the property doesn't exist. To prevent end-users from conjecturing this to be the source of whatever issue they're observing, demote it to a warning. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/707>
The old tunnel modules switched wrongly between main thread and I/O-thread while the new tunnel modules sent unnecessary messages to the main thread. This patch fixes the issues. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/705>
…for re-init When the tunnel modules had no connection and a re-init was pending, the module could be unloaded without cancelling the pending re-init. When the timer expired in that situation, this lead to a crash. This patch fixes the problem by keeping a reference when the module is scheduled to be re-initialized. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/705>
The timestamp used for updating the smoother was taken at the wrong time. It may take some time until an async message is executed (measured up to 2ms), therefore the timestamp used to update the smoother must be taken before the message is executed and not inside the message. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/705>
When the module is loaded and avahi_client_new() fails because the client cannot connect, a shutdown of the module is scheduled. In parallel, the client_callback is called with AVAHI_ERR_DISCONNECTED and another connection attempt is made which also fails and triggers a second unload of the module. This crashes PA, because there is already an unload in progress. This patch fixes the problem by checking if an unload is already scheduled. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/710>
Bluetooth transport layer already allows for packets larger than mSBC frame, and there are up to 1 + MTU / (mSBC packet size) complete frames to be decoded from each incoming SCO packet. Now decoder fails when there is more than one complete frame available, which could happen if MTU size is larger than 1.5 * (mSBC packet size) = 90 Fix this by adding a loop over avialable frames, and adjust decoded buffer size to allow decoding up to 1 + MTU / (mSBC packet size) frames at once. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/706>
Currently translated at 99.8% (571 of 572 strings) Translation: pulseaudio/pulseaudio Translate-URL: https://translate.fedoraproject.org/projects/pulseaudio/pulseaudio/ru/ Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/713>
Signed-off-by: Juho Hämäläinen <[email protected]>
Signed-off-by: Juho Hämäläinen <[email protected]>
Signed-off-by: Juho Hämäläinen <[email protected]>
Signed-off-by: Juho Hämäläinen <[email protected]>
Signed-off-by: Juho Hämäläinen <[email protected]>
Only does anything when headset_head_unit profile is active. Signed-off-by: Juho Hämäläinen <[email protected]>
Signed-off-by: Juho Hämäläinen <[email protected]>
Signed-off-by: Juho Hämäläinen <[email protected]>
Signed-off-by: Juho Hämäläinen <[email protected]>
No need to act too much on oFono state changes, as if the daemon disappears it's either going to appear again shortly, or we are rebooting, or something similar. Signed-off-by: Juho Hämäläinen <[email protected]>
…o a cork role" This reverts commit 6473e9e.
This reverts commit 94dd7b4.
This reverts commit a56c8a1.
This reverts commit 65cc86f.
…xset" This reverts commit 5540f72.
…urce-output" This reverts commit 0f4f109.
When using only module-role-ducking duck streams even if the ducking stream is in corked state. Signed-off-by: Juho Hämäläinen <[email protected]>
Use LLIST instead of array for interaction groups, and refactor parsing. Side effect from refactoring is that module-role-cork also now supports interaction groups. Signed-off-by: Juho Hämäläinen <[email protected]>
Stream interaction groups now have hashmaps for all trigger and interaction states and roles. We track both trigger streams and interaction streams separately, so that applying interaction (ducking or cork and muting) is relatively simple. Signed-off-by: Juho Hämäläinen <[email protected]>
With this enabled when trigger stream is available but in corked state trigger is already applied to interaction streams. This is useful when trigger stream pauses for a while before playing, so that the trigger happens slightly earlier. Signed-off-by: Juho Hämäläinen <[email protected]>
Signed-off-by: Juho Hämäläinen <[email protected]>
When configurations using the module have updated this commit can be removed.
…#54265 OMP#JOLLA-147 Some apps have different group than the default which means the apps may try to change ownership of these secure directories. When combined with sandboxing this fchown call will fail as the app doesn't have write access to runtime directory. Since the mask is 0700 meaning that owning group doesn't matter we can avoid this call completely by checking whether the group needs to be changed. Signed-off-by: Tomi Leppänen <[email protected]>
Application id is used to identify streams in resource policy.
This reverts commit e43ca00.
…les" This reverts commit f7acc2a.
daemon: use speex-fixed-2 daemon: disable auto-exit client: disable autospawn Also add submodule-era changelog entries. squashed: sfos: packaging: Do not use gdbm even if available ; JB#44440 Don't use %config(noreplace). JB#44152 Fix aarch64 builds by using systemd macros. JB#49681 sfos: packaging: Add configuration for system-wide mode Add configuration for system-wide mode. These new unit is not meant to be started by user but instead required when making emergency calls outside user session. PartOf ensures that the unit is stopped when emergency-call.target unit is stopped so that it doesn't collide with user session pulseaudio. There are no conflicts to multi-user.target or systemd-user-sessions.service because otherwise they may not be started at all if this unit happens to be still running. sfos: packaging: Fix dependencies of system-wide. JB#45842 Add After=dbus.socket and remove DefaultDependencies=no. sfos: packaging: Update system-wide user and group creation. Have static uid and gid for pulse and use only audio as additional group for user pulse. Fixes JB#46368 sfos: Don't fork pulseaudio processes. sfos: Prevent user session daemon from starting if system daemon is running. Wait until system daemon pid file disappears before starting user session PulseAudio. See JB#49307 sfos: Enable neon optimisation on aarch64 too. Contributes JB#49681 sfos: Workaround for the no audio in call issue. Needs proper fix later. Contributes to JB#49447 sfos: Use flat volume sinks. Fixes JB#53444 sfos: Packaging depends on bluez5 for building. BlueZ4 support is dropped from PulseAudio so no point in depending to the older version. Minor change as nothing is linked against the library. sfos: BuildRequire systemd via pkgconfig. JB#55010 This allows to pick systemd-mini inside the builder instead of full systemd. sfos: Fix bluez dependency. JB#57121 sfos: Use meson build. sfos: drop unnecesary intltool dependency Usage removed in Pulseaudio 13.0 in favor of just gettext. Perl-xml needed, though, and that was pulled in by intltool. sfos: Cleanup spec Co-authored-by: David Greaves <[email protected]> Co-authored-by: Tomi Leppänen <[email protected]> Co-authored-by: Niels Breet <[email protected]> Co-authored-by: Marko Kenttälä <[email protected]> Co-authored-by: Björn Bidar <[email protected]> Co-authored-by: Matti Lehtimäki <[email protected]> Co-authored-by: Pekka Vuorela <[email protected]>
rainemak
approved these changes
May 23, 2025
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.
No description provided.