WirePlumber 0.5.7
~~~~~~~~~~~~~~~~~
Highlights:
- Fixed an issue that would cause random profile switching when an application
was trying to capture from non-Bluetooth devices (#715, #634, !669)
- Fixed an issue that would cause strange profile selection issues [choices
not being remembered or unavailable routes being selected] (#734)
- Added a timer that delays switching Bluetooth headsets to the HSP/HFP
profile, avoiding needless rapid switching when an application is trying to
probe device capabilities instead of actually capturing audio (!664)
- Improved libcamera/v4l2 device deduplication logic to work with more complex
devices (!674, !675, #689, #708)
Fixes:
- Fixed two memory leaks in module-mixer-api and module-dbus-connection
(!672, !673)
- Fixed a crash that could occur in module-reserve-device (!680, #742)
- Fixed an issue that would cause the warning "[string "alsa.lua"]:182:
attempt to concatenate a nil value (local 'node_name')" to appear in the
logs when an ALSA device was busy, breaking node name deduplication (!681)
- Fixed an issue that could make find-preferred-profile.lua crash instead of
properly applying profile priority rules (#751)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
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>
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>
- 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>
Release 0.44.1
Server:
- Fix progress reporting for ImportResource
MediaExport:
- Fix a critical when unable to detect mime type
All contributors to this release:
- Jens Georg <mail@jensge.org>
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Minidlna configuration puts os name & version in the binary which lead
to non-reproducibility. Fix this by forcing those variables to constant
values.
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
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>
WirePlumber 0.5.6
~~~~~~~~~~~~~~~~~
Additions:
- Implemented before/after dependencies for components, to ensure correct
load order in custom configurations (#600)
- Implemented profile inheritance in the configuration file. This allows
profiles to inherit all the feature specifications of other profiles, which
is useful to avoid copying long lists of features just to make small changes
- Added multi-instance configuration profiles, tested and documented them
- Added a ``main-systemwide`` profile, which is now the default for instances
started via the system-wide systemd service and disables features that
depend on the user session (#608)
- Added a ``wp_core_connect_fd`` method, which allows making a connection to
PipeWire via an existing open socket (useful for portal-based connections)
Fixes:
- The Bluetooth auto-switch script now uses the common event source object
managers, which should improve its stability (!663)
- Fix an issue where switching between Bluetooth profiles would temporarily
link active audio streams to the internal speakers (!655)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* d9ada84 (origin/master, origin/HEAD) screencast: fix SelectSources type bitmask check
* 0776565 screenshot: clean up xdpw request
* 32b009a screenshot: remove variable-length-array
* fa0961b screenshot: clean up reply messages on failures
* aa555b7 colorchooser: clean up xdpw request
* 80ae77d colorchooser: clean up reply messages on failures
* c23c886 colorchooser: force grim to only return a single pixel
* d13d6a4 screencast: simplify xdpw_gbm_device_create()
* 67365f7 build: don't use cc.get_supported_arguments() for -D flag
* 31d85ce build: add summary for auto-detected features
* 388c484 screencast: simplify wl_drm format code conversions
* 9895411 Separate wlr_screencopy code into separate file
* 94e3de3 Group wlr_screencopy attributes in structs
* 425da7f screencast: Store transformation as part of the frame
* 91c888c screencast: Refactor xdpw_wlr_* api
* ca7a3e2 screencast: Use PipeWire to drive screencast
* 7444be5 contrib: fix typo in the portals config example
* 1eae4bf readme: list supported portals, explain new portal config
* 3087ad5 build: simplify sd-bus-provider=auto
* 53aeeba build: simplify scdoc invocation
Fixes variable length array usage which fixes build with clang
Signed-off-by: Khem Raj <raj.khem@gmail.com>
OE-core has moved to ffmpeg7, vlc3 needs to be ported to work
with this version and vlc4 is not released yet.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changes between 3.0.20 and 3.0.21:
----------------------------------
Decoders:
* Improve Opus ambisonic support
* Fix some ASS subtitle rendering issues
* Fix Opus in MP4 behaviour
* Fix VAAPI hw decoding with some drivers
Input:
* Add support for HTTP content range handling according to RFC 9110
* Fix some HLS Adaptive Streaming not working in audio-only mode
Video Output:
* Super Resolution scaling with AMD GPUs
* The D3D11 HDR option can also turn on/off HDR for all sources regardless of
the display
* Improve subtitles rendering on Apple platforms of notably Asian languages
by correcting font fallback lookups
Video Filter:
* New AMD VQ Enhancer filter
* Add D3D11 option to use NVIDIA TrueHDR to generate HDR from SDR sources
Audio Output:
* Fix regression on macOS causing crashes when using audio devices
with more than 9 channels
Services Discovery:
* Fix exposed UPnP directory URL schemes to be compliant with RFC 3986
Contrib:
* Update FFmpeg to 4.4.4
* Update dav1d to 1.4.2
* Update libvpx to 1.14.1
libVLC:
* the HWND passed to libvlc_media_player_set_hwnd must have the WS_CLIPCHILDREN
style set.
* Fix crashes when using caopengllayer
Misc:
* Fix various warnings, leaks and potential crashes
* Fix security integer overflow in MMS module
Signed-off-by: Khem Raj <raj.khem@gmail.com>
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>
The change in the license file was the update of the year in the copyright
line.
glib-2.0-native and python3-packaging-native (with python3native) is
required to have gdbus-codegen at build time.
Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
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>
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>
- set nobranch=1 to fix:
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Changes for 1.4.3 'Road Runner':
--------------------------------
1.4.3 is a small release focused on security issues
- AArch64: Fix potential out of bounds access in DotProd H/HV filters
- cli: Prevent buffer over-read
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This issue shows up with upcoming glibc-2.40+ where
clang fortify support has been enhanced significantly.
Set CLEANBROKEN since it does not recover from a dirty tree
Signed-off-by: Khem Raj <raj.khem@gmail.com>
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>
WirePlumber 0.5.5
Highlights:
Hotfix release to address crashes in the Bluetooth HSP/HFP autoswitch
functionality that were side-effects of some changes that were part
of the role-based linking policy (#682)
Improvements:
wpctl will now properly show a '*' in front of sink filters when they are
selected as the default sink (!660)
Past releases
WirePlumber 0.5.4
Highlights:
Refactored the role-based linking policy (previously known also as
"endpoints" or "virtual items" policy) to blend in with the standard desktop
policy. It is now possible use role-based sinks alongside standard desktop
audio operations and they will only be used for streams that have a
"media.role" defined. It is also possible to force streams to have a
media.role, using a setting. Other features include: blending with smart
filters in the graph and allowing hardware DSP nodes to be also used easily
instead of requiring software loopbacks for all roles. (#610, !649)
Improvements:
Filters that are not declared as smart will now behave again as normal
application streams, instead of being treated sometimes differently (!657)
Fixes:
Fixed an issue that would cause WirePlumber to crash at startup if an
empty configuration file was present in one of the search paths (#671)
Fixed Bluetooth profile auto-switching when a filter is permanently linked
to the Bluetooth source (!650)
Fixed an issue in the software-dsp script that would cause DSP filters to
stay around and cause issues after their device node was destroyed (!651)
Fixed an issue in the autoswitch-bluetooth-profile script that could cause
an infinite loop of switching between profiles (!652, #617)
Fixed a rare issue that could cause WirePlumber to crash when dealing with
a device object that didn't have the "device.name" property set (#674)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
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>
WirePlumber 0.5.3
~~~~~~~~~~~~~~~~~
Fixes:
- Fixed a long standing issue that would cause many device nodes to have
inconsistent naming, with a '.N' suffix (where N is a number >= 2) being
appended at seemingly random times (#500)
- Fixed an issue that would cause unavailable device profiles to be selected
if they were previously stored in the state file, sometimes requiring users
to manually remove the state file to get things working again (#613)
- Fixed an occasional crash that could sometimes be triggered by hovering
the volume icon on the KDE taskbar, and possibly other similar actions
(#628, !644)
- Fixed camera device deduplication logic when the same device is available
through both V4L2 and libcamera, and the libcamera one groups multiple V4L2
devices together (#623, !636)
- Fixed applying the default volume on streams that have no volume previously
stored in the state file (#655)
- Fixed an issue that would prevent some camera nodes - in some cases -
from being destroyed when the camera device is removed (#640)
- Fixed an issue that would cause video stream nodes to be linked with audio
smart filters, if smart audio filters were configured (!647)
- Fixed an issue that would cause WP to re-activate device profiles even
though they were already active (!639)
- Configuration files in standard JSON format (starting with a '{', among
other things) are now correctly parsed (#633)
- Fixed overriding non-container values when merging JSON objects (#653)
- Functions marked with WP_PRIVATE_API are now also marked as
non-introspectable in the gobject-introspection metadata (#599)
Improvements:
- Logging on the systemd journal now includes the log topic and also the log
level and location directly on the message string when the log level is
high enough, which is useful for gathering additional context in logs
submitted by users (!640)
- Added a video-only profile in wireplumber.conf, for systems where only
camera & screensharing are to be used (#652)
- Improved seat state monitoring so that Bluetooth devices are only enabled
when the user is active on a local seat, instead of allowing remote users
as well (!641)
- Improved how main filter nodes are detected for the smart filters (!642)
- Added Lua method to merge JSON containers (!637)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upgrade libcamera to version 0.3.0, gaining support for SoftISP.
Patch 0001-ipu3-Use-posix-basename.patch is dropped, it is applied
upstream.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changes for 1.4.2 'Road Runner':
--------------------------------
1.4.2 is a small release of dav1d, improving notably ARM, AVX-512 and PowerPC
- AVX2 optimizations for 8-tap and new variants for 6-tap
- AVX-512 optimizations for 8-tap and new variants for 6-tap
- Improve entropy decoding on ARM64
- New ARM64 optimizations for convolutions based on DotProd extension
- New ARM64 optimizations for convolutions based on i8mm extension
- New ARM64 optimizations for subpel and prep filters for i8mm
- Misc improvements on existing ARM64 optimizations, notably for put/prep
- New PowerPC9 optimizations for loopfilter
- Support for macOS kperf API for benchmarking
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Since recent UNPACKDIR work, default S directory is not created anymore.
By setting UNPACKDIR to S, S in indirectly created in do_unpack.
Also set S to a known static value to match OE-Core definition of
UNPACKDIR/S[0].
Fixes these warnings:
WARNING: bigbuckbunny-480p-1.0-r0 do_unpack: bigbuckbunny-480p: the directory ${WORKDIR}/${BP} (.../tmp/work/all-poky-linux/bigbuckbunny-480p/1.0/bigbuckbunny-480p-1.0) pointed to by the S variable doesn't exist - please set S within the recipe to point to where the source has been unpacked to
WARNING: bigbuckbunny-720p-1.0-r0 do_unpack: bigbuckbunny-720p: the directory ${WORKDIR}/${BP} (.../tmp/work/all-poky-linux/bigbuckbunny-720p/1.0/bigbuckbunny-720p-1.0) pointed to by the S variable doesn't exist - please set S within the recipe to point to where the source has been unpacked to
WARNING: bigbuckbunny-1080p-1.0-r0 do_unpack: bigbuckbunny-1080p: the directory ${WORKDIR}/${BP} (.../tmp/work/all-poky-linux/bigbuckbunny-1080p/1.0/bigbuckbunny-1080p-1.0) pointed to by the S variable doesn't exist - please set S within the recipe to point to where the source has been unpacked to
WARNING: tearsofsteel-1080p-1.0-r0 do_unpack: tearsofsteel-1080p: the directory ${WORKDIR}/${BP} (.../tmp/work/all-poky-linux/tearsofsteel-1080p/1.0/tearsofsteel-1080p-1.0) pointed to by the S variable doesn't exist - please set S within the recipe to point to where the source has been unpacked to
[0]: https://git.yoctoproject.org/poky/commit/?id=d6ae8d2004f8ac3aab4571e0077d406b2d19b542
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Reviewed-by: Alexandre Truong <alexandre.truong@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
With the UNPACKDIR changes in place the layers are no longer compatible
with the scarthgap release. Drop it from LAYERSERIES_COMPAT and limit
compatibility to styhead only.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Switch SRC_URI away from svn and use git fetcher
streamboard.tv svn server seems to be not accessible
all the time reliably
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Replace references of WORKDIR with UNPACKDIR where it makes sense to do
so in preparation for changing the default value of UNPACKDIR.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
WirePlumber 0.5.2
~~~~~~~~~~~~~~~~~
Highlights:
- Added support for loading configuration files other than the default
wireplumber.conf within Lua scripts (!629)
- Added support for loading single-section configuration files, without
fragments (!629)
- Updated the node.software-dsp script to be able to load filter-chain graphs
from external configuration files, which is needed for Asahi Linux audio
DSP configuration (!629)
Fixes:
- Fixed destroying camera nodes when the camera device is removed (#627, !631)
- Fixed an issue with Bluetooth BAP device set naming (!632)
- Fixed an issue caused by the pipewire event loop not being "entered" as
expected (!634, #638)
- A false positive warning about no modules being loaded is now suppressed
when using libpipewire >= 1.0.5 (#620)
- Default nodes can now be selected using priority.driver when
priority.session is not set (#642)
Changes:
- The library version is now generated following pipewire's versioning scheme:
libwireplumber-0.5.so.0.5.2 becomes libwireplumber-0.5.so.0.0502.0 (!633)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
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>
The recipe used in the `meta-openembedded` is a different mpd package compared to the one which has the CVE issue.
Package used in `meta-embedded`: http://www.musicpd.org
Package with CVE issue: https://sourceforge.net/projects/mpd/
No action required.
Signed-off-by: Ninette Adhikari <ninette@thehoodiefirm.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
For now, the known non-reproducible packages list is stored inside the
autobuilder config.json file. This is not ideal. Let's move this list
into each layers of meta-openembedded.
These lists can be used with, in local.conf:
include conf/include/non-repro-meta-oe.inc
OEQA_REPRODUCIBLE_EXCLUDED_PACKAGES = "${KNOWN_NON_REPRO_META_OE}"
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Acked-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
- dont convert to systemd system service. rygel should be started as
a user service. This is also a requirement to get it working in
gnome-control-center
- build with PACKAGECONFIG media-export to make rygel work out of the box
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
- add a patch to fix a buildpath leakage
SRC_URI += did not work, therefore use SRC_URI:append
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* fixes:
ERROR: Nothing PROVIDES 'gtk+3' (but meta-oe/meta-multimedia/recipes-multimedia/aravis/aravis_0.8.31.bb DEPENDS on or otherwise requires it)
gtk+3 was skipped: one of 'wayland x11' needs to be in DISTRO_FEATURES
and
ERROR: QA Issue: Recipe LICENSE includes obsolete licenses LGPL-2.1 [obsolete-license]
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* fixes:
ERROR: Nothing PROVIDES 'gtk+3' (but meta-oe/meta-multimedia/recipes-support/gst-instruments/gst-instruments_git.bb DEPENDS on or otherwise requires it)
gtk+3 was skipped: one of 'wayland x11' needs to be in DISTRO_FEATURES
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The format is obsolete, the code hasn't been touched in well over 10
years and the recipe is about to be removed from oe-core. VLC can still
access such files via its gstreamer module/ffmpeg.
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
aravis is a vision library for genicam based cameras.
aravis project allows to stream from genicam and GigE cameras
Signed-off-by: Perceval Arenou <perceval.arenou@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
WirePlumber 0.5.1
~~~~~~~~~~~~~~~~~
Highlights:
- Added a guide documenting how to migrate configuration from 0.4 to 0.5,
also available online at:
https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/migration.html
If you are packaging WirePlumber for a distribution, please consider
informing users about this.
Fixes:
- Fixed an odd issue where microphones would stop being usable when a
Bluetooth headset was connected in the HSP/HFP profile (#598, !620)
- Fixed an issue where it was not possible to store the volume/mute state of
system notifications (#604)
- Fixed a rare crash that could occur when a node was destroyed while the
'select-target' event was still being processed (!621)
- Fixed deleting all the persistent settings via ``wpctl --delete`` (!622)
- Fixed using Bluetooth autoswitch with A2DP profiles that have an input route
(!624)
- Fixed sending an error to clients when linking fails due to a format
mismatch (!625)
Additions:
- Added a check that prints a verbose warning when old-style 0.4.x Lua
configuration files are found in the system. (#611)
- The "policy-dsp" script, used in Asahi Linux to provide a software DSP
for Apple Sillicon devices, has now been ported to 0.5 properly and
documented (#619, !627)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
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>
dav1d 1.4.1 'Road Runner'
1.4.1 is a small release of dav1d, improving notably ARM and RISC-V
speed and fixing a small security issue.
The ARM speed improvements can be significative, depening on the
samples.
Finally, the binary size of dav1d was reduced on ARM and RISC-V
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Replace alloca with malloc
Allocate size for struct option array was not correct therefore
multiply the value with sizeof(struct option) to account for it
[YOCTO #15449 ]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
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>
remove STAGING_DIR_HOST from the crossguid-config.cmake file
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changes for 1.4.0 'Road Runner':
------------------------------------------------------
1.4.0 is a medium release of dav1d, focusing on new architecture support and optimizations
- AVX-512 optimizations for z1, z2, z3 in 8bit and high-bitdepth
- New architecture supported: loongarch
- Loongarch optimizations for 8bit
- New architecture supported: RISC-V
- RISC-V optimizations for itx
- Misc improvements in threading and in reducing binary size
- Fix potential integer overflow with extremely large frame sizes
Signed-off-by: Khem Raj <raj.khem@gmail.com>
- 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>
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>
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>
Changelog:
44e5095317faf33a0ba318b98a04fc5d60a192dc NEWS: add entry about invalid memory access bug fix
f3249a701df76185103c978f3693684bb0c84b74 MemIOCallback: fix buffer overflow when writing too much data
4c0d757d6de529e8dda6bb6ca08369d5f9bffdb3 MemIOCallback: fix buffer overflow when reading too much data
f4eb4ae863bad23b70964931dcb1464d091ba2df [1.x] add a GitHub action to test ABI breakage
3b582725864b33100902761cb8438503c163e5dd [1.x] do 1.x build actions when pushing to the v1.x branch
Signed-off-by: alperak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* 0001-Fix-build-against-fmt-10.patch dropped because fixed in the new version
* Expat dropped from DEPENDS because has been replaced with pugixml at version 1.5.0
* Required dependencies updated and added to DEPENDS
* Optional packages added and those enable by default have been enabled.
Changelog:
NEW Features
Staged importing that allows updating the virtual layout instead of deleting and recreating it each time (import-mode="grb")
Config options as command line arguments (--set-option OPT=VAL with --print-options)
Allow configuration of follow-symlinks per autoscan directory
Configuration of containers in virtual layout: title can be changed, some nodes can be disabled
New mode of loading Javascript plugins with cleanup of global variables
Generation of example configuration via command line option --create-example-config
Case insensitive sorting for databases
New config options for URL handling and host redirection
Use .nomedia to hide directory, incl. config option
Support for UPnP commands GetFeatureList and GetSortExtensionCapabilities
Build for Ubuntu 23.04 and 23.10
FIXES
Autoscan: Keep track of renamed directories
Docker: add JPEG and update description
Runtime issues in request handling
Configurable handling of HOME directory
Transcoding: parsing issue of requests
Stability for sqlite database access
Browsing on Samsung devices
Code Improvements
Update Javascript libraries
Update versions of googletest (1.14), pupnp (1.14.18), libexiv2 (v0.28.1), libebml (1.4.5), fmt (10.2.0), pugixml (1.14), spdlog (1.12.0) and taglib (1.13.1)
Compatibility with gcc14
Signed-off-by: alperak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Recent changes to oe-core[1] mean that if a configure.ac uses gtk-doc
then gtkdocize will be called. This means that recipes that don't
inherit gtk-doc (to depend on gtk-doc-native) but don't explicitly
disable the use of gtkdocize will fail to configure.
Inheriting gtk-doc both solves the configure failure, and allows us to
build the API documentation.
[1] oe-core 891ec38d4c5cc5ac7bc34938276261ebd6f6d54e
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Recent changes to oe-core[1] mean that if a configure.ac uses gtk-doc
then gtkdocize will be called. This means that recipes that don't
inherit gtk-doc (to depend on gtk-doc-native) but don't explicitly
disable the use of gtkdocize will fail to configure.
Inheriting gtk-doc both solves the configure failure, and allows us to
build the API documentation.
[1] oe-core 891ec38d4c5cc5ac7bc34938276261ebd6f6d54e
Signed-off-by: Khem Raj <raj.khem@gmail.com>
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>
gstd always installs these in /usr, so root_prefix would
work only if usrmerge is in DISTRO_FEATURES.
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* it was added in rygel-0.41.0 with:
18cd2cff6f
* it might need libx11 dependency as well which would probably
be pulled by gtk+3 already when x11 is in DISTRO_FEATURES
* as shown in:
http://errors.yoctoproject.org/Errors/Details/746017/
it requires x11 even when gtk support is disabled, meson-log.txt:
Determining dependency 'x11' with pkg-config executable '/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/rygel/0.42.4/recipe-sysroot-native/usr/bin/pkg-config'
env[PKG_CONFIG_DIR]: /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/rygel/0.42.4/recipe-sysroot/usr/lib/pkgconfig
env[PKG_CONFIG_PATH]: /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/rygel/0.42.4/recipe-sysroot/usr/lib/pkgconfig:/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/rygel/0.42.4/recipe-sysroot/usr/share/pkgconfig
env[PKG_CONFIG_LIBDIR]: /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/rygel/0.42.4/recipe-sysroot/usr/lib/pkgconfig
env[PKG_CONFIG_DISABLE_UNINSTALLED]: yes
env[PKG_CONFIG_SYSROOT_DIR]: /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/rygel/0.42.4/recipe-sysroot
env[PKG_CONFIG_SYSTEM_LIBRARY_PATH]: /usr/lib:/usr/lib
env[PKG_CONFIG_SYSTEM_INCLUDE_PATH]: /usr/include
env[PKG_CONFIG]: /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/rygel/0.42.4/recipe-sysroot-native/usr/bin/pkg-config
-----------
Called: `/OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/rygel/0.42.4/recipe-sysroot-native/usr/bin/pkg-config --modversion x11` -> 1
stderr:
Package x11 was not found in the pkg-config search path.
Perhaps you should add the directory containing `x11.pc'
to the PKG_CONFIG_PATH environment variable
No package 'x11' found
-----------
CMake binary for host machine is cached as not found
Dependency lookup for x11 with method 'cmake' failed: CMake binary for machine host machine not found. Giving up.
Run-time dependency x11 found: NO (tried pkgconfig)
../rygel-0.42.4/src/rygel/meson.build:9:80: ERROR: Dependency "x11" not found, tried pkgconfig
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* fixes:
rygel-0.42.4/meson.build:1:0: ERROR: Value "false" (of type "string") for combo option "gtk" is not one of the choices. Possible choices are (as string): "enabled", "disabled", "auto".
* possibly changed since:
7e1819d9e4
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
WirePlumber 0.4.17
Fixes:
Fixed a reference counting issue in the object managers that could cause
crashes due to memory corruption (#534)
Fixed an issue with filters linking to wrong targets, often with two sets
of links (#536)
Fixed a crash in the endpoints policy that would show up when log messages
were enabled at level 3 or higher
WirePlumber 0.4.16
Additions:
Added a new "sm-objects" script that allows loading objects on demand
via metadata entries that describe the object to load; this can be used to
load pipewire modules, such as filters or network sources/sinks, on demand
Added a mechanism to override device profile priorities in the configuration,
mainly as a way to re-prioritize Bluetooth codecs, but this also can be used
for other devices
Added a mechanism in the endpoints policy to allow connecting filters
between a certain endpoint's virtual sink and the device sink; this is
specifically intended to allow plugging a filter-chain to act as equalizer
on the Multimedia endpoint
Added wp_core_get_own_bound_id() method in WpCore
Changes:
PipeWire 0.3.68 is now required
policy-dsp now has the ability to hide hardware nodes behind the DSP sink
to prevent hardware misuse or damage
JSON parsing in Lua now allows keys inside objects to be without quotes
Added optional argument in the Lua JSON parse() method to limit recursions,
making it possible to partially parse a JSON object
It is now possible to pass nil in Lua object constructors that expect an
optional properties object; previously, omitting the argument was the only
way to skip the properties
The endpoints policy now marks the endpoint nodes as "passive" instead of
marking their links, adjusting for the behavior change in PipeWire 0.3.68
Removed the "passive" property from si-standard-link, since only nodes are
marked as passive now
Fixes:
Fixed the wpctl clear-default command to completely clear all the
default nodes state instead of only the last set default
Reduced the amount of globals that initially match the interest in the
object manager
Used an idle callback instead of pw_core_sync() in the object manager to
expose tmp globals
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
We do not need to preprocess it offline as its not run per session but
per user.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Mark Hatle <mark.hatle@amd.com>
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>
This was resulting on rejects on master
patching file modules/juce_core/system/juce_StandardHeader.h
Hunk #1 FAILED at 64 (different line endings).
1 out of 1 hunk FAILED -- rejects in file modules/juce_core/system/juce_StandardHeader.h
Patch 0001-StandardHeader-Include-utility-for-GCC-12-compatibil.patch does not apply (enforce with -f)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Yoann Congal <yoann.congal@smile.fr>
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>
This backport fixes this error:
note: 'std::exchange' is defined in header '<utility>'; did you forget to '#include <utility>'?
Note: The fix is on version >= 7.0.0
Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
License-Update: Switch to LGPL-2.1 [1]
Drop rpath patch its not needed anymore with meson build system
Switch to using meson build system
Fix packaging for python pieces and systemd
[1] 76d9fb61a0
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Get the support for newer gupnp 1.2
Fixes
| configure: error: Package requirements (gupnp-1.2 >= 1.2.0) were not met:
|
| No package 'gupnp-1.2' found
Signed-off-by: Khem Raj <raj.khem@gmail.com>
- CMakeList.txt patch deleted because added to the new version.
Changelog:
* Miscellaneous bugs fixed.
* PCM plugin support.
* Add CMake build support.
* Add meson build support.
* tinyplay can now read from stdin.
* Improved versioning support for library.
* Improvements to pcm actions (prepare at open time and after overrun, etc.)
* Improvements/fixes to pcm_get_htimestamp().
* Fixes for the mixer percent functions.
Signed-off-by: alperak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changelog:
0.1.6
- Fixed an infinite loop when decoding some AMR-NB samples
- Fixed noise spikes when decoding non-voice frames for both AMR-NB and AMR-WB
0.1.5
- Fix an autotools issue with cross compiling from the 0.1.4 release
0.1.4
- Autotools cleanups
- Fixes for SID/DTX in the AMR-WB decoder, fixes for handling of bad
frames in both AMR-WB and AMR-NB
Signed-off-by: alperak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Patches deleted because issues fixed in the new version.
Changelog:
ver 0.23.14 (2023/10/08)
* decoder
- flac: fix scanning files with non-ASCII names on Windows
- mad: fix calculation of LAME peak values
* mixer
- wasapi: fix problem setting volume
* more libfmt 10 fixes
* fix auto-detected systemd unit directory
* Android
- require Android 7 or newer
ver 0.23.13 (2023/05/22)
* input
- curl: fix busy loop after connection failed
- curl: hide "404" log messages for non-existent ".mpdignore" files
* archive
- zzip: fix crash bug
* database
- simple: reveal hidden songs after deleting containing CUE
* decoder
- ffmpeg: reorder to a lower priority than "gme"
- gme: require GME 0.6 or later
* output
- pipewire: fix corruption bug due to missing lock
* Linux
- shut down if parent process dies in --no-daemon mode
- determine systemd unit directories via pkg-config
* support libfmt 10
Signed-off-by: alperak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changelog:
- security fixes
- fixed generation of pkgconfig file with autotools
- fixed crashes recently detected by fuzzing
- read HDR parameters from VUI header
- fix reading matrix_coeffs from VUI header
- build fixes for vcpkg
- add API to read VUI color information from bitstream
- fix race in static mutex initialization
- fix missing headers to install in CMakeLists.txt
Signed-off-by: alperak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changelog
-Make mbedtls hmac less restrictive in line with RFC and library capabilities
-Allow overriding stream list implementation
-update min openssl version to 1.1.0
-Openssl 3 support for EVP MAC
-Add android build to CI
-add CIFuzz Github action to workflows
-Add policy_set_aes_cm_192_xxx symbols to def file
-Use current directions in stream update test
-Call `set_aad` and `get_tag` in AEAD performance tests
-Create alias for srtp2 as libSRTP::srtp2
-Remove compatibility code for legacy OpenSSL to fix LibreSSL build
-Export CMake Targets
-Avoid initializing local char table when converting nibble to hex
-EVP_CIPHER_CTX_cleanup() is deprecated in OpenSSL 1.1.0
-Correct null cipher key sizes and be more defensive
-Include directory should point to 'include' not to 'include/srtp2'
-Count blocks instead of bytes in AES-ICM limit computation
-Rtp decoder support ssrc and roc
-Use a full-length key even with null ciphers
-Fix set ROC functionality with gcm
Signed-off-by: alperak <alperyasinak1@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Switch to using libsoup-3 and meson for build system
Disable media-export plugin, since it fails to build
rygel-media-export-dvd-parser.vala:91.27-91.39: error: The name `uri_copy' does not exist in the context of `Soup' (libsoup-3.0)
| 91 | var new_uri = Soup.uri_copy(file_uri,
| | ^~~~~~~~~~~~~
| libsoup-3.0.vapi:4.1-4.14: note: `Soup' was declared here
| 4 | namespace Soup {
| | ^~~~~~~~~~~~~~
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This fixes:
| Run-time dependency gi-docgen found: YES 2023.1
| Program gi-docgen found: NO
|
| ../gssdp-1.4.0.1/doc/meson.build:4:11: ERROR: Program 'gi-docgen' not found or
not executable
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
No longer used in generating packages
Also creates a possible confusion with the recipe maintainer
name.
Signed-off-by: Markus Fuchs <mklntf@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The "update" in commit 60726d77d5 added a SRCREV rather than updating
SRCREV_base. Change the recipe to actually use SRCREV so that it is
compatible with future AUH updates.
Also specify the version in the recipe file name, and correct somw
whitespace.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The code fails to compile.
/mnt/b/yoe/master/build/tmp/work/cortexa15t2hf-neon-yoe-linux-gnueabi/aom/3.7.0/git/aom_dsp/arm/highbd_subpel_variance_neon.c:257:1: error: call to undeclared function 'aom_highbd_8_variance16x16_neon'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
PipeWire 0.3.84 (2023-11-02)
This is the fourth 1.0 release candidate that is API and ABI compatible
with previous 0.3.x releases.
Highlights
- Fix a regression with openal because the queued buffers in the stream
were not reported correctly.
- Fix a bug in port busy counters that could cause random silent links.
- Fix a regression in echo-cancel because it was not reporting its
streams as ASYNC.
- Fix a JACK regression where not all ports were enumerated in all cases.
- Many more fixes and improvements.
PipeWire
- pw_stream now reports the queued buffers more accurately. This fixes
a regression when using openal. (#3592)
- The port busy counters were not updated correctly in some cases. This
could lead to negotiation errors and silent links. (#3547)
- Ignore latency maximum when forcing rate/quantum. (#3613)
- Nodes can now be added to multiple groups and link-groups. (#3612)
Modules
- The filter-chain now also handles notify port dependencies
correctly. (#3596)
- Filter-chain has support for new linear, clamp, recip, exp, log, mult,
sine builtin plugins.
- The echo-cancel module now correctly reports its playback and capture
streams as ASYNC to avoid running out of buffers. (#3593)
- It is now possible to specify an array of remote names to connect to
with the native protocol.
- module-rtp-sap and module-rtp-sink now try to bind to the specified
interface.
SPA
- The alsa plugin now removes the runtime properties such as period-num,
period-size and max-latency when suspended. (#3613)
Bluetooth
- BAP Locations/Context is now set on endpoints as required by new bluez.
- Improve selection of BAP leader.
JACK
- Add a jack_set_sample_rate() extension function.
- Make sure we get the info of all nodes/ports before completing the
jack_client_open() operation so that we can enumerate the ports
correctly in all cases. (#3618)
GStreamer
- Fix types of metadata in pipewiresink.
- Also copy metadata in buffers in all cases.
- Fix size allocation in bufferpool for compressed formats.
- Don't stop streaming thread when unlinked. (#3620)
ALSA
- The ALSA plugin now handles NULL values from mmap_areas. (#3600)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
PipeWire 0.3.83 (2023-10-19)
This is the third 1.0 release candidate that is API and ABI compatible
with previous 0.3.x releases.
Highlights
- A quantum change regression was fixed.
- Use a 2 socket server now for the manager and the applications
with (when wireplumber is updated) different permissions.
- Reduce memory usage a little in audioconvert and use fewer buffers.
- Some JACK deadlocks were fixed.
- More bugfixes and improvements.
PipeWire
- Fix quantum change regression. (#3574)
- Use a 2 socket server by default. One for the session-manager and one
for applications.
- Fix a potential use-after-free in node and device cleanup. (#3588)
modules
- Some hardcoded buffer size limits were removed.
- Fix ASYNC flag on combined-streams.
- Add support for on-demand combined-streams using metadata.
SPA
- alsa-udev will now ignore PCMs with the ACP_IGNORE udev environment
variable. (#3570)
- The audioadapter now uses at least 2 buffers when the follower is
async.
- The number of buffers used by plugins was tweaked a little. Most
plugins now only ask 1 buffer.
- Memory usage in audioconvert was reduced.
- Fix some unaligned reads and writes and undefined left shifts reported
by ASAN. (#3572)
- Rework vulkan dependency checking.
- Don't try to link ALSA devices when prepare fails. This fixes some
crashes.
- Fix a stall when the allowed codecs are changed in ALSA.
- Improve ALSA rate control for sources to avoid xruns. (#3584)
- Try to fix IEC958 TrueHD and DTS playback. (#2284)
Bluetooth
- Improve fallback SCO mtu when the kernel doesn't tell us.
JACK
- The fixed buffer size limit was removed.
- Add an option to make input buffers writable (default true).
- A potential deadlock was fixed when applications lock the process
function. (#3585)
- Use a separate thread to dispatch notifications to avoid deadlocks.
(#3585)
- Potentially fix silent export in ardour in some cases. (#3514)
Older versions:
PipeWire 0.3.82 (2023-10-13)
This is the second 1.0 release candidate that is API and ABI compatible
with previous 0.3.x releases.
Highlights
- Fix a regression in some devices when the Pro-Audio profile was selected.
Only enable the IRQ based scheduling and device linking in specific
safe cases. (#3556)
- Improve rate switching. In some cases the graph rate would not switch
correctly. (#2929)
- Fix regression in alsa wakeups that would cause silence in VMs.
- Fix a leak in the SBC codecs for SCO.
- More improvements to the RAOP module.
- Other small improvements and fixes.
PipeWire
- Improve client property checks.
- Allow non-power-of-2 quantums when forced.
- Improve rate switching. In some cases the graph rate would not switch
correctly. (#2929)
- The PIPEWIRE_QUANTUM env variable now forces the size and rate in the
graph for the duration of the application. The softer PIPEWIRE_LATENCY
and PIPEWIRE_RATE can still be used to merely suggest a maximum latency
and a rate.
modules
- Remove the RTSP FLUSH request in RAOP because it does not seem necessary.
- The RAOP module now uses the common RTP stream functions.
- Add sockets option to protocol-native to make pipewire listen on multiple
sockets.
SPA
- Clean up some of the log functions.
- Add an option in ALSA to disable linking devices together.
- Only link pcms together when 1 capture and 1 playback pcm. For more complex
devices we can't be sure which ones can be linked. (#3556)
- disable tsched only when using linked devices.
- Add some extra checks in ALSA to avoid segfaults. (#3554)
- Add Tag support to alsa-sink and alsa-source.
- Use dynamic pod builder when we can.
- Set priority.driver on midi-bridge to allow it as a fallback driver. (#3562)
- Fix regression in alsa wakeups. (#3565)
- The PTP clock can now be found from the interface in node-driver.
pulse-server
- Some small cleanups and internal improvements.
- Add some memory debugging messages.
- Add Tag messages to streams.
Bluetooth
- Fix a leak in the SBC codecs for SCO.
JACK
- Patch up midi events in the destination buffer instead of writing to the
source buffer. (#3580)
- Group all jack clients together to avoid transport issues. (#3562)
ALSA-plugins
- Add also.deny option to block alsa clients from opening the PCM.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Additions:
- A new "DSP policy" module has been added; its purpose is to automatically
load a filter-chain when a certain hardware device is present, so that
audio always goes through this software DSP before reaching the device.
This is mainly to support Apple M1/M2 devices, which require a software
DSP to be always present
- WpImplModule now supports loading module arguments directly from a SPA-JSON
config file; this is mainly to support DSP configuration for Apple M1/M2
and will likely be reworked for 0.5
- Added support for automatically combining Bluetooth LE Audio device sets
(e.g. pairs of earbuds) (!500)
- Added command line options in ``wpctl`` to display device/node names and
nicknames instead of descriptions
- Added zsh completions file for ``wpctl``
- The device profile selection policy now respects the ``device.profile``
property if it is set on the device; this is useful to hand-pick a profile
based on static configuration rules (alsa_monitor.rules)
Changes/Fixes:
- Linking policy now sends an error to the client before destroying the node,
if it determines that the node cannot be linked to any target; this fixes
error reporting on the client side
- Fixed a crash in suspend-node that could happen when destroying virtual
sinks that were loaded from another process such as pw-loopback (#467)
- Virtual machine default period size has been bumped to 1024 (#507)
- Updated bluez5 default configuration, using ``bluez5.roles`` instead of
``bluez5.headset-roles`` now (!498)
- Disabled Bluetooth autoconnect by default (!514)
- Removed ``RestrictNamespaces`` option from the systemd services in order to
allow libcamera to load sandboxed IPA modules (#466)
- Fixed a JSON encoding bug with empty strings (#471)
- Lua code can now parse strings without quotes from SPA-JSON
- Added some missing `\since` annotations and made them show up in the
generated gobject-introspection file, to help bindings generators
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
In order to pass reproducible tests, recipes that use the
useradd class must have static ids configured.
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Reviewed-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This is the first 1.0 release candidate that is API and ABI compatible
with previous 0.3.x releases.
- jackdbus support is now enabled by default.
- IRQ based scheduling in ALSA was improved and enabled by default for
Pro-Audio profile. It will also link the pcms together to get lower
latency. This now matches what JACK does and gives equal latency to
PipeWire for Pro-Audio profiles.
- Support both old and new versions of webrtc-audio-processing to make
the transition easier.
- Forced quantum changes by nodes or metadata will now also force a
suspend and resume of the graph, like the rate changes to make sure all
nodes adapt to the new quantum. This is important for Pro-Audio nodes
that need to reconfigure the hardware to a new period in IRQ based
scheduling.
- Fix a regression in regex parsing.
- Many bugfixes and improvements.
- jackdbus is by default enabled now. The idea is that when jackdbus is
installed, the real libjack.so is in the path and we can become a
real JACK client.
- Forces quantum changes by nodes or metadata will now also force a
suspend and resume in the graph, like the rate changes to make sure all
nodes adapt to the new quantum. This is important for Pro-Audio nodes
that need to reconfigure the hardware to a new period.
- The stream now has an EARLY_PROCESS option that can be used to implement
custum buffer fill levels. (#3480)
- Fix a regression in regex parsing. (#3528)
- Fix a bug in position reporting in the driver node. (#3189) (#3544)
- Destroying a link will now recalculate the graph correctly.
- Fix the rate comparison for finding the best rate in the graph.
- Use malloc_trim() when available to release memory. (#1840)
- pw-cat now supports DFF DSD files.
- pw-cli avoid some NULL derefs in some cases.
- The RAOP sink has seen some cleanups and improvements. It will now ask
for feedback every 2 seconds to keep some devices alive.
- A bug in filter-chain was fixed where it would fail to apply the gain
when mixing just one source.
- The filter-chain can now pass the stream volume to a control in the
filter-chain graph. (#3434)
- Improve volume handling in RAOP sink.
- Some cleanup in the pending_stream handling.
- Fix a regression in the event emission code where it failed to emit
a changed event when a node was linked. (#3522)
- Lower the realtime priority of pulseaudio clients.
- Set pulse.module.id on the echo-cancel streams. (#3541)
- Support both old and new versions of webrtc-audio-processing to make
the transition easier.
- The ALSA driver now does the sync of all followers directly from the
wakeup event. This results in more stable rate matching.
- IRQ based scheduling in ALSA was improved and enabled by default for
Pro-Audio profile. It will also link the pcms together to get lower
latency. This now matches what JACK does and gives equal latency to
PipeWire for Pro-Audio profiles.
- GNU/Hurd support was added.
- Some improvements to passthrough handling.
- Improvements to the codec handling when PipeWire is used as Audio
Gateway.
- Adapt to new Bluez API for BAP devices.
- When the jack library is set in the default library path, avoid using
LD_LIBRARY_PATH because this can cause confusion.
- Handle clearing the latency on a port.
- jack_property now always manages to actually change the metadata because
it waits for a roundtrip before exiting.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
These are test images to build all recipes in layer. Renaming them makes
them refect what they are. Moreover we can rename the ptest images to
match OE-Core naming conventions for meta-oe/meta-perl/meta-python
Signed-off-by: Khem Raj <raj.khem@gmail.com>
These were essentially duplicates of core-image-minimal, however
core-image-base is a better baseline for upper layers, so switched the
consumers of these images to use core-image-base
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The signature recalculation task can fail:
```
/.../build/tmp/work/armv8a-poky-linux/libcamera/1_0.0.4-r0/temp/run.do_recalculate_ipa_signatures_package.937421: line 154: /.../build/tmp/work/armv8a-poky-linux/libcamera/1_0.0.4-r0/git/src/ipa/ipa-sign-install.sh: No such file or directory
```
This happens whenever ${S} is removed and packages are retrieved from
sstate cache.
Instead of trying to fix the task, avoid the issue altogether by
performing the signature recalculation directly in do_package.
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Acked-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* it was removed in:
https://git.openembedded.org/meta-openembedded/commit/?id=deb11a823c32d4090b3724a589641810e06df6bc
* but still needed as shown in world build without x11 in DISTRO_FEATURES:
ERROR: Nothing RPROVIDES 'projucer' (but /OE/build/luneos-nanbield/meta-openembedded/meta-multimedia/recipes-multimedia/packagegroups/packagegroup-meta-multimedia.bb RDEPENDS on or otherwise requires it)
projucer was skipped: missing required distro feature 'x11' (not in DISTRO_FEATURES)
NOTE: Runtime target 'projucer' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['projucer']
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* apply the work around from:
https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/merge_requests/28
which is still needed for 1.3 version:
webrtc-audio-processing-1.3/webrtc/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc: In function 'float webrtc::{anonymous}::GetLevel(const webrtc::VadLevelAnalyzer::Result&, LevelEstimatorType)':
webrtc-audio-processing-1.3/webrtc/modules/audio_processing/agc2/adaptive_mode_level_estimator.cc:45:1: error: control reaches end of non-void function [-Werror=return-type]
45 | }
| ^
webrtc-audio-processing-1.3/webrtc/modules/audio_processing/audio_processing_impl.cc: In function 'webrtc::GainControl::Mode webrtc::{anonymous}::Agc1ConfigModeToInterfaceMode(webrtc::AudioProcessing::Config::GainController1::Mode)':
webrtc-audio-processing-1.3/webrtc/modules/audio_processing/audio_processing_impl.cc:117:1: error: control reaches end of non-void function [-Werror=return-type]
117 | }
| ^
webrtc-audio-processing-1.3/webrtc/modules/audio_processing/audio_processing_impl.cc: In lambda function:
webrtc-audio-processing-1.3/webrtc/modules/audio_processing/audio_processing_impl.cc:1853:13: error: control reaches end of non-void function -Werror=return-type]
1853 | default:
| ^~~~~~~
* this can now be dropped from meta-webosose, where it was since:
c2a24372e9 (diff-c367f86896c48beb338dac912d3bf03e07d92c8345fa08dc3dcd93093a949c16)
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This is a bugfix release that is API and ABI compatible with previous
0.3.x releases.
- A new Tag param was added that allows arbitrary metadata to be transported
out-of-band in the graph.
- Vulkan DMA buf support was merged.
- The echo-canceller was ported to webrtc-audio-processing-1.
- Fix a regression in locating monitor sources by id in pulse-server.
- Mixer io areas updates are now synchronized correctly with the data
thread to avoid potential crashes.
- Many more bugfixes and improvements.
- Handle driver nodes that refuse to change the quantum or rate.
- A new Tag param was added that allows arbitrary metadata to be transported
out-of-band in the graph.
- The pipe-tunnel source has been reworked to use a ringbuffer and rate
adaption to keep the latency constant. It can now also function as a
driver to reduce resampling. (#3478)
- pw-cat will now place media properties in Tag params.
- pw-mon can now filter props and params.
- ALSA refuses to change quantum and rate when in IRQ mode.
- ALSA will now be smarter in selecting the period size for batch devices
and will make it depend on the samplerate. (#3444)
- Vulkan DMA buf support was merged.
- ALSA latency will now be reported in the time domain of the graph.
- Add udev based autodetection for compress-offload devices.
- The echo-canceller was ported to webrtc-audio-processing-1.
- The v4l2 inotify code was rewritten to avoid a use-after-free and by
using a separate watch (but same fd) for each device. (#3439)
- The tag and latency handling was improved in audioadpter.
- Don't use -Ofast on alpha because it can crash on denormalized
values. (#3489)
- The mixers now synchronize spa_io_buffers updates with the data
thread to avoid crashes.
- Handle NULL param updates. (#3504)
- Fix a regression in locating monitor sources by id. (#3476)
- Add support for use_system_clock_for_timing in module-pipe-sink.
- Add support for checking module arguments.
- Avoid some useless change events.
- Ports are now marked as physical, which makes the bluetooth devices show
up as hardware devices in Ardour and other JACK apps. (#3418)
- Some fixes for LE audio support (#3479)
- Also emit unregister notify even when supressed when creating the
client.
- The notify callbacks now match JACK2 behaviour more.
- The mixer io areas are updated and handled safely now to avoid
crashes. (#3506)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Starting with 0.3.80 pipewire has a minimum requirement on
webrtc-audio-processing-1
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The usage of nobranch=1 in SRC_URI allows using unprotected branches.
This change updates the real branch name in place of nobranch=1 for these components.
Signed-off-by: Sourav Kumar Pramanik <pramanik.souravkumar@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
openh264 currently enforces neon on armv7, although it has fallbacks
implemented in C/C++ and it is mentioned in the README that it is
optional[1].
Therefore, make neon optional and disable it if the machine does not
support it.
[1] https://github.com/cisco/openh264/blob/v2.3.1/README.md?plain=1#L54
Signed-off-by: Benjamin Bara <benjamin.bara@skidata.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This is a quick bugfix release that is API and ABI compatible with previous
0.3.x releases.
- Fix a regression in suspend that could cause silence.
- Fix a regression in JACK port registration that could cause all kinds of
JACK problems. (#3485)
- Fix a typo in the neon sample conversion functions that could cause
distortion.
- Add BAP broadcast source and sink support.
- pw-top now has a batch mode to dump the output to stdout.
- Many more bugfixes and improvements.
- Fix a regression in shutdown where a node might not first suspend
properly. This cause loss of sound in some cases. (#3378)
- Failure to compile a regular expression in the config file will now
be reported and ! can be used to negate the match. (#3460)
- Fix a regression where some nodes might not set running in some
cases.
- Nodes are now suspended before the format is cleared, which might
fix some crashes.
- pw-top now has a batch mode to dump the output to stdout.
- The queued samples in audioconvert are now correctly reported in the
delay. (#3454)
- Make it easier to add a custom profile in ACP.
- Fix a typo in the neon sample conversion functions that could cause
distortion. (#3463)
- device.profile.pro=true is added for pro audio nodes.
- An xrun counter was added to spa_io_clock to detect and track skipped
data because of xruns.
- Add alsa-sink and alsa-source modules. (#3456)
- Fix a regression where only the BAP off profile is shown.
- Add BAP broadcast source and sink support.
- Also emit a latency notify when the buffer size changes.
- Fix a regression in JACK port registration. (#3485)
- jack_port_tie() is now supported.
- Improve property handling, support lists and ranges in addition to
fixed values. (#3451)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This is a small bugfix release that is API and ABI compatible with previous
0.3.x releases.
- An old regression was fixed with where some nodes would not run.
- A regression was fixed where removed events would not be shown in some
cases. This would result in duplicate entries in audio clients.
- Fix an off-by-one in the vban audio receiver. Tweak the rate adaption
a little.
- ACP will now set a UCM verb before probing the pro-audio devices.
- More bugfixes and improvements.
- An old regression was fixed with where some nodes would not run. (#3405)
- Suspend was improved a little to avoid races when the session manager would
suspend right when a driver was starting.
- module-rtp-sap does not use the deprecated inet_aton anymore.
- Fix an off-by-one in the vban audio receiver. Tweak the rate adaption
a little. (#3380)
- ACP will now set a UCM verb before probing the pro-audio devices. (#3407)
- The mandatory flag will be set now on the video modifiers.
- EVL was updated to Xenomai4 r46 and xbuf creation was improved.
- An option was added to force colors in the log even when logging to !tty.
- The return type of spa_pod_builder_control() was fixed.
- inotify errors are handled better now. (#3439)
- A regression was fixed where removed events would not be shown in some
cases. (#3414)
- Improve compatibility with more devices, avoid reusing the same transport
for different media-sink instances to avoid encoder resets.
- Improve enumeration of codec profiles for BAP and A2DP.
- Ensure we can't iterate ports from a deactivated client. Also make sure
the JACK clients with the node.always-process=false always show their
ports. (#3416)
- A potential crash was fixed in the device provider when stopping.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* in some cases libdir is /usr/lib64 and then libraries installed in /usr/lib aren't packaged:
ERROR: QA Issue: openh264: Files/directories were installed but not shipped in any package:
/usr/lib/libopenh264.a
/usr/lib/libopenh264.so.2.1.1
/usr/lib/libopenh264.so
/usr/lib/libopenh264.so.6
/usr/lib/pkgconfig
/usr/lib/pkgconfig/openh264.pc
Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
openh264: 6 installed and not shipped files. [installed-vs-shipped]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This is a quick bugfix release that is API and ABI compatible with previous
0.3.x releases.
- Fix a bug in ALSA source where the available number of samples was miscaluclated
and resulted in xruns in some cases.
- A new L permission was added to make it possible to force a link between
nodes even when the nodes can't see eachother.
- The VBAN module now supports midi send and receive as well.
- Many cleanups and small fixes.
- Global objects now only show permissions that apply to them. The permissions
required to perform various API calls are documented.
- A new L permission was added to make it possible to force a link between
nodes even when the nodes can't see eachother.
- Config files need to end with .conf.
- The client.api is added the to global properties of a node.
- The VBAN module now supports midi send and receive as well.
- Fix module-profiler alignment and make sure we don't overrun our buffers with
many nodes.
- Protect libcanberra calls with a mutex because it is not thread safe. (#2834)
- Support older compilers for spa_clear_ptr().
- Fix a bug in ALSA source where the available number of samples was miscaluclated
and resulted in xruns. (#3395)
- Don't set inotify on /dev but on the videoX devices directly. Setting inotify
on /dev would cause a lot of spurious wakeups and lock contention in the
fsnotify subsystem on some benchmarks.
- Audioconvert now rate limits the warnings when it runs out of buffers. (#3384)
- Some bugs and inconsistencies were fixed in device lookup.
- Improve subscribe event emission, detect changes to the sink or the monitor
and send the right sink/source event. (#3388)
- The libjack.so now has a minor version of 3 and a micro version of the pipewire
version.
- JACK clients will now see portregistration from other jack clients when they
activate/deactivate like real JACK. (#3260)
- Use some more autoptr cleanups, fix some leaks.
Older versions:
This is a quick bugfix release that is API and ABI compatible with previous
- LE Audio support is now enabled by default when liblc3 is available now that
bluez has support for detecting the hardware features.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
No longer used in generating packages
Also creates a possible confusion with the recipe maintainer
name.
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Bump libcamera to latest master, as commit a2eadc40a introduces
flicker controls for rpi which are required in latest libcamera-apps.
Signed-off-by: Vivien Didelot <vivien.didelot@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
libcamera v0.1.0
ABI Compliance:
abi-compliance-checker reports 99% binary compatibility and 81.4% source
compatibilty between version 0.0.5 and 0.1.
- Binary compatibility: 99%
- Source compatibility: 81.4%
- Total binary compatibility problems: 4, warnings: 2
- Total source compatibility problems: 165, warnings: 7
Now that we have funtional ABI validation, the soname has been updated from
libcamera.so.0.0.5 to libcamera.so.0.1.
Future releases will now maintain the same soname until an ABI breakage is
detected to reduce the repackaging and rebuilding of other components that may
use libcamera. The abi-compatibility report can now be generated with the new
utility './utils/abi-compat.sh'.
Key differences here are due to preventing the installation of internal and
private headers in the packaging process, and most of this API compatibility
should not be visible to applications with the exception of:
- Camera::generateConfiguration ( StreamRoles const& roles )
The StreamRoles type definition has been removed. This is now handled as a
Span<StreamRole> to prevent unnecessary allocations and copies.
- CameraManager::addCamera ( std::shared_ptr<struct Camera> camera, std::vector<unsigned long>const& devnums )
- CameraManager::get ( dev_t devnum )
- CameraManager::removeCamera ( std::shared_ptr<struct Camera> camera )
These functions of the CameraManager were for use exclusively by the V4L2
adaptation layer, and not intended for use by applications. This has now been
reworked to use the new SystemDevices and the redundant functions removed.
The ABI/API breakages have been introduced by:
5ca0c9276f28 ("libcamera: CameraManager: Remove ::get(dev_t)")
26a4b83d1b94 ("libcamera: Remove `StreamRoles` alias")
63966ae587d7 ("libcamera: base: Do not install private headers")
Core:
- libcamera: v4l2_videodevice: Use O_CLOEXEC when exporting DMA buffers
- libcamera: ipa_manager: Allow IPA loading in nested subdirs
- meson: Fix usage of overwritten pipeline variable
- subprojects: Drop leftovers of pybind11
- camera_sensor: ipa: core: Add CFA pattern to IPACameraSensorInfo
- libcamera: controls: Define a default lens position behaviour
- libcamera: internal: request: convert to pragma once
- libcamera: camera_manager: Move private implementation to internal
- libcamera: camera_manager: Move {add,remove}Camera to internal
- libcamera: properties: Provide a Devices camera property
- libcamera: pipeline: Register device numbers with camera
- libcamera: camera_sensor: Adjust properties::Rotation
- libcamera: meson: Allow PH to change libcamera_deps
- libcamera: base: Move thread_annotations to private
- libcamera: base: Do not install private headers
- utils: ABI Compatibility checker
- meson: Use x.y soname versioning
- libcamera: camera: Take span of StreamRole instead of vector
- libcamera: Remove `StreamRoles` alias
- utils: ipu3-capture.sh: Fix the script to work with recent media-ctl versions
- Documentation: Add predefined macros from config.h to Doxyfile
- utils: checkstyle: Add __repr__ method to CommitFile class
- utils: checkstyle: Support running checkers selectively
- utils: checkstyle: Don't include commit ID in commit title
- utils: checkstyle: Add trailers checker
- tests: gstreamer: Test cameras' enumeration from GstDeviceProvider
- meson: Fix space around colon issues
- libcamera: Add option to configure udev support
- libcamera: CameraManager: Remove ::get(dev_t)
- tests: gstreamer: Fix compiler error with gcc 8.4.0
ipa:
- meson: ipa: Add mapping for pipeline handler to mojom interface file
- libcamera: ipa: Remove character restriction on the IPA name
- ipa: meson: Allow nested IPA directory structures
- ipa: raspberrypi: Introduce IpaBase class
- ipa: raspberrypi: agc: Move weights out of AGC
- ipa: rkisp1: agc: drop hard-coded analogue gain range
- libipa: camera_sensor_helper: Add IMX327 helper
- pipeline: rpi: ipa_base: Parse config files after platformRegister()
- libcamera: camera_sensor: Add Sony IMX327 sensor properties
- ipa: rpi: imx296: Small refinements to the IMX296 mono sensor tuning
- ipa: rpi: Handle controls for mono variant sensors
- libcamera: controls: Drop reference to IPA in controls documentation
- libipa: camera_sensor_helper: Restore alphabetical order
- ipa: ipu3: agc: Drop hard-codec analogue gain max
- ipa: rkisp1: agc: Restore minimum analogue gain limit
- pipeline: ipa: rpi: Return lens controls from ipa->configure()
- ipa: rpi: Set lens position to hyperfocal on startup
- ipa: rpi: tunings: Add missing short and long exposure profiles
- ipa: rpi: agc: Use std::string instead of char arrays
- ipa: rpi: agc: Gracefully handle missing agc modes
- ipa: rpi: agc: Do not switch to a default if a mode is unavailable
- ipa: rpi: imx708: Fix mode switch drop frame count
- ipa: rpi: imx296_mono: Disable all colour shading
pipeline:
- libcamera: pipeline: simple: Add support for ST's DCMIPP
- pipeline: meson: Allow nested pipeline handler directory structures
- pipeline: ipa: raspberrypi: Refactor and move the Raspberry Pi code
- pipeline: raspberrypi: rpi_stream: Set invalid buffer to id == 0
- pipeline: ipa: raspberrypi: Restructure the IPA mojom interface
- pipeline: raspberrypi: Make RPi::Stream::name() return const std::string &
- pipeline: raspberrypi: Introduce PipelineHandlerBase class
- pipeline: raspberrypi: Add stream flags to RPi::Stream
- libcamera: rkisp1: Generate config using main path
- libcamera: rkisp1: Crop on ISP before downscaling
- libcamera: rkisp1: Assign sizes to roles
- libcamera: rkisp1: Fix enumeration of RAW formats
- pipeline: rpi: Do not return an error from pipeline config file handling
- libcamera: pipeline: simple: Support TI CSI-RX
- pipeline: rpi: Account for Bayer packing when validating format
apps:
- apps: qcam: Remove redundant check
- v4l2: Move the v4l2 compat layer to libexec/libcamera
- android: mm: generic: use GRALLOC_HARDWARE_MODULE_ID
- android: mm: Stub libhardware for build tests
- py: Fix CameraManager.version property
- py: Move ColorSpace and Transform classes to separate files
- py: Use exceptions instead of returning error codes
- py: unittests.py: Add weakref helpers and use del
- py: Move to mainline pybind11 version
- py: Fix code formatting
- py: unittests.py: Fix type checker warnings
- gstreamer: Add enable_auto_focus option to the GStreamer plugin
- gstreamer: Drop libcamera_private dependency
- apps: Add ipa-verify application
- v4l2: v4l2_camera_proxy: Prevent ioctl sign-extensions
- v4l2: Use SystemDevices properties to identify cameras
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This is a bugfix release that is API and ABI compatible with previous
0.3.x releases.
- Link permissions between nodes are now enforced. This avoids potential portal
managed screencast nodes to link to the camera even though it was not assigned
permissions to do so by the session manager.
- Libcamera and v4l2 devices now have properties so that duplicates can be
filtered out by the session manager.
- A bug with draining was fixed where a buffer would be marked EMPTY and would not
play when it contained drained samples. (#3365)
- Many fixes and improvements.
- Permissions for links between nodes are now enforced. The link will now check
that the owner clients of the nodes can see eachother before allowing the link.
This avoids screensharing clients to accidentally being linked to the camera
nodes by the session manager. A side effect is that patchbay tools will no longer
be able to link portal managed screencast nodes to the camera, for this we need
a new permission for those patchbay clients. (wireplumber#218)
- The stream.rules/filter.rules are now evaluated when connecting the stream/filter
so that more properties can be matched. (#3355)
- Move some internal events from the context to the nodes to better handle per-node
threads in the future.
- The thread-loop will now signal when the thread is started.
- A timestamp workaround in module-raop was reverted because it does not work
in all cases. Instead latency was increased to 1.5 seconds, which also makes
the problematic device in question work. (#3247)
- The profiler module was reworked a bit to use the new node realtime events. It
should now also handle dynamically added and removed drivers.
- The module-rt now does the rtkit calls from a separate thread so that it does
not block the main thread. This could cause deadlocks during startup in some
cases. (#3357)
- Atomic operation macros were move from internal pipewire API to public API.
- The video-info structure now has a new SPA_VIDEO_FLAG_MODIFIER_FIXATION_REQUIRED
flag to instruct the application to fixate the modifiers. This simplifies some
logic in applications a lot.
- The libcamera and v4l2 nodes now have properties to enumerate the device id
they are using. This can be used to match v4l2 devices and libcamera devices
and filter out duplicates.
- A bug with draining was fixed where a buffer would be marked EMPTY and would not
play when it contained drained samples. (#3365)
This is a quick bugfix release that is API and ABI compatible with previous
- Merge scope based cleanup macros.
- Add ratelimit function.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This is a bugfix release that is API and ABI compatible with previous
0.3.x releases.
- Fixes an ALSA resume after suspend error.
- Handle and disable seemingly wrong hires timestamps from ALSA.
- Filter-chain now has loadable plugin modules. The LV2 and sofa plugins are
moved to a separate .so file to make things more modular.
- Rate changes in the graph should now be handled more gracefully by loopback
and filter-chain.
- A regression in the rtp-sap module was fixed where it would in some cases
fail to start.
- A potential crash in the peaks resampler was fixed.
- Many cleanups and other small bug fixes.
- Fix a potential segfault when no fallback driver was set in the config.
- Improve OPUS detection.
- Add ASYNC flag to pw-filter and pw-stream when queue/dequeue is not called
from the process function. This ensure we allocate an extra buffer.
- Discard pending process callbacks when disconnecting. (#3314)
- Cleanups and improvements to the debug environment variable parsing.
- The graph rate was tweaked to better handle very low rates such as those
requested by pavucontrol when it does the signal monitoring.
- An example filter module was added.
- Filter-chain and loopback now disable the resamplers if no rate is specified
and will always follow the graph rate.
- Improve setup of filter-chain. The graph is now created when starting
because this ensure the target graph rate is known.
- Filter-chain can now link notify ports to control ports in the graph.
- Filter-chain now has loadable plugin modules. The LV2 and sofa plugins are
moved to a separate .so file.
- A regression in the rtp-sap module was fixed where it would in some cases
fail to start.
- Module-rt now has options to disable rlimits, portal and rtkit.
- module-raop-discover now has an options to set the latency. (#3247)
- pw-cat now supports overriding all stream properties.
- Disable rate negotiation when the resampler is disabled. We will always
follow the graph rate.
- Set device.icon property for UCM ports as well.
- Improve ALSA recover when using hires timestamps. This fixes some problems
after resume from suspend. (#3315)
- ALSA will now warn and disable hires timestamp when they seem wrong.
They can also be disabled manually with a property.
- V4l2 will now gracefully handle ENOTTY when enumerating frame sizes and
frame rates. (#3325)
- A potential crash in the peaks resampler was fixed. (#3320)
- A client crash in pavucontrol is avoided by always setting a card name.
- The graph rate is now taken correctly when using the FIX flags. (#3317)
- An option was added to ignore the FIX flags of a stream. Also the
documentation for those options was updated. (#3317)
- module-raop-discover now support latency_msec. (#3247)
- Remove an assert and issue a warning/recover instead when a buffer is too
small.
- The device provider does locking when destroying the registry.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* deprecated since libxml2-2.11 upgraded in oe-core in:
https://git.openembedded.org/openembedded-core/commit/?id=24860598ba8557ea3a145f249938ea411f1ef1d8
* fixes:
../gupnp-1.4.1/libgupnp/gupnp-service-info.c: In function 'got_scpd_url':
../gupnp-1.4.1/libgupnp/gupnp-service-info.c:595:17: error: 'xmlRecoverMemory' is deprecated [-Werror=deprecated-declarations]
595 | scpd = xmlRecoverMemory (msg->response_body->data,
| ^~~~
In file included from /OE/build/luneos-nanbield/webos-ports/tmp-glibc/work/cortexa8t2hf-neon-webos-linux-gnueabi/gupnp/1.4.1-r0/recipe-sysroot/usr/include/libxml2/libxml/globals.h:18,
from /OE/build/luneos-nanbield/webos-ports/tmp-glibc/work/cortexa8t2hf-neon-webos-linux-gnueabi/gupnp/1.4.1-r0/recipe-sysroot/usr/include/libxml2/libxml/threads.h:35,
from /OE/build/luneos-nanbield/webos-ports/tmp-glibc/work/cortexa8t2hf-neon-webos-linux-gnueabi/gupnp/1.4.1-r0/recipe-sysroot/usr/include/libxml2/libxml/xmlmemory.h:222,
from /OE/build/luneos-nanbield/webos-ports/tmp-glibc/work/cortexa8t2hf-neon-webos-linux-gnueabi/gupnp/1.4.1-r0/recipe-sysroot/usr/include/libxml2/libxml/tree.h:1310,
from ../gupnp-1.4.1/libgupnp/gupnp-service-introspection-private.h:12,
from ../gupnp-1.4.1/libgupnp/gupnp-service-info.c:26:
/OE/build/luneos-nanbield/webos-ports/tmp-glibc/work/cortexa8t2hf-neon-webos-linux-gnueabi/gupnp/1.4.1-r0/recipe-sysroot/usr/include/libxml2/libxml/parser.h:872:17: note: declared here
872 | xmlRecoverMemory (const char *buffer,
| ^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This is a bugfix release that is API and ABI compatible with previous
0.3.x releases.
- Fix a critical bug that would refuse to update the samplerate or
buffersize in JACK clients. (#3226)
- A new module-netjack2-driver and module-netjack2-manager were added
that are compatible with NETJACK2. This allows PipeWire to become
a NETJACK2 manager or a driver between JACK2 or PipeWire servers.
- Support was added for firewire devices with FFADO. This is untested
for now and MIDI is not implemented yet.
- The node scheduling was optimized some more. External drivers are now
as efficient as in-server ones. This should improve performance of
various drivers such as bluetooth and JACK based drivers.
- Many, many bug fixes and a ton of improvements.
- pw-filter can now be used to write sinks and sources.
- The node activation for drivers was changed. The driver now does not
need to go to the server to start the processing cycle. This makes
out-of-server drivers as efficient as in-server drivers.
- Don't try to use drivers with 0 priority as fallback drivers. This
avoids making the screencast driver a driver for audio. (#3219)
- Improve xrun count reporting in pw-top and the profiler. Now each
node has their own xrun counter updated when it fails to complete
processing during the cycle.
- pw-filter now also has support for TRIGGER.
- A potential fd leak was found when fds were send to a zombie client.
(#1840)
- Fix a bug where monitor or capture streams were logged twice in the
profiler. (#3278)
- Remove stream hooks safely. (#3251)
- A bug in serialization of container properties was fixed. This could
result in truncated property values. (#3290)
- The PIPEWIRE_AUTOCONNECT environment variable now always overrides the
autoconnect settings of streams. (#3299)
- Node, port and link destroy now avoids some useless work.
- Port will now try to renegotiate a new format when idle. (#3266)
- The module-sap now is more compatible with AES67.
- A new FFADO driver module was added. This is completely untested because
of lack of hardware. Please test and report issues.
- A new NETJACK2 driver and a NETJACK2 manager module were added. These
should be drop in replacements for the JACK2 parts.
- The RAOP discover module now tries harder to only list devices once.
- The zeroconf discover module now tries harder to only list devices once.
- The RAOP sink module now handles latency better and is compatible with
some more devices. (#3247, #3282)
- The loopback and filter-chain modules now always dequeue the last input
buffer to avoid stuttering in some cases. (#3276)
- The SPA node factory module can now also export nodes. This is used to
export the PTP clock from the AES67 config file.
- A bug in module-jack-tunnel was fixed that would cause stuttering and
corrupted output in some cases. (#3255)
- The resampler is now disabled in module-loopback and filter-chain when
the samplerate is set to follow the graph rate. (#2969)
- The way the mixer peer is sent to clients was improved. It is now also
possible to let a remote node know about mixer port removes, which
can avoid memory leaks and some code simplifications.
- Monitor ports now report latency correctly.
- The ALSA plugin now uses htimestamp to get a more accurate ringbuffer
position to estimate the clock skew.
- The channelmixer now has min/max-volume settings to limit or fix the
volume.
- The ALSA plugin can now control the playback and capture rate of USB
gadgets. This can avoid resampling and instead use the USB feedback
to control the rate.
- The ALSA output to multiple devices has been improved, some lockups
are avoided when the device ringbuffer is full.
- The compress-offload sink has improved negotiation.
- Only try to use GSettings when the schema exists.
- @DEFAULT_SOURCE@, @DEFAULT_SINK@ and @DEFAULT_MONITOR@ are now correctly
handled as targets in playback and capture streams. (#3284)
- 2 new quirks are added to disable volume updates on sinks/sources.
(#1517)
- The virtual-sink and virtual-source modules were added. These are really
example modules but actually also work and are useful on PulseAudio so
implement them as well.
- Fix initial stream volumes. (#3306)
- Only register A2DP or BAP when we have codecs.
- Include codec into the media.name
- Fix a critical bug that would refuse to update the samplerate or
buffersize. (#3226)
- Improve updates of samplerate/buffersize, delay the updates until the
client is activated. (#3297)
- Use the new mix-info updates to simplify the mixer setup and peer
detection.
- Fill default strides instead of 0 on pipewire video buffers. (#3236)
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Some ports e.g. visionfive2 does not yet supported 21.1+ mesa
where gbm_bo_create_with_modifiers2 API is available, therefore
use gbm_bo_create_with_modifiers API for compatibility
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The READMEs are often viewed from websites markdown format which is
much as readable as text and yet friendlier in browsers.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
lld finds out this error where _orc_code_orc_deinterleave2_s16 is needed
but is not linked into a testcase wavelet_max_gain
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This is emitted by configure into generated config.h which is used in
src/misc/messages.c and flows into binaries
Fixes
WARNING: vlc-3.0.18-r0 do_package_qa: QA Issue: File /usr/lib/libvlccore.so.9.0.1 in package libvlc contains reference to TMPDIR [buildpaths]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Default to 'auto' which enables all target architecture pipelines (+UVC).
IPAs are also automatically enabled if the corresponding required pipeline
is enabled as well.
Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-remove unneeded patch
-remove fluidsynth-native as it seems to be unneeded
-remove STAGING_LIBDIR from target files
-add more packageconfig options
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Switch to using nasm instead of yasm on x86 builds for asm
optimizations. This is to enable reproducible builds even though yasm is
preferred but it encodes FILE directive in ELF to absolute path of asm
files and results in buildpath warnings, there is no way to remove it
without editing the final binaries. nasm provides --reproducible option
to handle it nicely
License-Update: Fixes a typo [1]
[1] https://aomedia.googlesource.com/aom/+/f97c63026174df67bc08c75fa72bf0ad01ca1a98
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changes for 1.2.0 'Arctic Peregrine Falcon':
-------------------------------------------
1.2.0 is a small release of dav1d, adding more SIMD and fixes
- Improvements on attachments of props and T.35 entries on output pictures
- NEON z1/z3 high bit-depth optimizations and improvements for 8bpc
- SSSE3 z2/z3 8bpc and SSSE3 z1/z3 high bit-depth optimziations
- refmvs.save_tmvs optimizations in SSSE3/AVX2/AVX-512
- AVX-512 optimizations for high bit-depth itx (16x64, 32x64, 64x16, 64x32, 64x64)
- AVX2 optimizations for 12bpc for 16x32, 32x16, 32x32 itx
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This is a bugfix release that is API and ABI compatible with previous
0.3.x releases.
- A new zero-latency jackdbus bridge was added. This works similar to what
PulseAudio has to offer and creates a sink/source when jackdbus is
started. It is however much more efficient and runs the complete PipeWire
graph as a synchronous JACK client with no added latency.
- Many performance improvements. Activation of remote nodes is more
efficient, fewer eventfds are required on the clients, less callback
overhead in performence critical paths and an optimized poll function
was added. This was mainly driven by the jackdbus module to get the lowest
possible overhead when running the graph.
- The JACK notify callback implementation was reworked to emulate better what
JACK does, improving compatibility with ardour7 and the JACK stress test.
- More work on BAP devices. Device latency is now passed on to
applications also for multi-device headsets, and channel allocation
is handled better.
- Many more improvements and bugfixes.
- Remove the hardcoded limit on io_areas. This is used to link nodes together
and exchange buffers, it was limited to 2048 but now dynamically scales
based on requirements.
- Rate and quantum changes are now applied correctly in more cases. (#3159)
- Updates to client-node to more efficiently process the driver.
- The profiler information was improved to be more accurate. It should
now work better for remote drivers.
- Some potential memory map errors were fixed in the protocol because in some
case with large messages, some fds were closed too soon.
- pw-filter now implements the pw_filter_set_active() method.
- A potential out-of-buffers case was fixed in capture pw-streams where buffers
were not moved to the recycle queue when the node suspended.
- Nodes are now always woken up with the eventfd. Previously there were
some optimiztions in the server to directly call into the node process
function but that optimization is not necessary. Without this optimization
it is now possible to run nodes in different threads.
- pw-stream trigger is now implemented correctly in all cases.
- Remote nodes now use one eventfd less because they get triggered with the
node eventfd directly.
- Monitor ports are now ignored in latency updates.
- A potential race when reporting an error to a client was fixed. (#3192)
- Fix a bug where always_process nodes would sometimes IDLE. (#3189)
- Optimize peer activation. Nodes are now activated more efficiently and
independent of the number of links. It also reduces the number of eventfds
and memory in remote clients.
- A bug in property serialization was fixed. Values with spaces would only
serialize the first part of the value.
- Correctly handle the echo-canceler plugin init method fallback. The
samplerate was not correctly configured. This is only a regression for people
that have external echo-canceler plugins.
- RAOP sink now only sets the volume on the remote end when the stream is
recording. (#3175)
- RAOP discover now tries to deduplicate entries from the same host.
- A new zero-latency jackdbus bridge was added. This works similar to what
pulseaudio has to offer and creates a sink/source when jackdbus is
started. It is however much more efficient and runs the complete PipeWire
graph as a synchronous JACK client.
- The access module uses a more secure way to check the application
executable.
- module-combine-stream now has configurable delay and latency for each
stream. This can be used to align sinks/sources with different latencies.
- A potential crash in module-pulse-tunnel was fixed when shutting down.
(#3199)
- Module-rt will now clamp the nice value to the min allowed value to avoid
errors from rtkit. (#3186)
- Fix a bug with the session counters in module-rtp-sap. Also use the right
format for L24. Improve the AES67 example config.
- Improve some warning and info messages in module-rt. (#3194)
- module-rtp-session should now do something when started without arguments.
- A potential crash in module-rtp-session was fixed. (#3217)
- module-filter-chain has better error reporting when a convolver fails to
load. (#3223)
- Move some things around to avoid compiler warnings. (#3171)
- Increase mixer ports. Reorganize some things and bump mixer input ports
from 128 to 512.
- Fix a potential crash when a node is scheduled before it completes
the setup.
- The JACK sink and source SPA plugins have seen some improvements.
- Allow the peaks resampler still if we disabled resampling.
- Perform more cleanup in audioadapter when in error.
- An optimized non-cancellable loop implementation was added.
- Callbacks were optimized with a _fast() varsion that doesn't check the
version and method. When this check is performed earlier, it can
be skipped in performance critical places.
- Some of the callbacks and system methods are now using the fast function
calls in critical paths.
- A potential division by zero was fixed in the ALSA plugins.
- Improve rate and quantum when starting audioconvert.
- Make it possible to override node.driver in the SPA null-audio-driver.
(#3220)
- The audio info parameter parsing was refactored and improved.
- Fix some races with clients exiting when playing samples.
- An option was added to change or disable the dbus name registration.
(#2987)
- Implement battery reporting using AT+XEVENT.
- Disable hardware volume for 3M WorkTunes.
- Implement BAP audio locations (channel positions) by using the new
bluez properties.
- Fix some errors reported by JACK test.cpp. (#2638)
- Add jack.show-midi option to show/hide midi ports.
- Add jack.max-client-ports option. JACK also has a port limit and so
PipeWire needs it as well to make the tests happy.
- Call the shutdown callback only when the server stopped, not when there
is a random error. (#3070)
- Avoid registering the same port name twice.
- Call port registration callbacks in activate/deactivate.
- Improve jack_port_connected().
- Improve some error reporting.
- The JACK headers were updated to a newer version.
- JACK callbacks are now managed with an event queue to simulate
more what JACK does. This avoids emiting callbacks when a method is blocking
for a reply and causing deadlocks. (#3183)
- Assign unique names to JACK clients. (#2833)
- Fix a potential crash when the thread_utils was used after free.
- Aliases are now not filled in by default to improve JACK compatibility.
(#3154)
- The ALSA plugin will now wait for negotiation to complete or an error
before _prepare() completes. This makes more applications deal correctly
with the potential errors.
- A new document about how scheduling is implemented was added.
- Update the pw-cli man page. (#2988)
- Document the SPA Pod serialization.
- Document the PipeWire native protocol.
Signed-off-by: Markus Volk <f_l_k@t-online.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>