mirror of
git://git.openembedded.org/meta-openembedded
synced 2026-04-02 02:49:12 +00:00
108 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
82046d3b24
|
pipewire: Backport two patches to build with glibc 2.43
This avoids the following error:
In file included from spa/plugins/alsa/acp/compat.c:26:
spa/plugins/alsa/acp/compat.h: In function 'pa_path_get_filename':
spa/plugins/alsa/acp/compat.h:437:13: error: assignment discards
'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
437 | if ((fn = strrchr(p, PA_PATH_SEP_CHAR)))
| ^
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
5925a61082
|
pipewire: update 1.6.0 -> 1.6.2
- remove two backport patches
PipeWire 1.6.2 (2026-03-16)
This is a bugfix release that is API and ABI compatible with the previous
1.6.x releases.
Highlights
- Fix a potential crash when the wrong memory was freed.
- Fix a optimization with shared memory over some links that could
cause errors later on.
- Fix SOFA filter and default control input in LADSPA and LV2.
- Some other small fixes and improvements.
PipeWire
- Remove an optimization to skip share mem in links, it causes problems
later on. (#5159)
Modules
- Don't try to free invalid memory or close invalid fds when the client
aborted before allocating buffer memory. (#5162)
SPA
- support ACP_IGNORE_DB in udev.
- Use 0x as a prefix for hex values.
- Mark Props as write-only in libcamera.
- Small optimization in the audio mixer.
- Fix initialization of control properties for SOFA and biquads in the
filter-graph. (#5152)
- Fix min/max default values for LADSPA and LV2.
JACK
- Fix jack_port_type_id(). Return values that are compatible with JACK1/2.
Older versions:
PipeWire 1.6.1 (2026-03-09)
This is a bugfix release that is API and ABI compatible with the previous
1.6.x releases.
Highlights
- Fix socket activation, which could cause a failure to start PipeWire in
some setups.
- Fix crashes in many JACK apps when nodes/ports are quickly added/removed
such as when there are notifications (like when changing the volume in
KDE).
- Fix playback of encoded formats in pw-cat again.
- Some other smaller fixes and improvements.
Modules
- Fix socket activation. (#5140)
- Remove node.link-group from driver nodes.
SPA
- Fix the libcamera stop sequence.
JACK
- Never return NULL from jack_port_by_id(). (#3512)
GStreamer
- Improve the timestamps on buffers.
Tools
- Fix playback of encoded formats. (#5155)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
786f3323d7
|
pipewire: enable aptX Bluetooth codec support
Enable aptX/aptX-HD codec support in PipeWire's Bluetooth A2DP codec. This allows A2DP streaming with aptX-capable headsets when libfreeaptx is available. Signed-off-by: Shuai Zhang <shuai.zhang@oss.qualcomm.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> |
||
|
|
39318cebcb
|
pipewire: Fix socket activation
Backport an upstream PipeWire fix into meta-multimedia to correct
UNIX socket path comparison in is_socket_unix() and to preserve
LISTEN_FDS when using sd_listen_fds().
The previous behavior could mis-detect valid systemd-activated sockets
and break subsequent invocations because LISTEN_FDS was unset, even
though the code path can be executed more than once.
Link:
|
||
|
|
e8be5452b6
|
pipewire: backport fix for build with glibc-2.43
Fixes:
../sources/pipewire-1.6.0/spa/plugins/support/logger.c:121:5: error: assigning to 'char *' from 'const char *' discards qualifiers [-Werror,-Wincompatible-pointer-types-discards-qualifiers]
121 | s = strrchr(file, '/');
| ^ ~~~~~~~~~~~~~~~~~~
1 error generated.
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
8c2f53cd0b
|
pipewire: update 1.4.10 -> 1.6.0
PipeWire 1.6.0 (2026-02-19)
This is is the 1.6 release that is API and ABI compatible with previous
1.4.x releases.
This release contains some of the bigger changes that happened since
the 1.4 release last year, including:
* An LDAC decoder was added for bluetooth.
* SpanDSP for bluetooth packet loss concealment.
* Safe parsing and building of PODs in shared memory.
* Added support for metadata features. This is used to signal that
the sync_timeline metadata supports the RELEASE operation.
* Node commands and events can contain extra user data.
* Support for more compressed format helper functions to create
and parse formats.
* Support for compile time max channels. The max channels was
increased to 128.
* Support for audio channel layouts was added. This makes it possible
to set "audio.layout" = "5.1" instead of the more verbose
audio.position = [ FL, FR, FC, LFE, SL, SR ]
* Support for Capability Params was added. This can be used to
negotiate capabilities on a link before format and buffer
negotiation takes place.
* More HDR colortypes are added.
* Loops now have locking with priority inversion. Most code was adapted
to use the faster locks instead of epoll/eventfd to update shared state.
* Channel position are parsed from EDID data.
* Channel maps are now set on ALSA.
* The resampler now supports configurable window functions such
as blackman and kaiser windows. The phases are now also calculated
with fixed point math, which makes it more accurate.
* Many bluetooth updates and improvements.
* The filter-graph has an ffmpeg and ONNX plugin. The ffmpeg plugin
can run an audio AVFilterGraph. The ONNX plugin can run some models
such as the silero VAD.
* Many AVB updates. Work is ongoing to merge the Milan protocol.
* Support for v0 clients was removed.
* The jack-tunnel module can now autoconnect ports.
* ROC support multitrack layouts now.
* Many RTP updates.
* rlimits can now be set in the config file.
* Thread reset on fork can now be configured. JACK clients expect this
to be disabled.
* node.exclusive is now enforced.
* node.reliable enables reliable transport.
* pw-cat supports sysex and midiclip as well as some more uncompressed
formats. Options were added to set the container and codec formats
as well as list the supported containers, codecs, layouts and channel
names.
* Documentation updates.
Highlights (since the previous 1.5.85 prerelease)
- Fix a 64 channel limit in the channel mixer.
- Fix an fd leak in pulse-server in some error cases.
- Some small fixes and improvements.
PipeWire
- Fix Capability leaks.
- Return an error in pw-stream get-time when not STREAMING.
- Set the current time in the driver position before starting.
Some followers might look at it.
Modules
- Improve default channel handling in module-filter-chain.
- Support source and sink only module-filter-chain.
- Tweak the filter-chain spatializer example gains.
- Handle new snapcast service type. (#5104)
- Implement socket activation without depending on libsystemd.
- Support ipv4 link-local addresses in RAOP and snapcast. (#4830)
- Forward ROC-toolkit logs to pipewire.
SPA
- Improve default channel handling in filter-graph. (#5084)
- Clamp control values to min/max. (#5088)
- Support mode JBL gaming headsets.
- Handle some SOFA errors and add gain option.
- Really handle more than 64 channels in the channelmixer. (#5118)
- Allow removal in ALSA-udev of ignored cards.
pulse-server
- Fix mono mixdown query.
- Expose headset autoswitch message.
- Handle EPROTO errors by disconnecting.
- Handle timeouts in play-sample streams. (#5099)
GStreamer
- Fix crop metadata.
- Fix a race in the buffer release function.
Tools
- Improve format support and detection in pw-cat.
- Add some more options to pw-cat to list supported containers
and formats. (#5117)
Older versions:
PipeWire 1.5.85 (2026-01-19)
This is the fifth and hopefully last 1.6 release candidate that
is API and ABI compatible with previous 1.4.x, 1.2.x and 1.0.x
releases.
Highlights
- Fix errors in older clients that blindly mmap buffer data.
- ALSA channel mapping should work in more cases.
- Fix an overflow in the resampler with some sample rates.
- Device ID negotiation for DMABUF was added.
- The channelmixer can now also downmix most REAR and TOP
channel positions.
- Various small fixes and improvements.
PipeWire
- Avoid doing flushing invoke in pw-stream. (#5010)
- Fix stream time delay calculations in some cases. (#4957)
- Avoid suspending a node when the ports are busy.
Modules
- Mode AVB module updates.
- Remove MAPPABLE flag from memptr data in client-node. This avoids
errors in older clients that blindly map buffers. (#5003)
- Don't leak the filter-chain module in module-parametric-equalizer.
(#5045)
- make it possible to run pulse tunnel sink and source with the same
name. (#5079)
SPA
- The delay filter in filter-graph now has feedback and feedforward
options to make it possible to implement comb and allpass filters.
- The resampler can be compiled with a custom default quality.
- Firewire latency is scaled correctly now. (#4977)
- The mixer will only passthrough dynamic data.
- Fix filter-graph state in audioconvert after flush.
- Set the channel map in ALSA nodes to tell ALSA our channel layout
and avoid wrong channels.
- Fix AVX2 function, make sure they don't run on AVX-only CPUs.
(#5072)
- Fix an overflow and crash when too many phases are used in the
resampler. (#5073)
- Add some more channel downmix positions, mostly REAR and TOP
channels.
pulse-server
- Add a message to enable mono mixdown.
Tools
- Support filenames in raw mode in pw-cat. (#5012)
- Enable clipping in spa-resample.
examples
- Update device ID negotiation examples.
Docs
- Document the resampler properties better.
PipeWire 1.5.84 (2025-11-27)
This is the fourth 1.6 release candidate that is API and ABI
compatible with previous 1.4.x, 1.2.x and 1.0.x releases.
Changes since the last pre-release:
Highlights
- Capabilities wer added to improve negotiation over links.
- The audio resampler now has a configurable window function to better
tune the resampler quality. A kaiser and blackman window was added
and the default parameters were tuned.
- Various small fixes and improvements.
PipeWire
- Capabilities and PeerCapabilities were added to exchange key/value
pairs between consumer and producer right after a link is made. This
can be used to detect how the negotiation of formats and buffers
should be done.
Modules
- Avoid segfaults in RTP source. (#4970)
- The AVB module has seen some improvements.
Pulse-server
- @NONE@ can now be used to clear the default sink/source.
SPA
- Support longer convolver filenames and also support inline
IRs.
- The audio resampler window function is now selectable and
configurable. A kaiser window and blackman window was added
and the default qualities were tweaked to improve quality.
- The filter-graph convolver latency is now set by default to
something more sensible. (0 by default and N/2 for hilbert).
(#4980)
Bluetooth
- Better xrun and error handling for iso streams.
- The +CNUM reply was fixed.
- The CIEC call status was fixed. (#1744)
- Add BAP context metadata to improve compatibility.
- Improve compatiblity with Creative Zen Hybrid Pro by releasing
transports simultaneously.
PipeWire 1.5.83 (2025-11-06)
This is the third 1.6 release candidate that is API and ABI
compatible with previous 1.4.x, 1.2.x and 1.0.x releases.
Changes since the last pre-release:
Highlights
- Include the NEWS and updated version number.
PipeWire 1.5.82 (2025-11-06)
This is the second 1.6 release candidate that is API and ABI
compatible with previous 1.4.x, 1.2.x and 1.0.x releases.
Changes since the last pre-release:
Highlights
- The max channel limit is now a compile time option.
- The SAP and RTP module have seen some robustness improvements.
- Add audio.layout propperty.
- Cleanups to the code here and there.
PipeWire
- Handle Tags more like Latency with a NULL param when no ports are linked
and some sort of (empty) Tag when the ports are linked.
Modules
- Improve the echo-cancel module to keep the streams more aligned
and cause less latency.
- Improve format parsing errors in most modules.
- The RTP module now has extra code for better network robustness, including
cases when network interfaces are not yet up and running, and multicast
sockets are silently kicked out of IGMP groups.
- The direct timestamp mode in the RTP module was effectively broken and is
now fixed.
- Add support for audio.layout.
- Add multichannel support to ROC.
SPA
- Rework the maximum number of channel handling. Because this is a
potential ABI break, it is now a compile time option with new
functions to handle more than the previous 64 channels.
- The 64 channel limit was removed from the noise shaper.
- spa_strbuf is used in more places instead of custom snprintf code.
- The volume ramp code was simplified.
- The driver node now has properties to configure the clock.
- The adapter will try to renegotiate when the driver changes.
- Fix relaxed array parsing with od number of elements. (#4944)
- audio.layout was added to set the channel positions to some
predefined layouts.
- Added more POD choice checks to ensure the right amount of values
are present in the choice.
- Fix __has_attribute usage. (#4962)
- Thread RESET_ON_FORK is now disabled for JACK application so that
forking will preserve any real-time thread priorities, like JACK.
(#4966)
- Fix some compilation issues. (#4960 and #4961).
Pulse-server
- Fix missing subscription events on device port changes.
- Increase min.quantum to 256/48000. (#4875)
GStreamer
- Avoid overflow in clock time calculations.
- Fix renegotiation.
Docs
- Swap the name and id of device.product
PipeWire 1.5.81 (2025-10-16)
This is the first 1.6 release candidate that is API and ABI
compatible with previous 1.4.x, 1.2.x and 1.0.x releases.
In addition to all the changes backported to 1.4.x, this release
also contains some new features:
Highlights
- The link negotiation code was refactored and improved.
Applications now have more options for selecting the default
values and restricting the available options. The default
negotiation code will now attempt to better match the application
suggested values.
- The loop now has support for locking with priority inversion. Most
of the code was updated to use the locks instead of invoke to
get proper concurrent updates with the loop. The Thread loop
functionality of locks, signal and wait was moved to the SPA loop.
This guarantees better real-time behaviour because inter-thread
synchronization does not have to pass eventfd/epoll.
- The control stream parser was rewritten to be safe against concurrent
updates while parsing, which can occur when parsing shared memory.
It also has extra checks to avoid integer overflows and undefined
behaviour.
- MIDI 2.0 clip support was added to the tools.
- Bluetooth ASHA (Audio Streaming for Hearing Aid) support was added.
- The ALSA node setup was tweaked to provide low latency with the ALSA
Firewire driver.
- Better support for explicit sync. It is now possible to negotiate
extra features to know if a consumer will signal the sync objects and
implement a fallback using a reliable transport.
- Many bug fixes and improvements.
PipeWire
- Avoid process calls in disconnect in pw-stream. (#3314)
- Disable PipeWire services for root.
- The link negotiation was refactored and improved. Drivers now
always have a lower priority in deciding the final format.
- Backwards compatibility with the v0 protocol was removed.
- pw-stream and pw-filter will now refuse to queue a buffer that
was not dequeued before.
- Object properties will now be updated on the global as well.
- The priority of config overrides is correct now. (#4816)
- Async links now correctly report 1 extra quantum of latency.
- node.exclusive and the new port.exclusive flag are now enforced
by PipeWire itself.
- A new timer-queue helper was added to schedule timeouts.
- node.terminal and node.physical properties are now copied to the
ports to make it possible to create virtual sources and sinks
for JACK applications.
- Port properties will now be dynamically updated when the node
properties they depend on are updated.
- Passive leaf nodes are now handled better. Now they will also
run when the peer is active. (#4915)
- Reliable transport has been added for output ports. This can be
used in some cases if the producer wants to ensure buffers are
consumed by a consumer. (#4885)
- Context properties now support rlimit.<resource> properties to
configure rlimits. (#4047)
Modules
- Close SyncObj fds.
- module-combine-stream has better Latency reporting.
- The JACK tunnel can now optionally connect ports.
- module-loopback has better Latency reporting.
- A Dolby Surround and Dolby Pro Logic II example filter config
was added.
- Filter-chain can now resample to a specific rate before running the
filters. This is useful when the filter-graph needs to run at a
specific rate.
- Avahi-poll now uses the timer-queue to schedule timeouts.
- Modules are ported to timer-queue instead of using timerfd directly
for non-realtime timers.
SPA
- The loop now has support for locking with priority inversion. Most
of the code was updated to use the locks instead of invoke to
get proper concurrent updates with the loop. The Thread loop
functionality of locks, signal and wait was moved to the SPA loop.
- UMP to Midi 1.0 conversion was improved, some UMP events are now
converted to multiple Midi 1.0 messages. (#4839)
- The POD filter was refactored and improved. It is now possible to
use the default value of the output by specifying an invalid input
default value.
- The POD parser was made safe for concurrent updates of the memory
it is parsing. This is important when the POD is in shared memory
and the parser should not access invalid memory.
- Some hardcoded channel limits were removed and now use the global
channel limit. More things can dynamically adapt to this global
limit. The max number of channels was then bumped to 128.
- The POD builder is safe to use on shared memory now and tries to
avoid many integer overflows.
- Most debug functions are safe to be used on shared memory.
- User specified Commands and Events are now possible.
- The SPA_IO_CLOCK_FLAG_DISCONT was added to spa_io_clock to signal
a discont in the clock due to clock change.
- AC3, DTS, EAC3, TRUEHD and MPEGH now have helper parser functions.
- H265 was added as a video format. (#4674)
- SPA_PARAM_PeerFormats was added to let a port know about its peer
formats in order to better filter possible conversions.
- More color matrices, transfer functions and color primaries.
- The echo-canceler is enabled now.
- Pro-Audio mode now uses 3 periods by default. This lowers the
latency on some drivers (Firewire). The latency of Firewire is
also reported correctly now.
- The ALSA DLL bandwidth is configurable now.
- The resampler now uses fixed point for the phases and is a little
faster when updating adaptive rates.
- The convolver is a little faster by swapping buffers instead of
copying samples.
- Latency and ProcessLatency support was added to filter-graph.
(#4678)
- Audio channel position support was added to filter-graph.
- A new ffmpeg avfilter plugin was added to filter-graph.
- A new ONNX filter was added to filter-graph.
- A debug, pipe, zeroramp and noisegate filter was added to the
filter-graph. (#4745)
- The filter-graph lv2 plugin now supports options and state.
- videoconvert was greatly improved.
- The v4l2 plugin can negotiate DMABUF with modifiers.
- Colorimetry information was added to v4l2 and libcamera.
- Audioconvert can handle empty buffers more efficiently.
- Improve the POD compare functions for Rectangle.
- There is now a SPA_POD_PROP_FLAG_DROP flag to drop the property when
the property is missing from one side.
- A new FEATURE choice was added that is basically a flags choice with
a FLAG_DROP property.
- Metadata features were added. This is a way to negotiate new features
for the metadata. (#4885)
- DSD playback with pw-cat has been improved.
- Compatibility and xrun prevention for the SOF driver has been
improved. (#4489)
- The filter-graph max plugin can now have 8 input channels.
- Buffer Negotiation between the mixer port and the node ports is much
improved. (#4918)
- An offline AEC benchmark was added.
- Channel positions are now read from HDMI ELD when possible.
- Audioconvert and filter-graph now also support properties of Long
and String types.
ACP
- It's possible to disable the pro-audio profile.
- Support for Logitech Z407 PC Speakers was improved.
- Support for Razer BlackShark v3.
- Fix volume rounding down causing mute. (#4890)
Tools
- pw-cat can now play and record MIDI 2.0 Clips, which is the
official format for storing MIDI 2.0 UMP data. pw-midi2play
and pw-midi2record were added as aliases.
- pw-cat can now upload sysex files. The pw-sysex alias was
added for this.
- The pw-link tool now has a -t option to list port latencies.
It also has better monitor support.
- pw-top can now clear the ERR column with the c key.
- pw-cli now keeps the types of the variables it stores and avoid
using wrongly typed variables that can crash things. It can now
also list the available variables.
- pw-dump can now output raw JSON and SPA JSON.
- pw-dump has configurable indentation level.
- pw-mididump can be forced to output MIDI 1.0 messages.
- pw-profiler now uses doubles for extra precision.
- pw-top now marks the async nodes with =.
Bluetooth
- Telephony improvements.
- ASHA support was added.
- Packet loss concealment was added.
- Improved synchronisation between LE Audio streams in the same group.
- Improved LE Audio device compatibility.
- LC3-24kHz voice codec was added (used by Airpods)
- LDAC decoding support added (requires separate decoder library)
Pulse-server
- The SUSPEND event is now correctly generated. fail-on-suspend is
now implemented.
- PA_STREAM_DONT_INHIBIT_AUTO_SUSPEND is now implemented. (#4255)
(#4726)
- RTP streams now have stream.properties for extra configuration.
- Timed out streams are now destroyed instead of lingering. (#4901)
- A new help and pipewire-pulse:list-modules core message was added.
JACK
- Port rename callbacks are now emitted correctly.
- Use safe POD parsing for the control sequences.
V4l2
- The wrapper now avoids a race while initializing PipeWire. (#4859)
GStreamer
- Colorimetry support was added.
- Cursor metadata is now exposed as ROI metadata.
- Many more updates.
Docs
- Document the client-node flow a bit more.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
aa9215d831
|
pipewire: fix runtime dependency when multilib is enabled
Without ${MLPREFIX} in the PACKAGECONFIG runtime field, building the
multilib variant forms a dependency to the non-multilib variant of
certain packages.
Signed-off-by: Jaeyoon Jung <jaeyoon.jung@lge.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
b7bd06e9b4
|
pipewire: update 1.4.9 -> 1.4.10
PipeWire 1.4.10 (2026-01-16)
This is a small bugfix release that is API and ABI compatible with
previous 1.x releases.
Highlights
- Fix a regression in restoring volumes on nodes.
- Clean up timed out stream on pulse-server.
- Backport filter-graph channel support.
- More small fixes and improvements.
PipeWire
- Backport the timer queue from 1.5.
modules
- Fix module leak in module-eq. (#5045)
- Fix profiling of multiple drivers when profile.interval.ms is
set. (#5061)
- Allow both sink and source pulse tunnels with the same name.
(#5079)
SPA
- Emit props events in all cases. (#4610)
- Backport some filter-graph changes to make it adapt better to the
number of channels of the stream.
- Fix some port errors in filter-graph. (#4700)
- Avoid a memcpy in the convolver.
- Handle some DBus errors better instead of crashing.
- Fix AVX2 functions and flags. (#5072)
- Limit resampler phases to avoid crashes (#5073)
- Support some more channel downmix positions.
pulse-server
- Clean up timed out streams. (#4901)
- Add message to force mono mixdown.
GStreamer
- Avoid scaling overflow in the clock.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
fbd80e3ab2
|
pipewire: update 1.4.8 -> 1.4.9
PipeWire 1.4.9 (2025-10-09)
This is a small bugfix release that is API and ABI compatible with
previous 1.x releases.
Highlights
- Fix a regression in node unprepare that would leave nodes running
and error.
- Improve ALSA recovery when 3 periods is not supported. Also Improve
headroom for SOF cards by setting it to the minimal period size by
default.
- Remove RestrictNamespaces from the systemd files to allow libcamera
to load sandboxed IPA modules again.
- Small fixes and updates.
PipeWire
- Fix a regression in node unprepare that would leave nodes running
and error. (#4893)
- Remove RestrictNamespaces from the systemd files to allow libcamera
to load sandboxed IPA modules.
Modules
- Handle fd allocation errors in avahi. (#4913)
- Fix initial SDP session hash and session-id. (#4852)
- Fix a potential NULL deref in the profiler. (#4922)
SPA
- Fix the UMP event compare function. (#4899)
- Backport a lot of libcamera patches, such as support for colorimetry,
thread-safety fixes, a lot of cleanups and improvements.
- Improve ALSA recovery when 3 periods is not supported.
- Fix a regression in the adapter where it would not always start and
resume correctly. (#4911)
- Improve headroom for SOF cards by setting it to the minimal period
size by default. (#4489)
- Adapt to newer libcamera changes.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
f50cdaea20
|
pipewire-media-session: update 0.4.2 -> 0.4.3
fix includes and compilation Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com> |
||
|
|
ac0808ce8e
|
pipewire: update 1.4.7 -> 1.4.8
PipeWire 1.4.8 (2025-09-11)
This is a bugfix release that is API and ABI compatible with
previous 1.x releases.
Highlights
- Low latency for Firewire devices using the ALSA drivers.
- Fix potential wrong pointers in memory mappings.
- Improve compatibility with Apple Home Pod Minis.
- JACK now implements the rename_callback.
- Various improvements and bug fixes.
PipeWire
- Make sure we can only queue buffers that were previously dequeued,
to avoid some API misuse.
- Fix potential wrong pointers in memory mappings. (#4884)
- Improve the node unprepare function. (#4840)
Modules
- Add fp_sap25 encryption to the ROAP module for compatibility with
Apple Home Pod Minis.
- Write a correct ALAC end tag in RAOP. (#4853)
- Avoid VBAN problems with too long session names.
- Fix a potential crash in the link-factory. (#4691)
SPA
- Show correct values in the ALSA api.alsa.period-num property.
- Add better support for Razer BlackShark v3.
- Use only 3 periods in ALSA when in Pro-Audio mode. This gives
better latency on some drivers. Also set the period count before
the period size for improved compatibility. (#4785)
- Force IRQ mode for firewire devices in pro-audio mode even if
there are multiple capture and playback devices.
- Add a new flag in the sync_timeline metadata to track if a
release_point will be signaled or not. (#4885)
JACK
- Support the rename_callback. (#4761)
Tools
- Fix the -C option in pw-dump.
- Log more info from sndfile when opening a file failed.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
ad6a3009cf
|
pipewire: update 1.4.6 -> 1.4.7
PipeWire 1.4.7 (2025-07-23)
This is a bugfix release that is API and ABI compatible with
previous 1.x releases.
Highlights
- Improve latency handling in echo-cancel.
- Don't leak SyncObj fds in client-node.
- Improve the adaptive resampler performance.
- Some more fixes and improvements.
modules
- Set module-echo-cancel latency correctly.
- Avoid extra latency in echo-cancel by dropping samples when
one end is paused.
- Don't leak SyncObj fds in client-node. (#4807)
SPA
- Actually enable echo cancellation when using webrtc 2.0
- Improve ALSA driver resampling setup and follower adaptive
resampling.
- Fix an off-by-one in the delay filter.
- Improve the adaptive resampler performance.
bluetooth
- Improve compatibility with some JBL flip and change models.
GStreamer
- Add some format validations.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
65038701de
|
pipewire: update 1.4.5 -> 1.4.6
PipeWire 1.4.6 (2025-06-27) This is a bugfix release that is API and ABI compatible with previous 1.x releases. Highlights - Fix a crasher bug in filter-chain and one in the ALSA plugin. - Improve latency reporting in module-combine-stream. - Some smaller fixes and cleanups. modules - Improve latency handling in module-combine-stream. (#4731) - Improve save activation/deactivation of the filter-graph in module-filter-chain to avoid crashes. (#4700, #4750) - Add an option to disable RAOP with a context.property. SPA - Handle NULL io in alsa wakeup code. This can happen when there is negotiation happening. (#4734) - Enable interrupts after an ALSA error to keep the dataflow going. - Reset some stats better after an ALSA error. - Support the alsa.use-ucm property for the ALSA udev plugin. pulse-server - Mark empty buffers. This improves some code paths in the mixer. GStreamer - Fix a refcount issue in the device provider. Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com> |
||
|
|
fc78d37ff0
|
meta-openembedded/all: adapt to UNPACKDIR changes
Please see https://git.yoctoproject.org/poky/commit/?id=4dd321f8b83afecd962393101b2a6861275b5265 for what changes are needed, and sed commands that can be used to make them en masse. I've verified that bitbake -c patch world works with these, but did not run a world build; the majority of recipes shouldn't need further fixups, but if there are some that still fall out, they can be fixed in followups. Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Khem Raj <raj.khem@gmail.com> |
||
|
|
b181acb4a3
|
pipewire: update 1.4.4 -> 1.4.5
PipeWire 1.4.5 (2025-06-04)
This is a quick bugfix release that is API and ABI compatible with
previous 1.x releases.
Highlights
- Fix negotiation errors when using multichannel output. Fixes
audio in some games and mpv in some cases.
- 1 Small fix and 1 improvement.
SPA
- Fix another bug caused by reversing the filter default value
preference. (#4722)
pulse-server
- Implement STREAM_DONT_INHIBIT_AUTO_SUSPEND flags. This can
reduce power in pavucontrol when monitoring inactive streams.
(#4255 #4726)
ALSA
- Fix a potential deadlock when calling _drop and _drain at the
same time. (#4728)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
834dda2fad |
pipewire: updatre 1.4.3 -> 1.4.4
PipeWire 1.4.4 (2025-05-29)
This is a quick bugfix release that is API and ABI compatible with
previous 1.x releases.
Highlights
- Provide better compatibility with 1.2 for MIDI.
- Fix mpv buffer negotiation regression.
- Improve GStreamer compatibility with libcamera.
SPA
- Provide conversions to old style midi in the ALSA sequencer.
- Negotiate only to UMP when using a newer library.
- Fix negotiation direction for buffers, prefer the converter
suggestion instead of the application until we can be sure
applications make good suggestions.
GStreamer
- Allow a minimum of 1 buffers again instead of 8. libcamera will
allocate only 4 buffers so we need to support this.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
a2e2b7fb50
|
pipewire: update 1.4.2 -> 1.4.3
PipeWire 1.4.3 (2025-05-22)
This is a bugfix release that is API and ABI compatible with
previous 1.x releases.
Highlights
- Many netjack2 improvements. The driver/manager roles were fixed,
MIDI is written correctly and errors are handled better.
- Improvements to UMP sysex handling.
- More small bug fixes and improvements.
PipeWire
- Let all commands go to the node. This makes it possible to send
custom commands.
Modules
- Many netjack2 improvements. The driver/manager roles were fixed,
MIDI is written correctly and errors are handled better.
- Improve the filter-graph state management in filter-chain.
SPA
- Use default value of filter. (#4619)
- Fix UMP program change conversion to MIDI 1.0. (#4664)
- Skip only the first buffer for raw formats in v4l2 to avoid
dropping important headers when dealing with encoded formats.
- Fix ebur128 port name. (#4667)
- Only convert UMP/MIDI, pass other controls. Fixes OSC and other
control types in the mixer. (#4692)
- Improve UMP sysex handling in alsa seq.
- Improve ALSA audio.channels support. Only use this when the value
is within the valid range.
Tools
- debug UMP SysRT messages correctly in pw-mididump.
JACK
- Handle sysex in UMP better by appending the converted midi1
sysex.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
9a8931382e
|
pipewire: use webrtc-audioprocessing-2
Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com> |
||
|
|
d5f076161b
|
pipewire: update 1.4.1 -> 1.4.2
PipeWire 1.4.2 (2025-04-14) This is a bugfix release that is API and ABI compatible with previous 1.x releases. Highlights - Do extra checks for MIDI to avoid 100% CPU usage on older kernels. - Fix some potential crashes in POD builder. - pw-cat streaming improvements on stdout/stdin. - Small fixes and improvements. PipeWire - Make the service files depend on DBus to avoid startup races. SPA - Do extra checks for MIDI to avoid 100% CPU usage on older kernels. - Use Header metadata by default in videoadapter. - Handle set_format result from v4l2 better. - Handle crash when POD builder overflows in the filter. - Work around a libebur128 bug. (#4646) Tools - pw-cat prefers AU format when streaming on stdout/stdin. (#4629) - Improve pw-cat verbose sndfile format debug. - Add the missing --channel-map long option to pw-loopback. GStreamer - Fix a leak in the deviceprovider. (#4616) - Fix negotiation and make renegotiation better. Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com> |
||
|
|
9f17bf73d7
|
pipewire: Avoid having pipewire-native depend on pipewire
Make pipewire-pulse only depend on pipewire-modules-protocol-pulse for target. Otherwise the magic behind BBCLASSEXTEND and PACKAGES_DYNAMIC results in pipewire-native ending up depending on pipewire (for target). Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> |
||
|
|
866d095d7d
|
pipewire: make use of virtual/libsdl2
Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com> |
||
|
|
e71de0ad6b |
pipewire: Deduce branch name from PV
Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc:Markus Volk <f_l_k@t-online.de> |
||
|
|
8f09c1aca9 |
pipewire: update 1.4.0 -> 1.4.1
This is a quick bugfix release that is API and ABI compatible with
previous 1.x releases.
- Handle SplitPCM wrong channels specifications. This fixes some
problems with disappearing devices.
- Add backwards compatibility support for when the kernel does not
support UMP. Also fix UMP output. This restores MIDI support for
older kernels/ALSA.
- Fix a crash in audioconvert because the resampler was not using the
right number of channels.
- Some compilation fixes and small improvements.
- Don't emit events when disconnecting a stream. (#3314)
- Fix some compilation problems. (#4603)
- Bump the ROC requirement to version 0.4.0
- Handle SplitPCM too few or too many channels. Add an error string
to the device names when the UCM config has an error.
- Add backwards compatibility support for when the kernel does not
support UMP.
- Configure the channels in the resampler correctly in all
cases. (#4595)
- Fix UMP output.
- Use the right samplerate of the filter-graph in audioconvert in
all cases.
- Fix a crash with an incomming call.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
7c03751b59
|
pipewire: dont create alsa links for native
This fixes: ERROR: pipewire-native-1.4.0-r0 do_populate_sysroot: sstate found an absolute path symlink /home/flk/poky/build/tmp/work/x86_64-linux/pipewire-native/1.4.0/sysroot-destdir/home/flk/poky/build/tmp/work/x86_64-linux/pipewire-native/1.4.0/recipe-sysroot-native/etc/alsa/conf.d/50-pipewire.conf pointing at /home/flk/poky/build/tmp/work/x86_64-linux/pipewire-native/1.4.0/recipe-sysroot-native/usr/share/alsa/alsa.conf.d/50-pipewire.conf. Please replace this with a relative link. ERROR: pipewire-native-1.4.0-r0 do_populate_sysroot: sstate found an absolute path symlink /home/flk/poky/build/tmp/work/x86_64-linux/pipewire-native/1.4.0/sysroot-destdir/home/flk/poky/build/tmp/work/x86_64-linux/pipewire-native/1.4.0/recipe-sysroot-native/etc/alsa/conf.d/99-pipewire-default.conf pointing at /home/flk/poky/build/tmp/work/x86_64-linux/pipewire-native/1.4.0/recipe-sysroot-native/usr/share/alsa/alsa.conf.d/99-pipewire-default.conf. Please replace this with a relative link. ERROR: pipewire-native-1.4.0-r0 do_populate_sysroot: Failing task due to absolute path symlinks ERROR: Logfile of failure stored in: /home/flk/poky/build/tmp/work/x86_64-linux/pipewire-native/1.4.0/temp/log.do_populate_sysroot.913232 ERROR: Task (virtual:native:/home/flk/poky/meta-openembedded/meta-multimedia/recipes-multimedia/pipewire/pipewire_1.4.0.bb:do_populate_sysroot) failed with exit code '1' Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com> |
||
|
|
134978803e
|
pipewire: Install missing ALSA config files
As detailed in Pipewire documentation [0], the ALSA plugin requires config files to be symlinked as follow: ``` The plugin will be picked up by alsa when the following files are in /etc/alsa/conf.d/: /etc/alsa/conf.d/50-pipewire.conf -> /usr/share/alsa/alsa.conf.d/50-pipewire.conf /etc/alsa/conf.d/99-pipewire-default.conf ``` The above symlinks are missing, thus the pipewire device is not properly detected. Fix this by creating the required symlinks and installing them in the pipewire-alsa package. [0] https://github.com/PipeWire/pipewire/blob/master/INSTALL.md#alsa-plugin Link: https://github.com/openembedded/meta-openembedded/issues/704 Signed-off-by: Ariel D'Alessandro <ariel.dalessandro@collabora.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> |
||
|
|
5bfc081d8f
|
pipewire-media-session: Fix for incompatible-pointer-types build errors
Backport a fix from master branch to fix these errors: | FAILED: src/pipewire-media-session.p/access-flatpak.c.o | x86_64-poky-linux-gcc [...] -o src/pipewire-media-session.p/access-flatpak.c.o -c ../git/src/access-flatpak.c | ../git/src/access-flatpak.c: In function 'object_update': | ../git/src/access-flatpak.c:117:62: error: passing argument 1 of 'pw_client_update_permissions' from incompatible pointer type [-Wincompatible-pointer-types] | 117 | pw_client_update_permissions(client->obj->obj.proxy, | | ~~~~~~~~~~~~~~~~^~~~~~ | | | | | struct pw_proxy * | In file included from .../tmp/work/core2-64-poky-linux/pipewire-media-session/0.4.2/recipe-sysroot/usr/include/pipewire-0.3/pipewire/pipewire.h:15, | from ../git/src/access-flatpak.c:35: | .../tmp/work/core2-64-poky-linux/pipewire-media-session/0.4.2/recipe-sysroot/usr/include/pipewire-0.3/pipewire/client.h:191:71: note: expected 'struct pw_client *' but argument is of type 'struct pw_proxy *' | 191 | PW_API_CLIENT_IMPL int pw_client_update_permissions(struct pw_client *object, uint32_t n_permissions, | | ~~~~~~~~~~~~~~~~~~^~~~~~ | FAILED: src/pipewire-media-session.p/default-routes.c.o | x86_64-poky-linux-gcc [...] -o src/pipewire-media-session.p/default-routes.c.o -c ../git/src/default-routes.c | ../git/src/default-routes.c: In function 'restore_route_params': | ../git/src/default-routes.c:482:29: error: passing argument 1 of 'pw_device_set_param' from incompatible pointer type [-Wincompatible-pointer-types] | 482 | pw_device_set_param((struct pw_node*)dev->obj->obj.proxy, | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | | | | | struct pw_node * | In file included from .../tmp/work/core2-64-poky-linux/pipewire-media-session/0.4.2/recipe-sysroot/usr/include/pipewire-0.3/pipewire/pipewire.h:18, | from ../git/src/default-routes.c:43: | .../tmp/work/core2-64-poky-linux/pipewire-media-session/0.4.2/recipe-sysroot/usr/include/pipewire-0.3/pipewire/device.h:179:62: note: expected 'struct pw_device *' but argument is of type 'struct pw_node *' | 179 | PW_API_DEVICE_IMPL int pw_device_set_param(struct pw_device *object, uint32_t id, uint32_t flags, | | ~~~~~~~~~~~~~~~~~~^~~~~~ | FAILED: src/pipewire-media-session.p/access-portal.c.o | x86_64-poky-linux-gcc [...] -o src/pipewire-media-session.p/access-portal.c.o -c ../git/src/access-portal.c | ../git/src/access-portal.c: In function 'set_global_permissions': | ../git/src/access-portal.c:268:62: error: passing argument 1 of 'pw_client_update_permissions' from incompatible pointer type [-Wincompatible-pointer-types] | 268 | pw_client_update_permissions(client->obj->obj.proxy, | | ~~~~~~~~~~~~~~~~^~~~~~ | | | | | struct pw_proxy * | In file included from .../tmp/work/core2-64-poky-linux/pipewire-media-session/0.4.2/recipe-sysroot/usr/include/pipewire-0.3/pipewire/pipewire.h:15, | from ../git/src/access-portal.c:39: | .../tmp/work/core2-64-poky-linux/pipewire-media-session/0.4.2/recipe-sysroot/usr/include/pipewire-0.3/pipewire/client.h:191:71: note: expected 'struct pw_client *' but argument is of type 'struct pw_proxy *' | 191 | PW_API_CLIENT_IMPL int pw_client_update_permissions(struct pw_client *object, uint32_t n_permissions, | | ~~~~~~~~~~~~~~~~~~^~~~~~ Signed-off-by: Yoann Congal <yoann.congal@smile.fr> Signed-off-by: Khem Raj <raj.khem@gmail.com> |
||
|
|
67e8544511
|
pipewire: update 1.2.7 -> 1.4.0
- remove backport patch
- install libspa.so to libpipewire package
PipeWire 1.4.0 (2025-03-06)
This is the 1.4 release that is API and ABI compatible with previous
1.2.x and 1.0.x releases.
This release contains some of the bigger changes that happened since
the 1.2 release last year, including:
* client-rt.conf was removed, all clients now use client.conf and
are given RT priority in the data threads.
* UMP (aka MIDI2) support was added and is now the default format
to carry MIDI1 and MIDI2 around in PipeWire. There are helper
functions to convert between legacy MIDI and UMP.
* The resampler can now precompute (at compile time) some common
conversion filters. Delay reporting in the resampler was fixed and
improved.
* Bluetooth support for BAP broadcast links and support for hearing aids
using ASHA was added. A new G722 codec was also added.
Delay reporting and configuration in Bluetooth was improved.
* The ALSA plugin now supports DSD playback when explicitly allowed
with the alsa.formats property.
* A PipeWire JACK control API was added.
* A system service was added for pipewire-pulse.
* Many documentation and translation updates.
* Many of the SPA macros are converted to inline functions. All SPA
inline functions are now also compiled into a libspa.so library to
make it easier to access them from bindings.
* The module-filter-chain graph code was moved to a separate
filter-graph SPA plugin so that it becomes usable in more places.
EBUR128, param_eq and dcblock plugins were added to filter-graph.
The filter graph can now also use fftw for doing convolutions.
The audioconvert plugin was optimized and support was added to
audioconvert to insert extra filter-graphs in the processing pipeline.
* New helper functions were added to parse JSON format descriptions.
* The profiler now also includes the clock of the followers.
* RISCV CPU support and assembler optimisations were added.
* The clock used for logging timestamps can be configured now.
* The JSON parser was split into core functions and helper.
* Support for UCM split PCMs was added. Instead of alsa-lib splitting
up PCMs, PipeWire can mark the PCMs with the correct metadata so that
the session manager can use native PipeWire features to do this.
* Support for webrtc2 was added to echo-cancel.
* IEC958 codecs are now detected from the HDMI ELD data.
* Conversion between floating point and 32 bits now preserve 25 bits of
precision instead of 24 bits.
* A new Telephony D-BUS API compatible with ofono was added.
* The invoke queues are now more efficient and can be called from multiple
threads concurrently.
* Clock information in v4l2 was improved.
* An ffmpeg based videoconvert plugin was added that can be used with the
videoadapter.
* The GStreamer elements have improved buffer pool handling and rate
matching.
* The combine-stream module can now also mix streams.
* link-factory now checks that the port and node belong together.
* The netjack-manager module has support for autoconnecting streams.
* The native-protocol has support for abstract sockets.
* The pulse server has support for blocking playback and capture in
pulse.rules.
* The corked state of stream is now reported correctly in pulse-server.
* Fix backwards jumps in pulse-server.
* Latency configuration support was added in loopback and raop-sink.
* The ROC module has more configuration options.
* The SAP module now only send updated SDP when something changed.
* RTP source now has a standby mode where it idles when there is no
data received.
* Support for PTP clocking was added the RTP streams.
* The VBAN receiver can now dynamically create streams when they are
detected.
* Error reporting when making links was improved.
* Support for returning (canceling) a dequeued buffer in pw-stream.
* Support for emiting events in pw-stream was added.
* pw-cat now support stdin and stdout.
Highlights (since the previous 1.3.83 release)
- Small fixes and improvements.
PipeWire
- Fix some missing includes in metadata.h
- Pass the current error in errno when a stream is in error (#4574)
modules
- Evaluate node rules before loading adapter follower to ensure
properties are set correctly. (#4562)
SPA
- Avoid a use after free when building PODs. (#4445)
- Take headroom into account when calculating resync.
Bluetooth
- Fix +CLCC parsing.
GStreamer
- Notify about default device changes in deviceprovider.
- Copy frames between pools and avoid splitting video buffers.
JACK
- Add an option to disable the MIDI2 port flags. (#4584)
Older versions:
PipeWire 1.3.83 (2025-02-20)
This is the third and hopefully last 1.4 release candidate that
is (almost) API and (entirely) ABI compatible with previous 1.2.x
and 1.0.x releases.
We note that in the 1.3.x series, the API is slighty not backwards
compatible because some methods previously used to accept void* as
a parameter while they now require the correct type. We think this
is however a good kind of API breakage and expect projects to patch
their code to get things compiled with newer version (which will also
compile for older versions). Note also that this is not an ABI break.
- Handle JACK transport updates in a better way.
- Fix a SAP regression when starting.
- Fix regression in rate scaling.
- Improve bluetooth source rate handling.
- More small bugfixes and improvements.
- Handle JACK transport updates in a better way. (#4543)
- Check that the link factory port and nodes match. Deprecate the
port.id when making links.
- Improve profiler output by scaling the quantum with the node
rate so that we don't end up with confusing information. (#4555)
- Fix sending of the SAP SDP. Handle some SDP parsing errors.
- Add some more options to the ROC source module. (#4516)
- Fix firewire quirks in udev rules. (#4528)
- Fix a bug in the rate scaling in some cases that would make things
run with the wrong samplerate.
- Improve introspection of control types.
- Use the G722 codec from Android instead of FFmpeg for ASHA.
- Use the A2DP source rate as the graph rate. (#4555)
- Specify the bluetooth source latency property in the rate of the
stream to avoid conversions and rounding errors.
This is the second 1.4 release candidate that is API and ABI
compatible with previous 1.2.x and 1.0.x releases.
- Various pw-stream improvements: timing information fixes,
avoid locking buffers in some cases and an improved drain
event.
- A new Telephony D-BUS API compatible with ofono.
- Documentation fixes and updates.
- More small fixes and improvements.
- Improve timing information when rate is unknown.
- Avoid locked buffers in pw_stream in some cases.
- Improve pw_stream drain event emission.
- Improve manager socket handling. Applications can avoid hardcoding
the sockets so that they will respect the config settings.
- Fix header size calculation when using ipv6. (#4524)
- Optimize byteswapped s16 conversions.
- Improve event handling for internal events.
- Optimize negiotiation when in convert mode, prefer the format
of the follower in adapter.
- Fix EnumPortConfig for videoadapter without converter.
- Fix libcamera property buffer size.
- Add systemwide systemd files.
- Add a UMP example.
- Use the new JackPortMIDI2 flag to mark UMP ports to JACK.
- Support BAP hardware volume.
- Add a Telephony DBUS API.
- Disable buffer pools for audio by default.
- Improve the module documentation.
This is the first 1.4 release candidate that is API and ABI
compatible with previous 1.2.x and 1.0.x releases.
In addition to all the changes backported to 1.2.x, this release
also contains some new features:
- UMP support was added with MIDI 1.0 and MIDI 2.0 support in the ALSA
sequencer plugin. By default PipeWire will now use MIDI 2.0 in UMP
messages to transport MIDI in the graph, with conversions to/from legacy
MIDI where required. This requires UMP support in the kernel.
- client-rt.conf is no longer supported. Custom changes made to this
config should be moved to client.conf. Clients that try to load the
client-rt.conf will emit a warning and be directed to client.conf
automatically for backwards compatibility.
- The module-filter-chain code was moved to a new filter-graph plugin. This
made it possible to add filter-graph support directly in audioconvert. It
is now possible to run up to 8 run-time swappable filter-graphs inside
streams and nodes. This should make it easier to add effects to streams
and device nodes.
- Bluetooth support for BAP broadcast links and support for hearing aids
using ASHA was added.
- Many more bugfixes and improvements.
- Nodes are now only scheduled when ready to signal the driver.
- Add slovenian translation. (#4156)
- Link errors are handled better.
- The videoadapter is now enabled by default but no videoconverter
is loaded yet by default.
- Streams now have support for ProcessLatency.
- Streams now have a method to emit events.
- The RequestProcess event and command can now pass around extra
properties.
- Local timestamps are now used for logging.
- client-rt.conf is no longer supported. Custom changes made to this
config should be moved to client.conf. Clients that try to load the
client-rt.conf will emit a warning and be directed to cliert.conf
automatically to preserve backwards compatibility.
- pw_stream now has an API to return unused buffers.
- module-combine-stream can now mix streams.
- Links in error are now destroyed by link-factory.
- The netjack2 driver can now also create streams that autoconnect when
specified. (#4125)
- Many updates and bugfixes to the RTP modules.
- The netjack2 driver can now bind to a custom IP and port pair. (#4144)
- The loopback module and module-raop have support for ProcessLatency, which
can be used to query and update the latency.
- The profiler module can now reduce the sampling rate.
- The filter-chain was optimized some more.
- The filter-chain gained some more plugins: param_eq, ebur128, dcblock.
- Support for fftw based convolver was added.
- Some module arguments can now be overridden.
- The VBAN receiver now creates new streams per stream name. (#4400)
- The RTP SAP module is now smarter with generating new SAP messages.
- The RTP source can now be paused when no data is received. (#4456)
- pw-cat can now stream most formats from stdin/stdout.
- pw-profiler has a JSON dump option to dump the raw profiler data.
- pw-cli now supports unload-module. (#4276)
- The resampler can precompute some common coeficients now at compile
time.
- UMP support was added with MIDI 1.0 and MIDI 2.0 support in the ALSA
sequencer plugin. By default PipeWire will now use MIDI 2.0 in UMP
messages to transport MIDI in the graph, with conversions to/from legacy
MIDI where required.
- Control types can now be negotiated.
- Support for writing ALSA bind controls was added.
- The ALSA sequencer now has better names for the ports.
- The F32 to S32 conversion now uses 25 bits for an extra bit of
precision.
- libcamera controls can now be set in all cases.
- The videoadapter has been improved and a dummy and ffmpeg based
videoconverter plugin was added.
- Negotiation was improved in audioadapter. First a passthrough format
is tried.
- Some JSON helper functions were added and some duplicate code removed
or simplified.
- Add support for RISC V CPU detection and add many optimizations in
the audio converters.
- Add an option to disable ALSA mixer path select. (#4311)
- Fix a potential bug with the cleanup of the loop queues.
- ALSA nodes now dynamically adjust the DLL bandwidth based on average
measured variance.
- The loop invoke queue was made more efficient and make it possible to
invoke from multiple threads.
- The filter-chain code was moved to a new filter-graph plugin.
- Most function macros are now static inlined and can also be built into a
libspa.so file. This should improve language bindings.
- V4l2 clock information was improved.
- Supported IEC958 codecs are now autodetected via ELD info.
- Audioconvert was optimized some more.
- Audioconvert can now include filter-graphs in its processing.
- webrtc-audio-processing-2 is now supported in AEC.
- The resampler now reports the delay and subsample delay. Also the
delay is reported in the samplerate of the input.
- The ALSA sequencer now handle kernels without UMP support. (#4507)
- Add quirk to block clients from making record and playback streams.
- The corked state is now set on stream to always report this state
correctly to other clients.
- Readiness notification was added to the pulse server with the
PIPEWIRE_PULSE_NOTIFICATION_FD environment variable. (#4347)
- The pulse.cmd config now supports conditions.
- A bug in clearing the ringbuffer was fixed. (#4464)
- Support for the default devices was added to the deviceprovider. (#4268)
- The graph clock is now used as the source for the GStreamer clock.
- The sink now does some rate control.
- The ALSA plugin now supports DSD when explicitly enabled.
- JACK now supports 2 new extension formats for OSC and UMP.
- JACK clients can receive UMP MIDI1 or MIDI2 messages when using
the new UMP port format extension.
- JACK now reports the PipeWire version in the minor/micro/proto.
- Implement more jackserver functions.
- Support BAP broadcast links.
- Support for ASHA was added.
- Delay reporting in A2DP sources was improved.
- 2 new examples of pw-stream using spa_ringbuffer were added.
- Many updates to the man pages.
- More documentation about thread safety of functions in stream
and filters. (#4521)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
c9d8ac58c5
|
pipewire: remove WORKDIR from documentation
In case docs PACKAGECONFIG is enabled, do_package_qa task fails
due to some of the generated html files are referencing the ${WORKDIR}.
Delete it from these files.
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
30fc238c87
|
pipewire-0.2: drop old version of recipe
pipewire-0.2 (which is a pre-pandemic version of pipewire) has been kept around[1] to satisfy the dependencies of mutter (< 3.36). Mutter has been updated to a version that doesn't require this old pipewire more than 3 years ago[2]. There is a much more newer version of pipewire recipe available in the same folder, and it seems there aren't further recipes depending on this old version. [1]: |
||
|
|
258e279c34
|
pipewire: update 1.2.6 -> 1.2.7
This is a bugfix release that is API and ABI compatible with the previous
1.2.x and 1.0.x releases.
- Backport support for lazy scheduling.
- Handle the case where processing would stop when an ALSA driver is
destroyed.
- Add support for v4l2loopback in the v4l2 plugin.
- Small bug fixes and improvements.
- Invalidate the proxy ID when removed.
- Backport support for lazy scheduling.
- Fix profiler stats for async nodes.
- Fix EARLY_PROCESS again in pw-stream. (#3480)
- Fix a crasher issue when nodes are created in the wrong order in
module-filter-chain.
- Fix unmap bug in lv2 uri tables.
- Add ratelimit to jack-tunnel xruns.
- Remove hardcoded limit in filter-chain sofa plugin.
- Handle the MTU size correctly in module-rtp and handle large MTUs.
(#4396)
- Fix JSON float parsing errors in equalizer module. (#4418)
- Fix crash in audiotestsrc when using spa-inspect (#4365).
- Improve JSON float infinity checks.
- Improve resampler performace a little.
- Make audioconvert only output when there is something to output.
- Fix regression in v4l2 port flags which would disable support for
EXPBUF.
- Handle the case where an ALSA driver is destroyed and the follower
becomes a driver. Processing would stop. (#4401)
- Add support for v4l2loopback in the v4l2 plugin.
- Give a better error message when running out of fds.
- Ensure positive latency reporting.
- Fix memory leak in deviceprovider.
- Fix locking when emitting an error.
- Fix pw-dot link labels.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
7d7ada648e
|
pipewire: Add glib-2.0-native dep for bluez5
The SPA plugins for bluez depend on D-Bus bindings generated using gdbus-codegen at build time. Some PACKAGECONFIG combinations appear to pull this in accidentally. Add an explicit dependency to ensure that it's in the sysroot when PACKAGECONFIG contains bluez5. Signed-off-by: Ethan D. Twardy <ethan.twardy@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> |
||
|
|
5c1ef95ec8
|
pipewire: update 1.2.5 -> 1.2.6
- replace patch by the one that was implemented upstream
PipeWire 1.2.6 (2024-10-23)
This is a bugfix release that is API and ABI compatible with the previous
1.2.x and 1.0.x releases.
Highlights
- The filter-chain param changes were not aggregated correctly, causing some
param changes to be ignored. (#4331)
- Clear the JACK io ports correctly when stopping to avoid crashes. (#4337)
- Some more small fixes and improvements.
PipeWire
- Stream states are now updated based on the underlying node state.
- Exported nodes now have their state change done synchronously so that the
server can immediately start the driver and avoid some initial xruns.
- Improve stream flush handling and improve the docs.
- Don't send mix_info to destroyed ports to avoid some errors in the
JACK clients.
Modules
- The filter-chain param changes were not aggregated correctly, causing some
param changes to be ignored. (#4331)
- The filter-chain now correctly optimizes unlinked nodes in all cases.
SPA
- ALSA PCM node properties are now no longer overwritten with card properties.
(#4135)
- Increase the adapter retry count to avoid xruns in some cases. (#4334)
- Fix potential crash in cleanup of ALSA nodes.
Bluetooth
- Fix a crash with broadcast sinks.
- Improve compatibility with Phonak hearing aids.
- Don't exit when DBus goes down.
JACK
- Clear the io ports correctly when stopping to avoid crashes. (#4337)
Docs
- Backport docs from master.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
634a6a29f4
|
pipewire: add patch to fix zero initialization
There are issues at least in combination with kodi [https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/4325] Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com> |
||
|
|
68152dad7b
|
pipewire: update 1.2.3 -> 1.2.5
PipeWire 1.2.5 (2024-09-27)
This is an important bugfix release that is API and ABI compatible with the
previous 1.2.x and 1.0.x releases.
Highlights
- Fix an fd mismatch in the protocol in some cases that could lead to
fd leaks and crashes.
- Fix a bug where the mixer was not updated after setting the port, which would
cause muted audio at boot or resume from suspend.
- Fix a potential use-after-free in module-rt when stopping a thread.
- Cached objects are now freed in the JACK API to avoid memory leaks.
- Some more fixes and improvements.
PipeWire
- RequestProcess commands are now only sent after the node completes
the state change to RUNNING.
- More FreeBSD fixes.
- Handle ACTIVE links going to < PAUSED as well. This improves
renegotiation in some cases.
- Fix an fd mismatch in the protocol in some cases that could lead to
fd leaks and crashes.
Modules
- Many of the network modules can now also accept hostnames instead of
IP addresses.
- Fix a potential use-after-free in module-rt when stopping the thread.
SPA
- Support for elogind was added.
- Some more errors are checked when converting JSON to POD. (#4313)
- Fix a bug where the mixer was not updated after setting the port, which would
cause muted audio at boot or resume from suspend. (#4084)
JACK
- The BBT transport handling was improved. Some fields were added to be able
to handle the JACK semantics correctly. (#4314)
- Buffers are now aligned according to the maximum CPU alignment instead of
the hardcoded 16 bytes alignment.
- Cached objects are now freed correctly.
Doc
- Some small doc updates. (#4272)
Older versions:
PipeWire 1.2.4 (2024-09-19)
This is a bugfix release that is API and ABI compatible with the
previous 1.2.x and 1.0.x releases.
Highlights
- Avoid a crash in cleanup of globals. (#4250)
- Use systemd-logind to scan for new devices in v4l2.
- Some more bugfixes and improvements.
PipeWire
- Avoid a crash in cleanup of globals. (#4250)
- Improve RequestProcess dispatch.
Tools
- Improve float parsing. (#4234)
SPA
- Clear the ringbuffer when stopping in libcamera.
- Use systemd-logind to scan for new devices in v4l2. (#3539, #3960)
- Queue dropped first buffer in v4l2.
- Unlink pcm devices when moving drivers to avoid broken pipe.
JACK
- Emit buffer_size callback in jack_activate() to improve
compatibility with GStreamer. (#4260)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
4fdac1bbc2
|
pipewire: update 1.2.2 -> 1.2.3
PipeWire 1.2.3 (2024-08-22)
This is a bugfix release that is API and ABI compatible with the
previous 1.2.x and 1.0.x releases.
Highlights
- Implement freewheeling support in the FFADO driver. Also improve
buffersize and samplerate handling.
- Improve some locking on spa_loop. Remove a possible deadlock when
the queue was full.
- Allocate more space for the libcamera devices string to properly
deduplicate libcamera and v4l2 devices.
- Some more bugfixes and improvements.
PipeWire
- Improve activation state changes and xrun detection some more.
(#4182)
- Avoid a memory leak when a link in error is destroyed.
Modules
- Improve samplerate and buffersize handling in FFADO driver so that
it is possible to force a rate and buffer size.
- Implement freewheeling support in the ffado driver.
- Always set the server side clock.quantum-limit on nodes. This fixes
a buffer size problem in Midi-bridge. (#4005)
SPA
- Improve some locking on spa_loop. Remove a possible deadlock when
the queue was full. (#4114)
- Allocate more space for the libcamera devices string to properly
deduplicate libcamera and v4l2 devices.
- Fix a potential race when enumerating v4l2 udev devices. (#3960)
Bluetooth
- Improve compatibility with some devices (Soundcore Motion 300).
Tools
- pw-cli can now handle arbitrarily large input and params. (#4166)
- Avoid some compiler warnings in pw-top.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
db5575b55e
|
pipewire: update 1.2.1 -> 1.2.2
PipeWire 1.2.2 (2024-07-31)
This is a bugfix release that is API and ABI compatible with the
previous 1.2.x and 1.0.x releases.
Highlights
- Fix some more fallout of the async nodes rewrite. Fixes some
crackling, xruns and possibly also some crashes in some cases.
- Fix freewheeling timeouts in case of xruns. This fixes ardour export.
- Fix event mixdown in JACK. Fixes qsynth and possibly other apps.
- Some more small fixes and improvements.
PipeWire
- Add a new SPA_IO_CLOCK_FLAG_XRUN_RECOVER flag when the process function
is called because of xrun recovery.
- Properly stop nodes in all cases, this avoids spurious xruns and
scheduling errors. (#4122)
- Make sure async nodes receive an async link in all cases. Do the
processing of source output ports slightly differently to make sure we
don't cause latency for sources. (#4138) (#4133)
- Fix some races when negotiating and starting nodes. (#4094)
- Actually include the config.h header to use malloc_trim() to reduce
memory usage in pulse-server.
Modules
- Avoid unloading some modules on stream errors because it is possible to
recover from the error. (#4121)
- Fix a (harmless) warning in module-rtp because of comparing samples and
time. (#4095)
SPA
- Let the freewheel driver detect xrun recovery and handle the timeouts
correctly. This fixes an issue with ardour export.
- Remove the HDMI/AC3 profiles. they turn out to fail on some hardware
with no way to detect this.
- Signal the eventfd when the loop is full to make sure the other thread
is woken up to process the queue.
JACK
- Don't check timestamps when mixing down events. The timestamps are only
checked when writing new events with the public API. This fixes an
issue where qsynth would not receive midi events anymore.
- Fix the jack_get_time() function, it was returning nano instead of micro
seconds.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
188186a3a0
|
pipewire: update 1.2.0 -> 1.2.1
PipeWire 1.2.1 (2024-07-12)
This is a bugfix release that is API and ABI compatible with previous
the previous 1.2.0 release and the 1.0.x releases.
Highlights
- Fix a regression in the node activation counters that would break audio
when using KODI.
- Fix a regression in ardour export because of mishandling of sync groups.
- Fix a regression in KDE screen preview because of the new async
scheduling.
- Fix a regression in context.exec argument parsing that would break some
existing scripts.
- More small bug fixes and improvements.
PipeWire
- Fix a regression in the node activation counters that would break audio
when using KODI. (#4087)
- Fix a regression in ardour export because of mishandling of sync groups.
(#4083)
- Fix a regression in KDE screen preview because of the new async
scheduling. Disable async for driver nodes. (#4092)
- Slightly improve node shutdown to cause less xruns.
- Fix a regression in context.exec argument parsing that would break some
existing scripts.
- Support custom thread create functions.
Modules
- Improve snapcast address parsing. (#4093)
SPA
- Fix multiple %f parsing in ACP for the new plug+a52 profiles.
- Improve v4l2 param generation. Improve recovery when framesize or rates
are unknown, support vivid. (#4063)
JACK
- Use the custom thread create function to correctly let module-rt kit
manage threads so that we don't end up with priorities on the wrong
threads. (#4099)
GStreamer
- Fix a crash when destroying a stream.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
7592911d47
|
pipewire: update 1.0.7 -> 1.2.0
PipeWire 1.2.0 (2024-06-27)
This is the 1.2 release that is API and ABI compatible with previous
1.1.x and 1.0.x releases.
This release contains some of the bigger changes that happened since
the 1.0 release last year, including:
* Support for asynchronous processing has been implemented. Nodes can choose
(or be forced) to be scheduled asynchronously. The graph will not wait for
the output of the node to continue processing but it will use the output
of the previous cycle (or silence) instead. This adds one cycle of latency
but it can avoid having some nodes blocking the processing graph. Non realtime
streams and filters now also use this asynchronous processing instead of
their own slightly broken version.
* The concept of node.sync-group was added. This groups nodes with overlapping
sync-group together when one of them sets the node.sync = true. This is now
used to make sure all nodes are scheduled together when JACK transport is
started so that they all see the same transport time.
* Config parsing errors are reported earlier and much better with line and
column numbers where the parsing started to fail.
* Add support for mandatory metadata when negotiating buffer parameters. This
can be used to only negotiate extra buffer planes when certain metadata is
negotiated. One use case is the explicit sync support that requires 2
extra fds for the timelines.
* Explicit sync metadata and support was added.
* Support was added for making and using multiple data-loops in the server
and clients. Support for CPU affinity and priorities was added to the
data-loops as well.
* The log topic debug levels can now be changed at runtime with metadata.
The log levels in the pulse server can be dynamically changed with a
/core message.
* The UCM conflicting devices patches were merged.
* Add snapcast-discover module to stream to snapcast servers.
* Rework how peers are linked and the counters are updated. Resume the
peers when a node is unlinked and not yet processed. This should cause
less occasional dropouts in the graph when reconnecting things.
* Many GStreamer element updates.
* Many more fixes and improvements.
Enjoy the summer vacation!
Highlights (since the previous 1.1.83 release)
- Small fixes here and there.
PipeWire
- Compilation fixes after enabling -Werror=float-conversion
Modules
- The module-rtp-sap now propagates the cleanup.sec property to the
rtp-source and the rtp-source now sets a property with the receiving
status.
- Fix for ROC 0.3, explicitly specify sender encoding. (#4070)
- Some fixes to the RAOP sink module, including a format fix for 32 bit
machines.
Tools
- Fix pw-cli monitoring code.
SPA
- Revert peer_enum_params again because it was not used and flawed.
- Fix multichannel processing in webrtc AEC.
GStreamer
- Logging improvements.
- Fix a race in the bufferpool activation.
Bluetooth
- Improvements to BAP broadcast code parsing.
Older versions:
PipeWire 1.1.83 (2024-06-17)
This is the third and hopefully the last 1.2 release candidate that is
API and ABI compatible with previous 1.0.x releases.
Some last minute changes went in to clean up the node activation and
scheduling that justify another pre-release.
Highlights
- Rework how peers are linked and the counters are updated. Resume the
peers when a node is unlinked and not yet processed. This should cause
less occasional dropouts in the graph when reconnecting things.
- Improve xruns in module-ffado.
- Many GStreamer element updates.
- More fixes and improvements.
PipeWire
- Rework how peers are linked and the counters are updated. Resume the
peers when a node is unlinked and not yet processed. This should cause
less dropouts in the graph when reconnecting. (#4026)
- Improve debug of xruns.
- Evaluate node.rules and device.rules before loading the plugin so that
extra properties can be passed to the plugin init function.
Modules
- Improve timing reporting in module-ffado some more.
- Prealloc less memory in the profiler by default.
- Improve xrun handling in module-ffado.
Tools
- Fix a crash in pw-link when a link fails.
- Fix pw-dump update for metadata. (#4053)
SPA
- Improve handling of controls. (#4028)
- Fix the string size in v4l2 to hold the device and vendor id.
- Support meta_videotransform on buffers in v4l2. This can be used to
signal that the buffer was rotated for example.
- Add HDMI/AC3 profile to ALSA when supported.
- Make it possible to disable the webrtc dependency
GStreamer
- Improve caps handling in the elements.
- Set buffer duration when we can.
- Post an element error when all the elements buffers are removed.
(#1980)
- Improve DMA_DRM caps selection.
- Some refactoring work.
- Improve state handling in the elements.
JACK
- Improve how links are activated.
- Fix some races when freeing memory.
Bluetooth
- Support multiple BIS in the broadcast source.
PipeWire 1.1.82 (2024-05-24)
This is the second 1.2 release candidate that is API and ABI
compatible with previous 1.0.x releases.
Not so many things needed to be fixed so this might already be the
last prerelease if everything goes well...
Highlights
- Fix problem when moving nodes that could cause nodes to be scheduled
wrongly and cause errors. (#4017)
- Add snapcast-discover module to stream to snapcast servers.
- Work around wrong kernel provided MTU for USB controllers.
- Fix some spelling mistakes all over the codebase.
- More small fixes and improvements.
PipeWire
- Remove the private cleanup.h header and use the public SPA version.
- Fix problem when moving nodes that could cause nodes to be scheduled
wrongly and cause errors. (#4017)
Modules
- Handle IPv6 in module-protocol-simple and support port allocation.
- Add snapcast-discover module to stream to snapcast servers.
Bluetooth
- Work around wrong kernel provided MTU for USB controllers.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
45f1bd0933
|
pipewire: update 1.0.6 -> 1.0.7
This is a small bugfix release that is API and ABI compatible with previous 1.0.x releases. - Fix a potential race/crash. - Fix some problems with negotiation of large integers and floats. - Fix JACK sysex MIDI event handling. - Some more smaller fixes and improvements. - Fix a potential race when adding/removing a port to be scheduled. - Fix FFADO default device handling. (#4023) - Fix in integer overflow and float/double compare in POD. - Copy larger MIDI events correctly. Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com> |
||
|
|
0b8dc5346b
|
pipewire-0.2: Include time.h for timespec struct signature
Signed-off-by: Khem Raj <raj.khem@gmail.com> |
||
|
|
852abb0599
|
pipewire: update 1.0.5 -> 1.0.6
PipeWire 1.0.6 (2024-05-09)
This is a bugfix release that is API and ABI compatible with previous
1.0.x releases.
Highlights
- A bitfield race was fixed that could cause some crashes or undefined
behaviour whem moving nodes between drivers.
- Fix to some invalid memory access in the pw-mon and pw-dump.
- A regression in kodi with IEC958 formats playback was fixed.
- A race in the ALSA plugin was fixed when updating the eventfd.
- Improvements and fixes to module-combine-stream.
- Negotiation was improved in pipewiresrc.
- Some more small fixes and improvements.
PipeWire
- Context properties are now set early so that client properties can be
matched with rules.
- A bitfield race was fixed that could cause some crashes or undefined
behaviour when moving nodes between drivers.
Tools
- Fix failure to hide properties in pw-mon. (#3997)
- Fix some memleaks and a crash in pw-dump. (#4001)
Modules
- The combine-stream module now prevents resampling to avoid broken
audio because of different samplerates.
- Fix a potential double free in module-loopback when calculating the
delay. (#3748)
- The FFADO module now only starts when ports are negotiated to avoid
startup races. (#3968)
- The combine-stream module will now forward tags.
SPA
- Monitor volumes are now also clamped to the min/max volumes. (#3962)
- V4l2 and libcamera now encodes the device ids into a JSON array. This
is part of the deduplication code of devices.
- A regression in kodi with IEC958 formats playback was fixed.
Bluetooth
- Improved buffer handling and queued data when stopping.
ALSA
- A race was fixed when updating the eventfd. (#3711)
GStreamer
- Handle some errors better instead of crashing. (#3994)
- Fix a memleak in the stream params handling.
- Negotiation was improved in pipewiresrc.
0
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
534032bbe2
|
pipewire: update 1.0.4 -> 1.0.5
PipeWire 1.0.5 (2024-04-15)
This is a bugfix release that is API and ABI compatible with previous
1.0.x releases.
Highlights
- pw_stream can now report timestamps on buffers and the expected
amount of samples for the resampler.
- The GStreamer element now has more correct timestamps using the new
pw_stream timestamps as a fallback.
- The FFADO module now handles suspend and resume better.
- A regression in v4l2 was fixed when parsing malformed filters.
- A potential memory/fd leak was fixed in client-node.
- Many more small bugfixes and improvements.
PipeWire
- pw_stream now reports the expected resampler input or output size in
the pw_time structure. (#3750)
- pw_stream now also adds a time field to the buffer, which contains the
time of the graph when the buffer was received in the stream.
- Fix a compiler error when compiling with -Werror=shadow. (#3915)
- The config parser will warn when invalid config is detected.
Modules
- The FFADO module now opens and closes when suspending. This fixes some
problems when FFADO properties are changed while suspended. (#3558)
- Filter-chain will now warn when invalid config is detected.
- Echo-cancel will now handle manage the state of the echo-cancel plugin
better, making sure run() is not called after deactivate().
- Fix some potential memory/fd leaks in client-node.
SPA
- Improve reading the bound ALSA controls.
- The resampler can now also report the number of expected output samples.
- The ALSA ACP device objects have some more properties like the card.id
and alsa.components. (#3912)
- Fix a potential string corruption when parsing JSON strings.
- V4l2 now sets the latency on the port. (#3910)
- alsa-udev now has an option to expose the device even if busy. (#3914)
- Improve null-audio-sink channel handling. (#3931)
- v4l2 will now drop the first frame because it often contains wrong
timestamps or garbage. (#3910)
- A regression in v4l2 was fixed where invalid/empty properties in the
filter would make it error early. (#3959)
GStreamer
- The source now falls back to the new pw_buffer time for the timestamps.
Docs
- Sync with the master branch.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
c91ee17443
|
pipewire: update 1.0.3 -> 1.0.4
This is a bugfix release that is API and ABI compatible with previous
1.0.x releases.
Highlights
- Track memfd better to avoid inconsistent memory. Also make sure the
mixer info is removed correctly in all cases on destroyed ports.
- Correctly handle removed objects in the metadata.
- Add an option to set the server and client priorities instead of using
a hardcoded value of 88.
- The FFADO module has been fixed. Audio and MIDI now works with
the same latency as the JACK driver. This has now also been
tested with a Focusrite Saffire Pro 14.
- The JACK library has seen some important fixes. Some ardour crackling
has been fixed when looping and multiple MIDI ports on a client should
now work.
- Small bugfixes and improvements.
PipeWire
- Track memfd better to avoid inconsistent memory. Also make sure the
mixer info is removed correctly in all cases on destroyed ports.
- Fix Props param emission again in pw_stream. (#3833)
- Add MAPPABLE flag to buffer data to indicate that the fd can be
mmapped directly. Use this on DMABUF from v4l2. (#3840)
- Correctly handle removed object in the metadata.
- FreeBSD build and compatibility fixes.
- Add an option to set the server and client priorities instead of using
a hardcoded value of 88.
- Read config overrides in the right order.
- Fix PIPEWIRE_QUANTUM rate handling in pw_stream and pw_filter.
- Fix pw_context_parse_conf_section(), actually use the conf argument.
- A new pw_stream_get_nsec() and pw_filter_get_nsec() function was added
to get the current time of the stream/filter without having to assume a
particular clock.
- A new default.clock.quantum-floor property was added to configure the
absolute lowest buffer-size. (#3908)
docs
- Many doc updates.
tools
- Make sure we always quit pw-cli when the server stops. (#3837)
- pw-top now prints all drivers in batch mode. (#3899)
modules
- Don't destroy the client in protocol-simple on EAGAIN.
- Handle IPv6 better in the RTP modules. Fix IPv6 SAP header
parsing. (#3851)
- The FFADO module has been fixed. Audio and MIDI now works with
the same latency as the JACK driver. This has now also been
tested with a Focusrite Saffire Pro 14. (#3558)
pulse-server
- Make sure the peer_name is filled to avoid protocol errors.
SPA
- Small resampler tweaks to improve stability of adaptive resampler.
- Add ALSA option to control htimestamp autodisable.
- Avoid some potential crashes in audioconvert when ports are removed.
- Improve HDMI jack detection on some SOCs.
- The audioconvert now has a monitor.passthrough option to pass the
latency information on the monitor ports. (#3888)
GStreamer
- Don't use timeouts when autoconnect=false in pipewiresrc. (#3884)
- pipewiresrc and pipewiresink can now be automatically selected as
audio source and sink.
- An invalid memory access was fixed when destroying the device
provider.
JACK
- Remove properties correctly with the object id, not serial.
- Improve sync with the data thread by pausing the core. Also improve
handling of port io to avoid invalid buffer access.
- Fix PIPEWIRE_QUANTUM rate handling.
- Support multiple MIDI input ports per client. (#3901)
- The output buffer size is now always correctly set. (#3892)
ALSA
- Handle errors from eventfd_create correctly.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
0f1629611c
|
pipewire: update 1.0.1 -> 1.0.3
- remove fd33d2d3bb6333c7d6e74cbaa806bff2d908f589.patch
PipeWire 1.0.3 (2024-02-02)
This is a quick bugfix release that is API and ABI compatible with previous
1.0.x releases.
Highlights
- Fix ALSA version check. This should allow the alsa plugin to work again.
- Some small fixes and improvements.
PipeWire
- Escape @DEFAULT_SINK@ in the conf files.
Modules
- Improve logging in module-pipe-tunnel.
SPA
- Always recheck rate matching in ALSA when moving drivers. This fixes a
potential issue where the adaptive resampler would not be activated in
some cases.
ALSA
- Fix version check. This should allow the alsa plugin to work again
with version 1.0.2.
Older versions:
PipeWire 1.0.2 (2024-01-31)
This is a bugfix release that is API and ABI compatible with previous
1.0.x releases.
Highlights
- Fix v4l2 enumeration with filter. This should fix negotiation in some
GStreamer pipelines with capsfilter. Also probe for EXPBUF support
before using it.
- Fix max-latency property and Buffer param when dealing with small
ALSA device buffers. This should fix stuttering with some AMD
based soundcards.
- More small cleanups an improvements.
Modules
- Improve netjack2 channel positions.
- Improve RAOP module state after suspend/resume. (#3778)
- Avoid crash in some LV2 plugins by configuring the Atom ports. (#3815)
SPA
- Bump libcamera requirements to 0.2.0.
- Try to avoid unaligned load exceptions. (#3790)
- Fix v4l2 enumeration with filter. (#1793)
- Fix max-latency property and Buffer param when dealing with small
ALSA device buffers. This should fix stuttering with some AMD
based soundcards. (#3744,#3622)
- Add a resync.ms option to node.driver to make it possible to resync
fast to clock jumps.
- Probe for EXPBUF support in v4l2 before using it. (#3821)
pulse-server
- Also emit change events when the port list change.
Bluetooth
- Log a more verbose explanation when other soundservers seem to be
interfering with bluetooth.
- Add quirks for Rockbox Brick. (#3786)
- Add quirks for SoundCore mini2. (#2927)
JACK
- Improve check for the running state of clients. (#3794)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
10c75cbde1
|
pipewire: fix build with libcamera-0.2
Add a backport patch to fix this issue with libcamera-0.2: | In file included from ../git/spa/plugins/libcamera/libcamera-source.cpp:188: | ../git/spa/plugins/libcamera/libcamera-utils.cpp:719:9: error: 'Transform' does not name a type https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/3782 Signed-off-by: Markus Volk <f_l_k@t-online.de> Signed-off-by: Khem Raj <raj.khem@gmail.com> |
||
|
|
819e1ef4b4
|
pipewire: update 1.0.0 -> 1.0.1
This is a bugfix release that is API and ABI compatible with previous
1.0.x releases.
- Work around the buggy ALSA backend in libcanberra by forcing the pulse
backend in module-x11-bell.
- Fix a race in the device info updates in pulse-server.
- Fix timing and rate matching in ALSA sequencer.
- Improve timing information in JACK and from the ALSA driver.
- More small fixes and improvements.
- Fix a build issue when examples where disabled.
- Avoid some compiler warnings.
- Avoid some bitfield data races. (#3706)
- Bump the PTP driver priority. (#3217)
- Support the previous "allowed" permission in the access module.
- Fix filename leak in module-filter-chain.
- Work around the buggy ALSA backend in libcanberra by forcing the pulse
backend in module-x11-bell. (#3688)
- Fix a race in the device info updates in pulse-server.
- Fix compatibility in RAOP. (#3698)
- Handle ALSA picth control errors correctly
- Clamp buffer-frames correctly. (#3000)
- Fix timing and rate matching in ALSA sequencer. (#3657)
- Revert a commit that could result in current time in the future in the
timing updates.
- Improve adapter state checks.
- Remove the timer from the ALSA pcm.
- Fix timeout in freewheel driver.
- Also handle active ports for monitor sources.
- Fix zeroconf-publish format properties.
- Improve timing and transport calculations.
- Handle -ENOENT from the core and don't error out.
- Handle node port removal in the device provider. (#3708)
- Improve error handling while connecting.
- Fix dts_offset.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
c6c636e320
|
Revert "libcamera: skip until upstream resolves python 3.12 compatibility"
This reverts commit dd402176a6e28df76e4b737cec7d266b5bfbfa06. |
||
|
|
dd402176a6
|
libcamera: skip until upstream resolves python 3.12 compatibility
I'd note that imp module has been deprecated for years, so that's what happens when deprecation warnings are ignored. Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Khem Raj <raj.khem@gmail.com> |
||
|
|
20c083b15b
|
pipewire: upgrade 0.3.85 > 1.0.0
The PipeWire project is immensely proud to announce the 1.0 release
of PipeWire.
It is API and ABI compatible with previous 0.3.x releases.
"PipeWire represents the next evolution of audio handling for Linux, taking
the best of both pro-audio (JACK) and desktop audio servers (PulseAudio) and
linking them into a single, seamless, powerful new system."
- Paul Davis, JACK and Ardour author
"What exciting times! PipeWire 1.0 is the culmination of 15 years of
Linux audio expertise, blending lessons from PulseAudio into a high-performance,
flexible, and user-friendly foundation for audio and multimedia on Linux.
I'm looking forward to the next decade of progress in the free software
consumer and professional audio space!."
- Arun Raghavan, PulseAudio developer/maintainer.
"I'm thrilled to witness the first stable release of PipeWire after five years
of collaboration with its remarkable community, pushing the boundaries of
multimedia integration in the Linux ecosystem one step further.”
- George Kiagiadakis, WirePlumber author
"From the beginning of the libcamera project, we have always seen
PipeWire as the solution to handle desktop and mobile integration and
give a seemless multimedia integration to users while providing security
features and resource sharing between applications."
- Kieran Bingham, libcamera author
Happy Holidays!
Highlights
- Fix a memfd/dmabuf leak when uploading buffers while shutting down.
- Handle concurrent jack_port_get_buffer() calls because ardour seems to
be doing this.
- Improve time reporting (less jitter) in ALSA when using IRQ.
- Many doc improvements.
PipeWire
- Respect PIPEWIRE_DLCLOSE everywhere, remove pw_in_valgrind().
- Remove a warning when a client tries to change ignored properties.
Modules
- Fix a memfd/dmabuf leak when uploading buffers while shutting down.
- Fix a potential segfault when copying mix structures. (#3658)
- Avoid races in setrlimit in module-rt.
- Fix a memory leak in filter-chain.
- Set rtp.ptime on senders, not receivers.
- The ROC modules were ported to ROC 0.3
SPA
- Improve time reporting (less jitter) in ALSA when using IRQ. (#3657)
- Add latency param query in libcamera.
- Fix some compiler warnings.
- The EVL plugin was updated.
Bluetooth
- LC3 codec and compatibility improvements.
Pulse server
- Fix emission of events when a sink/source state changes. (#3660)
JACK
- Improve transport and time handling. Use unique ids to make consistent
snapshots of the current time and transport.
- Avoid enumerating port params that we are not going to use.
- Optimize buffer reuse.
- Handle concurrent jack_port_get_buffer() calls because ardour seems to
be doing this. (#3632)
Docs
- Many doc improvements.
- Add man pages for pw-dump, pw-loopback, modules, pipewire-pulse.
- Manpages are now made with Doxygen.
- Add docs for pulse-modules
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||
|
|
87c8466fd6
|
pipewire: Upgrade 0.3.84 -> 0.3.85
PipeWire 0.3.85 (2023-11-16)
This is the fifth (and last) 1.0 release candidate that is API and ABI
compatible with previous 0.3.x releases.
Highlights
- Fix an issue where a link could end up paused while not negotiated.
- Fix an infinite recursion issue when finding runnable nodes.
- Support XDG base directories when loading ACP config.
- Fix MIDI event recording preview in Ardour.
- Many more small fixes, cleanups and improvements.
PipeWire
- Fix an issue where a link could end up paused while not negotiated.
(#3619)
- Fix an infinite recursion issue when finding runnable nodes by stopping
the scan on feedback links around the driver. (#3621)
- The system service now has better socket permissions.
Modules
- Add support for uclamp. This allows the scheduler to make better informed
decisions about where tasks should be placed, and what pstate to set
for the CPU it is running on.
- Emit warnings when applications are not doing the right locking instead
of crashing.
- Improve media.name for RAOP sinks. (#3801)
- Support pause/resume in pipe-tunnel. (#3197)
- Remove time rlimit when probing for realtime to avoid SIGXCPU.
SPA
- Fix a bug where the resampler would be activated even when there is an
ALSA pitch element. (#3628)
- Improve resume from suspend in ALSA. (#3646)
- Add option to expose ALSA controls as prop params.
- Support XDG base directories when loading ACP config. This makes it possible
to override the ACP config files.
Bluetooth
- Schedule nodes in the same ISO group together.
- More BAP fixes and cleanups.
JACK
- Fix MIDI events from peer ports. This makes the MIDI event recording preview
of Ardour work correctly.
GStreamer
- Fix some error handling in the source and sink.
ALSA plugin
- Improve poll descriptor handling. (#3648)
Docs
- Many improvements to the layout and organization.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|