ec6e54a392
This comes late because I had to package libopenaptx for Packman first (not yet committed, pending access). Build tested. - Add %bcond_with aptx conditional to let 3rd parties to enable aptX support. (forwarded request 892963 from namtrac) OBS-URL: https://build.opensuse.org/request/show/893652 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pipewire?expand=0&rev=30
1845 lines
84 KiB
Plaintext
1845 lines
84 KiB
Plaintext
-------------------------------------------------------------------
|
|
Thu May 13 20:33:25 UTC 2021 - Ismail Dönmez <ismail@i10z.com>
|
|
|
|
- Add %bcond_with aptx conditional to let 3rd parties to enable
|
|
aptX support.
|
|
|
|
-------------------------------------------------------------------
|
|
Sat May 8 18:02:57 UTC 2021 - Ismail Dönmez <ismail@i10z.com>
|
|
|
|
- Add %bcond_with aac conditional to let 3rd parties to enable
|
|
AAC support.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri May 7 14:46:32 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Update to 0.3.27
|
|
* Highlights
|
|
- Fix bug that caused bluetooth devices to stop working.
|
|
- Fix session-manager crash when switching users caused by
|
|
the DBus plugin cleanup errors.
|
|
- Improve volume handling of monitor ports.
|
|
- Fix GStreamer v4l2 support.
|
|
- Implement module-remap-sink and module-remap-source in
|
|
pipewire-pulse.
|
|
- More fixes and improvements.
|
|
* PipeWire
|
|
- Move the loopback code into a module. Use this in pw-loopback
|
|
and pipewire-pulse. Fix some cleanup crashes.
|
|
- A dummy echo-cancel module was added. Later versions will
|
|
include the webrtc echo-canceler.
|
|
- State files don't have the X permission anymore.
|
|
- Move i18n core into a private header file.
|
|
- Stream can now advertize properties and receive property
|
|
updates.
|
|
- Fix an issue where the wrong index was used to address a port.
|
|
It caused Bluetooth devices to stop working.
|
|
* SPA plugins
|
|
- Only do LFE filtering on channels we created.
|
|
- Improve name and description of devices.
|
|
- Improve cleanup in DBus connections and sources to avoid crash
|
|
when destroying.
|
|
- Improved volume handling. Hardware, Software and Monitor
|
|
volumes are now properly separated and handled.
|
|
- Support for S8 and S8P formats was added.
|
|
* Tools
|
|
- pw-cli can now also create Struct from JSON arrays.
|
|
* Session-manager
|
|
- The session manager can now also create passive links. This
|
|
makes is possible to suspend effect chains together with the
|
|
sinks when not in use.
|
|
- Match rules now check the complete property value instead of
|
|
only the start.
|
|
- Handle multiple pending param enumerations, take only last
|
|
result. This fixes some volume update issues.
|
|
* GStreamer plugins
|
|
- GStreamer plugins now advertize handling DMABUF explicitly. This
|
|
is currently the only way to avoid a memcpy for v4l2 devices.
|
|
* Device support
|
|
- sync ACP with pulseaudio, merge upstream patch instead of our
|
|
hack to workaround missing duplex devices.
|
|
- V4l2 devices don't expose their fd anymore. Previously the fd
|
|
and mmap offsets were passed to the client to access the buffer
|
|
memory but that could create security issues.
|
|
* Bluetooth
|
|
- Don't unregister the profiles on shutdown because this can cause
|
|
delay, just close the dbus connection.
|
|
- Bluetooth devices now try to use the global samplerate from the
|
|
graph.
|
|
* PulseAudio server
|
|
- Implement remap-sink and remap-source modules using the
|
|
new loopback module.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon May 3 03:06:31 UTC 2021 - Yifan Jiang <yfjiang@suse.com>
|
|
|
|
- Disable gstreamer device provider by now because the timestamp
|
|
bug makes cheese video record abnormally longer than it should be
|
|
(rh#1884260).
|
|
- Replace all tab characters to space.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Apr 29 11:16:51 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Add %systemd_ordering so systemd is installed before pipewire
|
|
on fresh installations. This allows to set the service presets
|
|
correctly on new systems since the %systemd_user_* macros don't
|
|
do anything if systemd is not installed (boo#1185459).
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Apr 22 17:54:17 UTC 2021 - Michael Ströder <michael@stroeder.com>
|
|
|
|
- Update to 0.3.26:
|
|
+ Highlights:
|
|
- I18n support, with translations merged from PulseAudio.
|
|
- New pw-link tool.
|
|
- Many Bluetooth improvements, support for hardware volumes.
|
|
- Support for 64 channel devices.
|
|
- Stability fixes and improvements.
|
|
+ PipeWire improvements:
|
|
- The link factory can now also make links between nodes and
|
|
ports by name so that it can be used in scripts.
|
|
- Add module-protocol-simple that can stream raw audio on a
|
|
socket.
|
|
- Added i18n support. Merge PulseAudio translations for the ACP
|
|
library so that we don't cause regressions.
|
|
- Support more than 19 channels in the channel mixer. This
|
|
makes all channels usable on 32 and 64 channel cards.
|
|
- Detect if we're running in a VM and allow for tweaking some
|
|
settings such as the max-quantum to make things work better
|
|
in VMs.
|
|
- Fix a potential crash when connecting a client and updating
|
|
permissions.
|
|
- Fix a potential crash when trying to link incompatible ports.
|
|
- Lingering links in error will now be destroyed automatically.
|
|
+ Tools:
|
|
- Added new pw-link tool to list and monitor ports and to list,
|
|
monitor, create and destroy links between them.
|
|
- pw-cli can now also list params by name.
|
|
- pw-dump now outputs Spa:String:JSON types in metadata as
|
|
properly parsed and formatted JSON so that tools can parse
|
|
the metadata values using a JSON parser.
|
|
+ Session-manager:
|
|
- Add logind support. The bluetooth monitor can only be started
|
|
for one user at the time, so use logind detect active seats.
|
|
- ALSA icon names were improved to match what PulseAudio does.
|
|
- Improve the bluetooth icon name. Also use the device alias as
|
|
the device description, like PulseAudio.
|
|
+ Device support:
|
|
- When devices become inaccessible, they are now removed from
|
|
the PipeWire graph.
|
|
- Fix datatype selection for buffers in v4l2 and libcamera.
|
|
+ Bluetooth:
|
|
- Various memory leaks and crashes are fixed.
|
|
- Added support for AVRCP hardware volume.
|
|
- Added support for HSP/HFP hardware volume.
|
|
+ PulseAudio server:
|
|
- Fix module-loopback connections to monitor ports.
|
|
- Implement module-native-protocol-tcp.
|
|
- Handle nodes and streams with > 32 channels. The PulseAudio
|
|
API only supports up to 32 channels so only make those 32
|
|
first channels available with the PA API.
|
|
- Implement module-simple-protocol-tcp.
|
|
- Improve events emitted by the server.
|
|
- Improvements to channels and channel_map properties on
|
|
modules. One can imply the other and they should match when
|
|
both given.
|
|
- null-sink will now have their volume work correctly by
|
|
default.
|
|
+ JACK: JACK developement files can now optionally be installed.
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Apr 13 11:19:35 UTC 2021 - Michael Ströder <michael@stroeder.com>
|
|
|
|
- Update to 0.3.25:
|
|
+ This is a bugfix release that is API and ABI compatible with
|
|
- previous 0.3.x releases.
|
|
+ Highlights
|
|
- Many stability improvements.
|
|
- Plug fd leak in flatpak detection
|
|
- add pw-loopback tool and support module-loopback
|
|
- volume restore for virtual sinks/sources or other sink/sources
|
|
without hardware volume.
|
|
- Fix cracks and pops in audio capture.
|
|
- Many bluetooth improvements and compatibity fixes.
|
|
+ PipeWire improvements
|
|
- Hex encode invalid SEC_LABEL properties to avoid generating invalid json.
|
|
- Small fixes to how nodes are started to avoid crashes.
|
|
- Make sure ports are only scheduled after being fully negotiated
|
|
to avoid crashes.
|
|
- Implement coverity into CI, fix some bugs detected by coverity.
|
|
- Plug leak in flatpak detection.
|
|
- Fix crash when removing globals in some cases.
|
|
- Fix crash because the mixer info was not removed from a port in all cases.
|
|
- Add PIPEWIRE_AUTOCONNECT environment variable to disable stream autoconnect.
|
|
Also add a config option to disable autoconnect.
|
|
- Improve wildcard in format helpers.
|
|
- Add env variable to disable journald logging.
|
|
+ Tools
|
|
- Add a new pw-loopback tool to loop a capture device to a playback device.
|
|
- Display localized strings correctly in pw-top
|
|
- Add some more options to pw-dot
|
|
+ Session-manager
|
|
- When a new node is configured and some stream have this as the
|
|
default target, move them to it.
|
|
- Fix some crashes.
|
|
- Implement volume restore on nodes without routes. This makes it
|
|
possible to restore volume on purely software nodes like null-sinks.
|
|
- Also try to suspend errored nodes so that they may leave the
|
|
error state and be reused again.
|
|
- Break endless link loops when something went wrong.
|
|
+ Device support
|
|
- Fix monitor volumes, they are now separate from the hardware volume.
|
|
- Fix cracks and pops in alsa capture caused by mismatch between
|
|
resampler and capture source.
|
|
- Add start-delay config option to alsa sink.
|
|
- Ensure the PipeWire midi ports start from a higher number so that the
|
|
lower port numbers are available to apps as before.
|
|
+ Bluetooth
|
|
- source devices are now removed when idle
|
|
- Support using pipewire as Audio Gateway.
|
|
- LDAC encoding quality can be configured now
|
|
- Implement codec switching for HFP
|
|
- Implement codec switching with new device property.
|
|
- Improved stability and compatibility
|
|
- Autoconnect device profiles at startup
|
|
- Add AAC bitrate mode configuration
|
|
- Make it possible to use an A2DP source as an input device.
|
|
You can then use your phone as an A2DP microphone, for example.
|
|
- Remove battery reporting when RFCOMM connections is closed.
|
|
+ PulseAudio server
|
|
- Add some workarounds for Blueman
|
|
- Set correct errno values, fixes a hang in load-module of a non-existing module
|
|
- Try to not send inconsistent information to clients.
|
|
- Fix some crashes.
|
|
- Add support for the new send-message API, use this to switch bluetooth codecs.
|
|
- Fix draining by making sure we are started.
|
|
- Handle 0 sink and source as the default sink/source.
|
|
- Implement module-loopback
|
|
+ JACK
|
|
- Fix some memory leaks when closing a client
|
|
- Add self-connect config option to limit where clients can connect themselves.
|
|
- Don't crash when apps call _port_get_buffer() on a port that is not their
|
|
own but simply return NULL. This fixes a crash in Ardour6.
|
|
- Improve client added/removed callbacks. Sometimes it would emit a client
|
|
remove when there were still ports for the client.
|
|
- make sure midi port names are stable across reboots.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Mar 19 17:43:41 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Enable or disable the ldac codec depending if ldacBT is available
|
|
or not to fix build in s390x (where it's not available)
|
|
- Add some more information and fix indentation on previous
|
|
changelog entries.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Mar 19 12:02:35 UTC 2021 - Matej Cepl <mcepl@suse.com>
|
|
|
|
- Update to 0.3.24:
|
|
+ This is a bugfix release that is API and ABI compatible with
|
|
previous 0.3.x releases.
|
|
+ Highlights
|
|
- Many JACK midi improvements and device support.
|
|
- Fixes in gnome-control-center default sink/source handling.
|
|
- Many small performance improvements in alsa device handling
|
|
and latency. There should also be less cracks/pops and xruns
|
|
now.
|
|
- More bluetooth compatibility improvements.
|
|
+ PipeWire improvements
|
|
- Implement simple upmixing
|
|
- Disable the resampler when not used. This improves latency
|
|
and CPU usage.
|
|
- Handle max-quantum on devices and try to not make the quantum
|
|
larger than the device buffer size.
|
|
- improvements to how nodes and links are activated. It should
|
|
now result in less xruns and cracks/pops.
|
|
- meson uses the feature options everywhere now
|
|
- Handle volume remap in the channelmixer. This fixes the
|
|
channels on multichannel devices.
|
|
- Try to escape invalid JSON string characters
|
|
- Keep better track of changed parameters in audioconvert.
|
|
- Improve config files, make arrays where needed.
|
|
- Respect NO_COLOR where possible
|
|
- Support in-place config file parsing to avoid allocations and
|
|
improve startup performance.
|
|
- There is no a config option to enable non-power-of-two
|
|
quantums.
|
|
- Preliminary support for upmixing and generating LFE channels.
|
|
+ Session-manager
|
|
- default nodes are not stored as JSON in the metadata. This
|
|
is more readable and introspectable.
|
|
- More default-nodes and default-routes improvements. port
|
|
switching should work better now.
|
|
- Wait until all devices are scanned before linking clients.
|
|
- Fixes some crashes
|
|
- Sinks (monitors) can now be set as default sources.
|
|
+ Device support
|
|
- Fix startup timers for alsa devices.
|
|
- Improve timers in alsa when quantum changes. It should cause
|
|
less xruns and cracks.
|
|
- Fix UCM setup of capture devices.
|
|
- Only disable IRQ in alsa when not batch. For batch devices
|
|
the hw pointers are updated each IRQ so we need to keep them
|
|
enabled. This massively improves latency on USB batch devices
|
|
to the same level as JACK (with small enough period size).
|
|
+ Bluetooth
|
|
- Improvements to profile switches.
|
|
- Improvements to volume handling.
|
|
- Fixes for A2DP sources
|
|
- Add support for battery status when available.
|
|
- Many other small improvements.
|
|
+ PulseAudio server
|
|
- handle NULL in set_default_sink/source to clear the default
|
|
- Implement a workaround for gnome-control-center when setting
|
|
the default sink/source. It also sets the target in
|
|
stream-restore to the new default. This fixes moving streams
|
|
in gnome-control-center.
|
|
- Fix some races by replying to some requests after the
|
|
operation completed.
|
|
- Prefer formats of the extended format API.
|
|
- Create a pid file on startup to improve compatibility with
|
|
apps that look for it.
|
|
- Capture streams can now be moved to monitors with pavucontrol
|
|
- Fixes for crashes
|
|
+ JACK
|
|
- jack clients can now connect to the 'default' server
|
|
- Move midi ports back to the midi client
|
|
- Only mark midi hardware ports as terminal/physical
|
|
- Use the same midi names as a2jmidid
|
|
- match system ports in get_ports.
|
|
- Improve compatibility with some apps that require a
|
|
fixed latency.
|
|
- Beginnings of the libjackserver implementation.
|
|
- Switch off libopenaptx and fdk-aac (because they are
|
|
patent-encumbered) and libcamera (problems in building).
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Mar 17 17:15:02 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- systemd-rpm-macros doesn't have a consistent versioning between
|
|
distributions, so better assume it's updated enough to support
|
|
%systemd_user_pre
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Mar 16 11:21:02 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Add systemd rpm macros for pipewire.service as well as
|
|
pipewire.socket .
|
|
- Use the new %systemd_user_pre macro on %pre to be able to
|
|
recognize when a service was installed for the first time and
|
|
enable it on %systemd_user_post (boo#1183012)
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Mar 9 16:46:52 UTC 2021 - Frederic Crozat <fcrozat@suse.com>
|
|
|
|
- Update to version 0.3.23:
|
|
+ Highlights
|
|
- Fixes for some critical bugs in last release.
|
|
- Fix bug where audio was not drained properly at the end of
|
|
playback, causing repeating sound.
|
|
- Profile and route switching was improved and should mimic
|
|
more what pulseaudio did.
|
|
- Various fixes for xruns in capture and playback.
|
|
- Bluetooth now supports delay adjustment and various other
|
|
improvements.
|
|
- The pulseaudio server now correctly identifies AC3 and DTS
|
|
streams and returns a not supported error instead of playing
|
|
static.
|
|
- Multichannel support was improved in the alsa plugin and
|
|
the channel mixer. Channels should now play on the right
|
|
speakers in all cases.
|
|
+ PipeWire improvements
|
|
- Small fixes and improvements in JSON parsing and encoding.
|
|
- Improvements to param handling in audioconverter. It would
|
|
previously not always notify of changes.
|
|
- Avoid updating some properties that we use internally such
|
|
as the object id and the node.id.
|
|
- log.level in the config files is now actually used.
|
|
- the PIPEWIRE_LATENCY env variable should always override
|
|
any application settings in filter/stream/jack.
|
|
- The config file can now contain filer and stream properties
|
|
to, for example, control the resampler, mixer and latency.
|
|
- Add sandboxing to the systemd services
|
|
- Various FreeBSD fixes.
|
|
- Improve draining and a way to exit the drain state as well.
|
|
- Many multichannel fixes. Channel remapping should now be
|
|
correct.
|
|
- Fix bug with repeating audio at the end of playback because
|
|
the drain in the resampler was not draining all channels.
|
|
- RTKit default rt.prio has been increased to 88. This will
|
|
likely still be clamped to 20 until distros increase the
|
|
max priority.
|
|
+ Session-manager
|
|
- Don't try to switch to Pro Audio profile, this should be
|
|
a user choice only.
|
|
- Don't crash when metadata was disabled such as when not
|
|
using the audio features of pipewire.
|
|
- Rework the profile and route handling.
|
|
- Add systemd unit files for the media-session
|
|
- Device names should now also have sane names so that tab
|
|
pactl completion works on them.
|
|
+ Device support
|
|
- Fix ALSA format enumeration in more cases. Use the channels
|
|
and rate as a filter.
|
|
- Make sure the graph doesn't ever use buffers larger than
|
|
the alsa device buffer size or we get xruns.
|
|
- Tuning of the alsa device timeout handling and dynamic
|
|
resampler. There should now not be any xruns when streams
|
|
appear and disappear or when the quantum changes.
|
|
- Fix bug in alsa device when reassigning to a new driver,
|
|
in some cases the dynamic resampler was not activated and
|
|
things would drift out of sync and fail.
|
|
- Fixes in quantum changes for ALSA capture and how the
|
|
resampler is drained and fed with the new samples.
|
|
+ Bluetooth
|
|
- Delay adjustment has been implemented now. Bluetooth
|
|
devices should now be more synchronized with video due
|
|
to proper delay reporting. Because BT delays can be
|
|
large, it can cause hickups in some players.
|
|
- Fix volume in bluetooth devices.
|
|
- Codec switch improvements.
|
|
+ PulseAudio server
|
|
- Latency offset adjustment is now implemented and functional
|
|
for bluetooth devices. It is not working for alsa devices
|
|
yet.
|
|
- Handle unsupported formats. Previously we would accept encoded
|
|
formats and play noise. This fixes AC3 playback in vlc.
|
|
- Move some of the configurable parameters to the config file.
|
|
- Fix a fatal use after free when playing samples
|
|
- Improve module handling. loaded modules now show up in the
|
|
list of modules and can be unloaded. This also prepares the
|
|
core for more module implementations later.
|
|
+ ALSA plugin
|
|
- Fix drain with very large buffers, we need to manually start
|
|
the stream before draining.
|
|
- Fix the channel layout handling.
|
|
- Improve compatibility with apps that expect the poll to only
|
|
return when there is activity.
|
|
- Fix drain for capture
|
|
+ JACK
|
|
- Add a config option to shorten and filter client names
|
|
- Increase the length of the client name size and make sure
|
|
we don't exceed the allocated size.
|
|
- We now include our own jack header files so we can build
|
|
without depending on another jack-devel package. We don't
|
|
yet install the headers or provide pkgconfig files.
|
|
- Move alsa-card-profiles to modules subpackage, they are always
|
|
needed.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Mar 4 15:39:47 UTC 2021 - Niklas Haas <obs@haasn.xyz>
|
|
|
|
- Build/install the `pw-top` tool:
|
|
+ Add pkgconfig(ncurses) BuildRequires to satisfy the build deps
|
|
of pw-top.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Feb 25 11:10:46 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Do not provide pulseaudio, but pulseaudio-daemon so we can
|
|
specify in the patterns that we prefer the pulseaudio package
|
|
(boo#1182730)
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Feb 25 07:32:58 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Update to version 0.3.22:
|
|
+ Highlights
|
|
- Per client config files replace the module-profiles. It's
|
|
now possible to tweak settings and load custom modules.
|
|
- Pro Audio card profile support. You can now select the
|
|
Pro Audio profile and have raw device access with the
|
|
maximum number of channels and no mixer controls. This is
|
|
the usual setup for managing high end Pro Audio cards.
|
|
- Many fixes and improvements in the JACK library to make
|
|
devices look and integrate better.
|
|
- Many bluetooth improvements. Playback should be more
|
|
reliable and better synchronized. Support for the HFP HF
|
|
profile.
|
|
- Small fixes and improvements all over the map.
|
|
+ PipeWire improvements
|
|
- Add support for restrictions requested by a client. This
|
|
makes it possible to implement Flatpak policy for emulated
|
|
PulseAudio clients as well.
|
|
- Fix removal of params in objects. Previously they would not
|
|
be removed from the cache.
|
|
- Remove mlock warnings by default. There is an option to
|
|
enable them again if you want to check if your system is
|
|
optimized.
|
|
- Remove LimitMEMLOCK lines from the service files. They can
|
|
only lower the system settings and are thus not useful.
|
|
- Implement per-client config files. Each pipewire client will
|
|
now read a config file that you can use to configure the
|
|
context of the client.
|
|
- Implement state and config load/save in pipewire. This is
|
|
used by the session manager or other apps.
|
|
- Make an option to disable dbus support.
|
|
- Add tool to convert pipewire config to JSON.
|
|
+ Session-manager
|
|
- Give all permissions to Manager flatpak apps. In the future
|
|
we will use the Permission store to remember user settings.
|
|
- Improvements to default audio/sink handling.
|
|
- Add option to configure device suspend time.
|
|
- Small fixes in route handling.
|
|
+ Device support
|
|
- Complain when ACP profile files are not found and use
|
|
a fallback in order to get something working.
|
|
- Add volume support to monitor ports.
|
|
- Fix resume from suspend for ALSA in more cases.
|
|
- ALSA ACP cards now have a Pro Audio profile that exposes
|
|
the raw card devices.
|
|
+ Bluetooth
|
|
- Enable A2DP delay reporting. This improves audio/video sync
|
|
when playing audio over bluetooth.
|
|
- Fix stuttering in A2DP source
|
|
- Tweak buffer size and latency settings to avoid stuttering
|
|
- More work on HSP and HFP support
|
|
- Fix initial profile configuration
|
|
- Add HFP HF support
|
|
+ PulseAudio server
|
|
- Small tweaks in capture packet size to avoid crashes in some
|
|
apps.
|
|
- Detect Flatpak apps and requests the flatpak permissions from
|
|
the session manager. This means that Flatpak pulseaudio apps
|
|
will now run with reduced permissions.
|
|
+ ALSA plugin
|
|
- Reduce min buffer size in the plugin for lower possible
|
|
latency.
|
|
+ JACK
|
|
- implement some missing methods to make qjackctl work again.
|
|
- Use the context data thread instead of making our own. This
|
|
fixes the issue where the data thread was not given RT
|
|
priority correctly.
|
|
- Pass extra jack flags around in port properties. This makes
|
|
CV ports in carla work.
|
|
- Many tweaks to the port names and aliases. Unwanted
|
|
characters are filtered out, giving better names to jack
|
|
apps. Default device names are now equal to those seen in
|
|
pulseaudio apps.
|
|
- Add an option to make a separate client for the monitor
|
|
ports of a device. This makes it more usable in apps.
|
|
- add support for system:playback_N and system:capture_N port
|
|
names for apps that hardcode these port names.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Feb 24 11:29:58 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
|
|
|
|
- Re-add the Provides: pulseaudio; patterns-base now suggests
|
|
pulseaudio, which should help zypp in doing a smarter decision
|
|
(boo#1182730).
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Feb 18 09:30:54 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- ldacBT only builds on little endian architectures, so we can't
|
|
buildrequire it on big endian systems like s390, s390x or ppc64.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Feb 17 17:02:06 UTC 2021 - Dominique Leuenberger <dleuenberger@suse.com>
|
|
|
|
- Remove the pulseaudio provides from pipewire-pulseaudio:
|
|
We first need to ensure our KDE patterns (and others) become
|
|
smart enough to favor pulseaudio until we are ready for the
|
|
switch (boo#1182730).
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Feb 3 17:02:31 UTC 2021 - Dominik Schmidt <dev@dominik-schmidt.de>
|
|
|
|
- Update to version 0.3.21:
|
|
+ Highlights
|
|
- Many PulseAudio compatibility fixes. Handling of corked
|
|
streams, the prebuf setting, seek modes and stream flags
|
|
are now implemented correctly.
|
|
- Ports and Profiles are now managed by the session manager
|
|
and can save and restore previous settings.
|
|
ALSA device handling has been tweaked for maximum
|
|
compatibility at the expense of latency. There are tuning
|
|
options in the config file.
|
|
- Improved Bluetooth support. HSP is disabled by default
|
|
because it is old and deprecated and in some cases causes
|
|
conflicts with the newer HFP profile. Codec switching is
|
|
now implemented as well.
|
|
PipeWire accepts donations with liberapay now.
|
|
+ PipeWire improvements
|
|
- Improve draining in pw-stream.
|
|
pw-stream now uses busy metadata by default. This makes sure
|
|
that no writer can write to buffers when readers are still
|
|
busy.
|
|
- Fix handling of empty array/choice instead of failing.
|
|
- Fix crashes when creating properties from empty strings.
|
|
- Make it possible to pass an array to module-access
|
|
access.allowed variables
|
|
- Fix small bug in argument parsing in pw-cat
|
|
+ Session-manager
|
|
- Restore route volumes in all cases, also when switching
|
|
routes.
|
|
- Use a default route volume for unknown routes instead of
|
|
letting the system decide on a default.
|
|
Improve profile handling. Don't try to restore unavailable
|
|
profiles. Implement the profile switching in the session
|
|
manager now.
|
|
- Fix handling of Virtual sources as defaults.
|
|
- Handle port switching in the session manager. Implement
|
|
save and restore of default ports per profile.
|
|
+ GStreamer
|
|
- Fix a crash with zero SPA_PARAM_BUFFERS_size
|
|
+ Device support
|
|
- v4l2-source will now respect the requested memory types.
|
|
- ALSA buffering has been tweaked. USB devices should have
|
|
less XRuns by default. Parameters can be tweaked to
|
|
decrease the latency on capable devices. Also fix a case
|
|
where a quantum change would cause an xrun.
|
|
- Fix mute in bluetooth devices
|
|
bluetooth devices are not paused in idle anymore for
|
|
improved compatibility.
|
|
- Codec switching for bluetooth is implemented along with
|
|
config options to select the codecs manually.
|
|
- HSP for bluetooth is now disabled by default. Most devices
|
|
support the newer HFP profile and some devices fail when
|
|
both are available.
|
|
- Reduce the amount of events the ALSA plugins emit by bundling
|
|
them.
|
|
+ PulseAudio server
|
|
- Implement the suspend command
|
|
- Fixes volume in sample info
|
|
- Fix playback of samples, sometimes samples would be clipped
|
|
short. Also implement the target sink for the sample.
|
|
- Use rate match to feed samples. This way the latency can
|
|
be kept to a minimum.
|
|
- Latency has been tuned some more, more closely emulating
|
|
pulseaudio behaviour.
|
|
- Improve default sink/source handling. Make sure all events
|
|
are sent correctly when defaults change.
|
|
- Handle underrun better without causing sync issues. Make sure
|
|
to pause in corked state.
|
|
- Implement rewind due to seeks, fixes GStreamer seeking.
|
|
- Do not remove alsa-card-profiles, they are required
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Feb 3 15:32:37 UTC 2021 - Dominique Leuenberger <dimstar@opensuse.org>
|
|
|
|
- Provide pulseaudio by pipewire-pulseaudio: there are various
|
|
packages in the distro that require pulseaudio, but essentially,
|
|
they should be happy with pipewire-pulseaudio as a replacement.
|
|
Do not provide the symbol though, as we do not (yet) want to
|
|
automatically migrate users over.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Jan 21 12:12:43 UTC 2021 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
|
|
- Add pkgconfig(ldacBT-abr) and pkgconfig(ldacBT-enc)
|
|
BuildRequires: Build bluetooth ldac codec support.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jan 20 15:50:31 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Update to version 0.3.20:
|
|
+ Highlights
|
|
- Latency was reduced in ALSA and PulseAudio and time
|
|
reporting has improved a lot.
|
|
- Bluetooth now has a native HFP backed, SBC XQ and
|
|
mSBC support.
|
|
- Many bugfixes and improvements, improved device
|
|
support.
|
|
+ PipeWire improvements
|
|
- pw-dump can now dump all objects such as Endpoints
|
|
- pw-dump has a -m option to monitor changes
|
|
- pw-dump can now dump metadata
|
|
- pw-stream can now use the rate-match io to exactly
|
|
produce the required number of samples for the
|
|
current cycle. When using this feature, a stream can
|
|
achieve the same low-latency as pw-filter.
|
|
- spa-acp-tool can now load a custom profile-set and
|
|
correctly parses the volume updates
|
|
- There is now a nofail option when loading modules
|
|
- The connection has been made reentrant to fix some
|
|
strange random problems with metadata.
|
|
- Turn some errors into warnings or simply info.
|
|
- Executables are now built with PIE
|
|
- S24OE formats should work now (MAudio FastTrack Pro)
|
|
- Remove mlock warnings. Add support for mlockall with
|
|
a config option.
|
|
+ Session-manager
|
|
- There are now config files for bluez and v4l2 modules
|
|
- Improve ALSA device and node properties
|
|
- Bluetooth devices have better properties now.
|
|
- The default device routing has been improved.
|
|
+ Device support
|
|
- Port priorities are updated for UCM devices
|
|
- ACP devices notify change in routes in all cases
|
|
- There is now RW support in ALSA devices to increase
|
|
compatibility.
|
|
- Many improvements to Bluetooth. SBC XQ support can now
|
|
be enabled with a config option. mSBC can be enabled
|
|
with an option.
|
|
- Bluetooth devices not expose Routes so that they look
|
|
more like how PulseAudio handles them
|
|
- Gracefully handle missing profile-sets
|
|
- There is now a native HFP backend
|
|
- Improve card names in some cases.
|
|
- pause-on-idle is now disabled for ALSA devices. This can
|
|
reduce pops and clicks when the device is stopped.
|
|
+ ALSA plugin
|
|
- Use rate-match to reduce the latency
|
|
- Implement a _delay() function to get smoother timestamps.
|
|
- Fix property parsing. Fixes volume changes in alsamixer.
|
|
+ PulseAudio server
|
|
- Use rate-match to reduce the latency. This also reduces
|
|
the buffering in audioconvert and improves timestamp
|
|
reporting.
|
|
- Implement rate changes now that we have rate-match
|
|
support.
|
|
- pactl stats will now work
|
|
- Fix excessive memory usage when a capture client doesn't
|
|
read fast enough.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jan 13 09:07:19 UTC 2021 - Frederic Crozat <fcrozat@suse.com>
|
|
|
|
- Update to version 0.3.19:
|
|
+ Highlights
|
|
- Startup after login should be fixed now with inotify
|
|
used to wait for permissions.
|
|
- Channels should be mapped correctly now.
|
|
- Many bluetooth improvements in LDAC, AptX-HD. AAC was
|
|
also added. Headsets should work better now.
|
|
- pipewire-libpulse was removed. It is now completely
|
|
replaced by pipewire-pulse.
|
|
- Fix a crasher bug in pipewire-pulse and some memory leaks.
|
|
- Fix a bug with feedback loop that would cause 100% CPU.
|
|
- A new pw-top tool to display real-time graph performance.
|
|
- The example session manager now has config files.
|
|
- The config file format was changed to use the SPA JSON
|
|
tokenizer. This makes it more flexible and extensible.
|
|
+ PipeWire improvements
|
|
- Fix debug of id in format channels
|
|
- Audioconvert should now remap channels correctly in all
|
|
cases.
|
|
- Feedback loops were not scheduled correctly and would
|
|
cause 100% CPU usage.
|
|
- Small improvements to the profiler to also log incomplete
|
|
graph status.
|
|
- a new tool pw-top was added that prints real-time performance
|
|
stats of the graph.
|
|
- the rtkit module now sets the nice level to -11
|
|
+ Session-manager
|
|
- The session manager would sometimes link dont-reconnect
|
|
nodes to another node, which would leak monitor streams in
|
|
pipewire-pulse.
|
|
- The session manager now has configuration files. Config files
|
|
can also be placed in the user home directory to make custom
|
|
configurations.
|
|
- The session managers now creates unique device and node
|
|
names for alsa and v4l2 devices.
|
|
+ Device support
|
|
- Many improvements in Bluetooth codecs, LDAC stuttering,
|
|
AptX-HD negotiation, LDAC ABR support
|
|
- Bluetooth supports AAC audio now.
|
|
- Many fixes to Bluetooth SCO transport used in headsets.
|
|
- inotify support in device monitors
|
|
- ACP was synced with the latest pulseaudio code
|
|
- Fix a bug in enumeration of device ports.
|
|
- PulseAudio server
|
|
- seek flags and offset are now supported, making gstreamer
|
|
pulse elements work better.
|
|
- Fix a crasher bug in pipewire-pulse, we sometimes would
|
|
write too much to the ringbuffer
|
|
- Fix some memory leaks in error cases.
|
|
- Fix handling of NULL string to locate default sink/source
|
|
+ JACK layer
|
|
- Ports can also be found with the aliases now, making
|
|
qjackctl work in more cases.
|
|
- Changes from PipeWire 0.3.18:
|
|
+ Highlights
|
|
- More work in the PulseAudio server. It should be compatible
|
|
with more applications.
|
|
- Bluetooth now support extra codecs such as AptX/HD and LDAC.
|
|
- Support for virtual sources and sink was improved a lot.
|
|
- Added a new pw-dump tool to dump the objects in JSON formats
|
|
and for filtering them with tools like jq.
|
|
- Many more stability fixes and improvements.
|
|
+ PipeWire improvements
|
|
- Silence some harmless warnings
|
|
- pw-cli can now be used to set parameters.
|
|
- Streams now perform the correct channel mapping when linked
|
|
to non-standard multichannel devices. Previously channels
|
|
would get swapped.
|
|
- port, node and device params are now cached in the server.
|
|
This avoids opening and closing devices whenever some client
|
|
enumerates formats, which improves performance a lot,
|
|
especially in cases where opening a device is slow.
|
|
- Add a command to keep a device open during negotiation. This
|
|
is used to enumerate and set a format while opening the
|
|
device just once, improving performance.
|
|
- The null-sink scheduling was fixed.
|
|
- A memory corruption bug was fixed in format conversion, this
|
|
could cause crashes, silent channels or other undefined
|
|
behaviour.
|
|
- There is now a simple JSON parser.
|
|
+ Session-manager
|
|
- Settings files are now stored in JSON. With the json parser
|
|
this is easier to parse and extend
|
|
+ Device support
|
|
- Bluetooth now supports additional codecs: LDAC, AptX and
|
|
AptX HD. LDAC is known to not work very well yet.
|
|
- ALSA devices will now default to the max supported channels
|
|
if nothing else is specified. This makes it possible to use
|
|
8+ channel cards with the alsa-pcm module, which is not
|
|
supported with the default alsa-acp module.
|
|
- Enable mSBC support in oFono.
|
|
- Add an option to disable hardware mixers
|
|
- ALSA now improves support for batch devices.
|
|
- The udev rules had references to Pulseaudio removed in order
|
|
to not create conflicts.
|
|
- Fix a potential crash in bluetooth devices when
|
|
disconnecting.
|
|
- UCM cards now use HW volume when possible.
|
|
+ PulseAudio server
|
|
- The id can now be used as the name to locate cards and
|
|
devices
|
|
- Report streams with planar formats as well
|
|
- Better error reporting when stream create fails
|
|
- module-null-sink can now handle channels, rate and
|
|
channel_map properties
|
|
- Add support for 3 types of virtual devices: source,
|
|
sink and duplex.
|
|
- set-port was fixed
|
|
- Some buffer parameters were tweaked to improve
|
|
performance, compatibility and stuttering with lower
|
|
latency.
|
|
- NULL can be used as a name for the device sink/source
|
|
- Support lookup of monitor names
|
|
- Set properties more like pulseaudio so that some
|
|
clients (Teamspeak) don't crash anymore
|
|
- Changes from PipeWire 0.3.17:
|
|
+ Highlights
|
|
- Fix crasher bug for kwin when screensharing stopped.
|
|
- Massive improvements and compatibility fixes in the
|
|
PulseAudio server.
|
|
- The session manager now has a config directory in
|
|
/etc/pipewire/media-session.d/ It will look for files there
|
|
to activate session manager modules. Packagers can use
|
|
this to only activate the audio modules when the PulseAudio
|
|
server, libjack.so or the alsa modules are installed.
|
|
+ PipeWire improvements
|
|
- We now clear hooks before adding them. Some application
|
|
did not clear them and had random data for the destroy
|
|
callback.
|
|
- Return -ENOENT from unknown resources so apps can handle
|
|
this better. It's a common problem when an app tries to
|
|
introspect and object but it disappeared before the message
|
|
reached the server. Apps should ignore this.
|
|
- channelmap information is now passed with the volume
|
|
settings.
|
|
- DMABuf is not mmapp()ed anymore with the FLAG_MAP_BUFFERS in
|
|
the stream or filter. This is because DMABuf usually
|
|
requires more that just a simple mmap and is better left
|
|
for the application.
|
|
- increase the maximum number of ports for a client-node.
|
|
- adapter and node-factory now support the linger option to
|
|
keep the objects alive after the creating client disconnected.
|
|
+ Device support
|
|
- ALSA now handles error in close(), like when unplugging a
|
|
USB device.
|
|
+ Session-manager
|
|
- The session manager is now handling DONT_RECONNECT streams
|
|
without a target node. They get connected to a default node
|
|
once and then fail to reconnect.
|
|
- The session manager now exposes the stream setting as
|
|
metadata. This makes it possible for other components, such
|
|
as pulse-server to use this information. Information is stored
|
|
as a json object for easier consumption.
|
|
- The session manager now has a config directory in
|
|
/etc/pipewire/media-session.d/ packagers can use this
|
|
+ PulseAudio server
|
|
- Pulse server now acquire the dbus name.
|
|
- Improvements in timing and compatibility with many apps.
|
|
- The stream-restore extension is now implemented so that
|
|
the event volume can be configured.
|
|
- Many stability fixes and improvements.
|
|
- Fix some issues with module-load/unload
|
|
- Changes from PipeWire 0.3.16:
|
|
+ Highlights
|
|
- Fix screensharing for old 0.2 clients
|
|
- Many pulse-server improvements. There is now a
|
|
pipewire-pulse binary that is the prefered solution for
|
|
PulseAudio compatibility. The replacement libpulse
|
|
libraries are now deprecated. This also makes audio in
|
|
Flatpak work.
|
|
+ PipeWire improvements
|
|
- Fix cleanup of listeners everywhere. Force remove of
|
|
listeners in _destroy to avoid crashes.
|
|
- Add support for a journald logger module.
|
|
- Various memory leak fixes
|
|
- Silence some warnings that spammed the logs.
|
|
- Fix flush in pw_stream. This fixes small glitches when
|
|
switching streams in music players.
|
|
- Various FreeBSD fixes and improvements.
|
|
- Fix some crashes when destroying objects.
|
|
+ Device support
|
|
- Reload the ALSA configuration when creating a node so that
|
|
hotplugged devices work in all cases.
|
|
- Fix memory leaks in ACP library. This also fixes issues
|
|
where the mixer device was not closed.
|
|
- Bluetooth now has support for the mSBC codec for SCO
|
|
source and sink.
|
|
+ pulse-server
|
|
- Many introspection and compatibility improvements. It should
|
|
now be as good or better than the replacement library.
|
|
- Implement sample cache to make notification events work.
|
|
+ JACK layer
|
|
- handle errors when linking, fixes jack_connect hang when
|
|
the ports were already linked.
|
|
- Drop patches do-not-use-snd_pcm_ioplug_hw_avail.patch and
|
|
fix-memfd_create-call.patch, no longer needed on SLE/Leap which
|
|
have updated glibc / alsa.
|
|
- Drop do-not-install-alsa-config-files.patch, remove files at
|
|
install time instead.
|
|
- pw-pulse wrapper is gone, remove all mentions of it.
|
|
- Package pulseaudio replacement in a subpackage and drop
|
|
pipewire-libpulse-0_3 (pipewire will use pulseaudio libraries
|
|
directly).
|
|
- Create an alsa subpackage and move alsa pipewire plugin to this
|
|
subpackage.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Nov 5 10:37:18 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Update to version 0.3.15:
|
|
+ Highlights
|
|
- This is a quick update to fix critical issues with the
|
|
0.3.14 update, which broke screen sharing and accidentally
|
|
enabled the experimental pulse-server.
|
|
- Fix some compatibility issues in pulse-server with
|
|
pavucontrol and fix an issue that would block the complete
|
|
server.
|
|
+ PipeWire improvements
|
|
- Permission checks for new clients are now done from a
|
|
global context, which makes it possible to assign initial
|
|
permissions to objects.
|
|
- Handle EINTR everywhere
|
|
- Fix an issue with the node state changes where a quick
|
|
pause/play would hang a client.
|
|
+ Session manager improvements
|
|
- Disable the bluez5 and pulse-bridge modules by default
|
|
because they interfere with pulseaudio. These options should
|
|
only be enabled if pulseaudio is removed or disabled in the
|
|
system.
|
|
- Fix an issue where the session manager could end up in
|
|
infinite recursion while scanning for things to do.
|
|
- The session manager will now always configure nodes to remix
|
|
to the channel configuration of the device. This fixes the
|
|
case where mono streams would only end up on one channel of a
|
|
stereo device.
|
|
+ Device support
|
|
- Initial merge of A2DP extra codec support using the new
|
|
bluez5 API.
|
|
+ pulse-server
|
|
- Create the runtime directory when it doesn't exist.
|
|
- Don't ever block the server, use non-blocking IO everywhere.
|
|
- Fill description of profiles with the name if not otherwise
|
|
set, this fixes a crash in pavucontrol.
|
|
- the connection debug catergory will now also debug pulse
|
|
messages.
|
|
- Respect the no_remix flag to make the control panel channel
|
|
check work.
|
|
+ ALSA plugin
|
|
- implement pause
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Nov 3 08:11:46 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Update to version 0.3.14:
|
|
+ Highlights
|
|
- This release focuses on bugfixes and stability
|
|
improvements.
|
|
- A new experimental pulse-server module was added. This
|
|
module implements the pulseaudio protocol on top of
|
|
PipeWire and can be used to make flatpaks work with
|
|
PipeWire. It looks like this might be a better way
|
|
forward compared to the libpulse.so replacement library.
|
|
- A2DP bluetooth was reworked. Playback should work a lot
|
|
better now. Support was also added to automatically link
|
|
an A2DP source to a playback device, which makes it possible
|
|
to use PipeWire as a bluetooth receiver as well.
|
|
- Improvements to the routing and volume restore features
|
|
of the session manager.
|
|
+ PipeWire improvements
|
|
- The channelmixer does not normalize volumes anymore. Volumes
|
|
are only normalized for monitoring streams now.
|
|
- Streams can actually start in the inactive state now.
|
|
- The channelmixer can now also convert volume updates from one
|
|
channel layout to another. This makes saved volumes work
|
|
even when streams have different channel layouts.
|
|
- Clients are only registered after the properties have been
|
|
updated.
|
|
- Links now have a new active state.
|
|
- Drivers can now also specify a minimum quantum. This makes it
|
|
possible for bluetooth devices to specify an optimum quantum
|
|
for the given codec settings and MTU.
|
|
- The amount of data sent over the socket was reduced by only
|
|
sending the data that changed.
|
|
- Client objects are now exposed after they uploaded their
|
|
properties, which makes the new object more useful.
|
|
+ Tools improvements
|
|
- pw-cat will now add metadata to the PipeWire streams.
|
|
+ Session manager improvements
|
|
- Fix crashes when reading bad data in stored settings.
|
|
- volume and routing is improved. Settings are now remembered
|
|
per application or media-role.
|
|
- The session manager remembers the last device used per stream
|
|
- Fix a bug when moving streams where it could sometimes end
|
|
up with linking a stream to multiple devices.
|
|
- Use RTKit to set realtime priority on the data thread in the
|
|
session manager. This improves performance of the pulse-server
|
|
and bluetooth devices.
|
|
- Add a new property to mark streams that want to capture from
|
|
the monitor of the default sink.
|
|
- NODE_TARGET can now also contain the node name. This avoids
|
|
some lookups in the pulseaudio layer when selecting target
|
|
nodes by name.
|
|
- the -e and -d options are more usable now and can be used to
|
|
add and remove modules from the default list of modules.
|
|
+ Device support
|
|
- v4l2: add some workarounds for buggy drivers. Add Limited
|
|
support for droidcam.
|
|
- ACP: improve selection of default port and profiles.
|
|
- ACP: add support for using the hardware mixer for more than
|
|
8 channel streams.
|
|
- ACP: support the new port type and availability group found
|
|
in PulseAudio.
|
|
- A2DP bluetooth timings were reworked. Automatic linking of
|
|
A2DP sources was added to make it possible for PipeWire to
|
|
act as a bluetooth receiver. The code was reworked to allow
|
|
other codecs such as APTX and LDAC in the future.
|
|
- Try harder to recover from ALSA errors.
|
|
+ GStreamer improvements
|
|
- Fix some crashes in the monitor that cause
|
|
gnome-initial-setup to crash.
|
|
+ PulseAudio layer improvements
|
|
- Many compatibility improvements. Improved playback in
|
|
chrome. Fix a crash in firefox when the daemon is stopped.
|
|
- Fix a leak in the formats.
|
|
- Fix !ADJUST_LATENCY streams like paplay.
|
|
- Make the device option in paplay work.
|
|
- Fix volume/mute notifications, this makes plasma volume updates
|
|
work again.
|
|
- Do the conversion between PulseAudio cubic volumes and PipeWire
|
|
linear volumes. Volume levels should behave now like they did
|
|
with PulseAudio.
|
|
+ JACK layer improvements
|
|
- Return an error when we run out of midi events. Some application
|
|
rely on this behaviour.
|
|
+ ALSA plugin improvements
|
|
- The ALSA plugin now also supports the node name in the
|
|
playback_node and capture_node properties.
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Oct 27 17:32:57 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Rename 99-pipewire-default.conf to
|
|
99-pipewire-default.conf.example so it's disabled by default and
|
|
all ALSA I/O doesn't get redirected to pipewire (which was only
|
|
overrided by pulseaudio's configuration in alsa-plugins-pulse
|
|
casually). Thanks to Takashi Iwai for noticing (boo#1178104,
|
|
boo#1177166 and probably boo#1175584)
|
|
- Add baselibs.conf (boo#1177555)
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Oct 8 08:29:36 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Update to version 0.3.13:
|
|
+ PipeWire improvements
|
|
- Add pw-reserve tool to reserve or monitor a device on DBus.
|
|
- Install spa-resample, a tool to resample a file.
|
|
- Install spa-acp-tool, a tool to inspect the card profile.
|
|
- Various fixes and improvements
|
|
- Fix a bug in pw-stream where a capture stream could run out
|
|
of buffers and become silent.
|
|
- Rework the processing loops in the adapter and stream. There
|
|
is now less latency in PulseAudio and ALSA layers.
|
|
+ Session manager improvements
|
|
- Improve the device reservation code. We now try to acquire
|
|
the device using the dbus device reservation API before we
|
|
probe the device. This avoids conflicts with a running
|
|
PulseAudio where devices would disappear (because they were
|
|
locked by the other process).
|
|
- Don't fail on invalid input from the config files.
|
|
- Audio devices now have the same name as what PulseAudio
|
|
would assign.
|
|
+ Device support
|
|
- v4l2: try to use the format before enumerating the size and
|
|
framerate. Some drivers don't check the format and might now
|
|
work better.
|
|
- v4l2: Fall back to MMAP when EXPBUF fails. Fix MMAP access,
|
|
just export the fd and the mapoffset. This should make more
|
|
devices work.
|
|
- Fix crash in ALSA Card Profile (ACP) code.
|
|
- ACP: fix selection of default profile. Prefer any possibly
|
|
available profile over 'Off'. This makes some card at least
|
|
start with something.
|
|
- Fix soft volume. After setting the volume to 0, it would stay
|
|
at 0 until pushed over the max volume. This should fix
|
|
various volume related issues.
|
|
+ PulseAudio layer improvements
|
|
- Rework the buffering and latency measurements and tweak the
|
|
buffer attributes. This should make browsers and media
|
|
players work better. This should also improve speechd
|
|
performance.
|
|
+ JACK layer improvements
|
|
- Fix compilation against newer JACK.
|
|
|
|
- Rebase patch:
|
|
+ do-not-install-alsa-config-files.patch
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Sep 22 12:37:18 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Update to version 0.3.12:
|
|
+ PipeWire improvements
|
|
- The channelmap converter now handles unknown and strange
|
|
channel layouts much better.
|
|
- The resampler is now cleared correctly, avoiding clicks and
|
|
pops at the start of sound.
|
|
- Fixes for various crasher bugs. (paplay drain, vlc shutdown,
|
|
pactl info, ...)
|
|
- Fix a race condition in the node state changes that caused
|
|
all kinds of sync and other issues (vlc, mpv, ...)
|
|
- Improve the binary name property of applications
|
|
- Fix the scheduling again of nodes that always need a driver
|
|
such as the jack clients.
|
|
+ Session manager improvements
|
|
- Fix routing to default nodes. Sometimes nodes were not routed
|
|
to the default node (bluetooth)
|
|
+ Device support
|
|
- Disable channelmap from ALSA by default. This is what
|
|
PulseAudio does and thus provides better compatibility.
|
|
- Fix a bug in how the resampler was used in the ALSA source,
|
|
causing distortion and errors when using low latency capture
|
|
clients. (Discord, webrtc, ...)
|
|
- Small bluetooth improvements. More work is needed for
|
|
reliable bluetooth playback.
|
|
+ GStreamer plugins
|
|
- The device provider now stops the processing loop before
|
|
shutting down, which avoids crashes (gnome-initial-setup).
|
|
+ PulseAudio layer improvements
|
|
- The buffer attributes were reworked to ensure compatibility
|
|
with many more applications such as mpv and audacious.
|
|
- The pulseaudio layer will now try hard to not hand out
|
|
invalid channel maps to the application. (avoids crashes in
|
|
gnome-volume-control). The channel map will now also look
|
|
more like what PulseAudio does.
|
|
- The @DEFAULT_SINK/SOURCE/MONITOR@ wildcards now work. This
|
|
fixes the problem with volume keys when they are bound to
|
|
scripts using pactl and the default sink/source wildcards.
|
|
- The PIPEWIRE_LATENCY environment variable now works again
|
|
- Fix some leaks of ports and port info. Also fix the leak of
|
|
the context when the mainloop is stopped.
|
|
- The sink/source format_info array is now filled up
|
|
completely, this is actually not implemented yet in the real
|
|
PulseAudio.
|
|
+ JACK layer improvements
|
|
- jack now returns version 3.0.0 and has PipeWire in the
|
|
version string so that apps can report this.
|
|
- Drop patch:
|
|
+ 0001-alsa-dont-change-the-resampler-delay-value.patch
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Sep 18 05:32:09 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Update to version 0.3.11:
|
|
+ PipeWire improvements
|
|
- Properly cleanup the mixer structures when a port is removed,
|
|
this should fix client crashes related to port config changes
|
|
and other random crashes.
|
|
- Optimize the preferred formats in the audio converter. Higher
|
|
quality formats with higher performance are chosen first.
|
|
- Make sure the time reported by pw_stream is always
|
|
increasing, even when the driver and clock changes.
|
|
- There is now also a system service and socket that can be
|
|
used to enable PipeWire systemwide. This is however not
|
|
recommended and disabled by default.
|
|
- Fix channelmixer 5.1 to stereo mix matrix. It was not reading
|
|
the conversion matrix correctly and cause channels to be
|
|
dropped. The channelmixer will now also normalize the volume,
|
|
like what pulseaudio does.
|
|
- The channelmixer will now just copy channels when no layout
|
|
has been given. It has also optimized paths for this. This
|
|
makes it possible for apps to request > 8 channels from the
|
|
alsa plugin (ardour).
|
|
- Port, Node and Link will now also emit an error on the
|
|
resources in addition to updating the error in the info. This
|
|
would make it easier to track negotiation errors in the
|
|
session manager later.
|
|
- many small fixes and cleanups.
|
|
- Fix compatibility:
|
|
- DOSBox: fix crash because of double free in pw_stream
|
|
+ Session manager improvements
|
|
- The session manager will now try to configure the client to
|
|
the channel configuration of the sink/source. It will only
|
|
do this for downmixing, never for upmixing and also never
|
|
when the client has the dont-remix property set. It will
|
|
also renegotiate the channel layout when moving a stream to
|
|
a new sink/source.
|
|
- Configuration state is now saved in XDG_CONFIG_HOME.
|
|
Previously it was saved in $HOME/.pipewire-media-session/
|
|
You can migrate the state by moving the files to
|
|
$XDG_CONFIG_HOME/pipewire-media-session (or
|
|
$HOME/.config/pipewire-media-session as a fallback when
|
|
XDG_CONFIG_HOME is not set).
|
|
+ Device support
|
|
- Bluetooth sources and sinks should work better now.
|
|
- There is now also a new bluetooth backend using hsphfpd.
|
|
- fix the ALSA UCM Off profile for alsa pcm devices
|
|
- improve ALSA port and profile switching. The ACP device will
|
|
now switch to the best port and profile when availability
|
|
changes.
|
|
+ PulseAudio layer improvements
|
|
- Implement some more callbacks. The pulse layer will now also
|
|
notify applications of stream moved, started and latency
|
|
changes.
|
|
- Fix error code when an object was not found. We now return
|
|
PA_ERR_NOENTITY instead of PA_ERR_INVALID.
|
|
- Add some support for loading new null sinks. Applications
|
|
such as pulseeffects use this. Note that pulseeffects does
|
|
not yet work reliably but can start now.
|
|
- Improve handling of profile and port updates, it should work
|
|
much more reliable now. Apps should now also again receive
|
|
volume updates from sinks/sources.
|
|
- Fix compatibility:
|
|
- openal-soft 1.20
|
|
- pavucontrol (checks PA_ERR_NOENTITY)
|
|
+ JACK layer improvements
|
|
- improve default source and sink handling. It was not updated
|
|
correctly in all cases.
|
|
- add samplerate and period to the pw-jack wrapper to easily
|
|
configure the desired samplerate and perdiod for the app.
|
|
+ ALSA plugin improvements
|
|
- Add a mixer entry in the alsa config file.
|
|
- Implement support for planar types, rework the processing
|
|
function to make it more robust.
|
|
- refuse to load the alsa plugin when linked against 0.2. This
|
|
catches some old apps linked against 0.2 that want to use the
|
|
alsa plugin.
|
|
- Fix compatibility:
|
|
- linphone (ALSA SIGFPE when _status() is called
|
|
before _prepare()).
|
|
- Includes fix for a division by 0 error (boo#1176515):
|
|
+ 0021-alsa-protect-against-SIGPFE.patch
|
|
- Add patch from upstream to fix audio stutters in discord and probably
|
|
other applications when using alsa directly.
|
|
+ 0001-alsa-dont-change-the-resampler-delay-value.patch
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Aug 27 06:00:06 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Update to version 0.3.10:
|
|
+ Many improvements to the pulse layer.
|
|
- GStreamer pulsesink element now works.
|
|
- Fixes some segfaults.
|
|
- Enable rtkit for client threads.
|
|
- fixes capture of monitor stream by name
|
|
- implement some more extensions, this makes paman
|
|
work and removes some warnings.
|
|
+ Many improvements to the GStreamer elements
|
|
- negotiation rework, avoid calling GStreamer methods from
|
|
the PipeWire callbacks because they might block and cause
|
|
deadlocks.
|
|
- Add support for non-string property values.
|
|
- improve stability after buffer and format
|
|
renegotiation.
|
|
- Rework the device provider.
|
|
- pipewiresink can now provide a stream that can
|
|
be consumed by apps like cheese.
|
|
+ Many improvements to the JACK layer:
|
|
- Rework the buffer_size callbacks. Make sure we call
|
|
the callback from a 'safe' thread and that we don't
|
|
call the process callback while the application is
|
|
handling the callback. This improves stability in
|
|
apps like Carla when PipeWire dynamically changes
|
|
the buffer size.
|
|
- Improve compatibility with apps that call
|
|
get_buffer_frames() with a 0 size (calfjackrack)
|
|
- JACK can now create nodes that can be set as a
|
|
sink/source in PulseAudio/ALSA apps (you can make an
|
|
effects rack and set that as default sink for
|
|
apps).
|
|
+ Added a group id property for nodes. This makes it
|
|
possible to schedule nodes with the same driver even
|
|
when they are otherwise not linked together. To make
|
|
this work well a new flag needed to be added to nodes
|
|
to signal when they are ready for processing.
|
|
Together with the GStreamer fixes, this makes things
|
|
like:
|
|
gst-launch-1.0 -v pipewiresrc path=51 stream-properties="props,node.group=1" !
|
|
audio/x-raw ! pipewiresink stream-properties="props,node.group=1"
|
|
work as expected with PipeWire managing the resampling
|
|
to keep the clocks of the devices in sync.
|
|
This can later also be used to force devices to be grouped
|
|
together to create a JACK-like scheduling group.
|
|
+ Streams and filter now use PIPEWIRE_NODE and
|
|
PIPEWIRE_LATENCY env variables as fallback.
|
|
+ ACP add per device port list. This makes UCM devices
|
|
expose the right ports.
|
|
+ Fix some segfaults in ACP and UCM.
|
|
+ make pw-cat use the metadata to find default devices.
|
|
+ The media session can now save and load audio device
|
|
Profiles and Routes (volumes), stream volumes and
|
|
the default sink and sources.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Aug 13 11:28:16 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Update to version 0.3.9:
|
|
+ Fix bad audio in chrome
|
|
+ Remove some errors that are not real errors.
|
|
+ Fix 100% cpu when disconnecting devices.
|
|
+ Improve pulseaudio introspection of formats
|
|
+ Fix JACK metadata handling, carla can now monitor the
|
|
port it creates and insert midi.
|
|
+ Add a new permission bit (M) that is needed to be able
|
|
to configure metadata on an object. Improve security of
|
|
metadata some more, only allow metadata on objects that
|
|
are visible to the client setting the metadata.
|
|
+ Add support for videocrop in the GStreamer elements.
|
|
+ Improve handling of the runtime directory for the
|
|
server sockets. Add some reasonable fallback when
|
|
XDG_RUNTIME_DIR is not set, as suggested in the spec.
|
|
+ Improve ALSA device names from ACP.
|
|
+ Fix various crasher bugs. One in the pulse layer, one in
|
|
the session manager.
|
|
+ Make alsa plugin respect the PIPEWIRE_REMOTE env variable.
|
|
+ Various compile fixes.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Jul 31 07:50:45 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Update to version 0.3.8:
|
|
+ Fix an embarrassing crasher in the JACK layer when metadata
|
|
keys were removed.
|
|
+ Make it possible to add properties to jack clients with a
|
|
PIPEWIRE_PROPS env variable. This can be used to make JACK
|
|
nodes look like a device (like an effects rack).
|
|
+ Improvements in the session manager in how it links ports.
|
|
Now it will try to link matching channels first and be more
|
|
intelligent otherwise. The session manager will also configure
|
|
the stream to the device port configuration when needed.
|
|
+ Add ofono backend for Bluetooth HeadSet support.
|
|
+ Improve default source and sink handling. They are now stored
|
|
with their id, instead of name, in the metadata. This makes it
|
|
work better with JACK because of JACK's limited name length.
|
|
+ Improve environment variables to make it possible to create
|
|
and connect to servers other than "pipewire-0". Implement
|
|
this in pulseaudio, JACK and alsa layers.
|
|
+ Add an alsa mixer plugin so that alsamixer works with PipeWire.
|
|
It will configure the default source/sink volumes.
|
|
+ Fix capture devices. There was something wrong with how the
|
|
resampler was used that caused corruption in the signal when
|
|
the resampler was active.
|
|
+ We now ship alsa card paths, profile-sets configuration files
|
|
and udev rules so that we don't have to rely on the pulseaudio
|
|
ones.
|
|
+ Many build and stability fixes.
|
|
|
|
- Update to version 0.3.7:
|
|
+ Improved PulseAudio compatibility. The alsa card profile
|
|
code was reused from PulseAudio. Devices now support
|
|
all profiles, ports, jack detection, UCM and hardware
|
|
mixers that PulseAudio implements. There should not
|
|
be (almost) any difference between PipeWire and PulseAudio
|
|
in how it presents and manages devices.
|
|
Other missing API pieces such as the default sink/source
|
|
and move_stream are implemented now. At this point
|
|
it should be possible to replace PulseAudio with the
|
|
compatibility layer for those who want to try.
|
|
+ Many fixes and improvements to the GStreamer elements.
|
|
pipewiresrc now has the ability to periodically resend
|
|
the last frame. This makes it possible for use-cases like
|
|
screensharing to only update the screen on changes while
|
|
still keeping the client side encoder busy. PipeWire
|
|
elements can now also share a connection between them.
|
|
+ Improvements to the bluetooth nodes. Dynamically adding
|
|
and removing devices should work much smoother now. Many
|
|
fixes and improvements to a2dp and sco nodes.
|
|
+ Reduced memory usage by using less pre-allocated memory
|
|
where possible. JACK clients are especially using less
|
|
memory.
|
|
+ Support for passive links is added again. These are links
|
|
that don't cause the associated driver to become active.
|
|
This makes it possible to have blocks of effects+sinks go
|
|
to suspend as a group when not in use.
|
|
+ Both consumers and producers can now ask to renegotiate
|
|
the format. This required some cleanups and improvements
|
|
to how links and node states were handled. More work is
|
|
needed to implement more use cases.
|
|
+ Important fixes to how memory is shared with clients. Memory
|
|
was not correctly freed in all cases, which would result
|
|
in reuse of the wrong memory.
|
|
+ Support for planar formats for audio and video was added.
|
|
+ Improved error handling in the session manager.
|
|
+ Metadata is now used to manage default audio source and
|
|
sink devices. The session manager will try to link streams
|
|
to the default device. Changing the default device will
|
|
move streams to the new device. PulseAudio and JACK layers
|
|
respect the default source/sinks.
|
|
+ Metadata is used to tag the desired output device for
|
|
a stream and the session manager will move streams when
|
|
the metadata changes. The PulseAudio layer uses this to
|
|
implement the move_stream feature.
|
|
+ Many fixes to the security modules. The session manager now
|
|
has a flatpak module that grants permissions to flatpak
|
|
apps. The PulseAudio layer now respects the permissions of
|
|
objects. Security related properties are made read-only
|
|
now. Different access modules can now coexist.
|
|
+ The portal module has been split up in 2 parts:
|
|
- a part living in the daemon that monitors the portal
|
|
dbus owner and tags all clients from this PID. This
|
|
part has to run in the daemon in order to securely
|
|
tag the clients.
|
|
- a part in the session manager that uses the permission
|
|
store to manage the permissions of portal managed
|
|
clients.
|
|
|
|
- Drop patches already included in 0.3.7:
|
|
+ 0001-client-node-fix-buffer-size-calculation.patch
|
|
+ 0002-gst-fix-proxy-leaks.patch
|
|
+ 0003-pulse-fix-pa_card_info-profiles2-array-to-be-NULL-terminated.patch
|
|
+ 0004-pulse-fix-size-calculation.patch
|
|
+ 0005-jack-fix-crash-on-close-when-metadata-are-not-available.patch
|
|
+ 0006-a2dpsink-only-request-new-data-when-buffer-is-done.patch
|
|
+ 0007-pulse-fix-counter-while-populating-car_info-profiles.patch
|
|
+ 0008-impl-link-reset-state-before-starting-allocation.patch
|
|
+ 0009-impl-core-clear-the-mempool.patch
|
|
+ 0010-mem-reset-the-map-in-clear.patch
|
|
+ 0011-avoid-uninitialized-variables.patch
|
|
+ 0012-dlclose-on-errors.patch
|
|
+ 0013-stream-handle-NULL-context.patch
|
|
+ 0014-state-always-update-state-variables.patch
|
|
+ 0015-spa-device-fix-leak-of-properties-in-error-case.patch
|
|
+ 0016-alsa-dont-leak-structure-on-error.patch
|
|
+ 0017-alsa-dont-leak-properties-on-error.patch
|
|
+ 0018-stream-fix-some-more-leaks-in-error-paths.patch
|
|
+ 0019-buffers-increase-max-datas-and-metadata-in-buffers.patch
|
|
+ 0020-gst-return-NULL-for-unknown-format.patch
|
|
- Drop patch and replace it with a sed substitution since the patch
|
|
context includes the package version and would have to be
|
|
modified in every package update:
|
|
+ fix-meson-required-version.patch
|
|
- Add patch to not install alsa card paths, profile-sets
|
|
configuration files and udev rules which upstream installs
|
|
"so that we don't have to rely on the pulseaudio ones".
|
|
+ do-not-install-alsa-config-files.patch
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Jul 15 07:26:01 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Recommend pipewire from libpipewire, so if the library is
|
|
installed the daemon gets pulled in since we want a daemon
|
|
to connect to.
|
|
- Require pipewire-spa-plugins from pipewire instead of
|
|
recommending it since the support plugin is actually required
|
|
for most uses (like screen sharing in wayland, which we want to
|
|
support out-of-the-box).
|
|
- Enable the pipewire.socket systemd user service in %post
|
|
(using pulseaudio's %post section as an example of how to do it
|
|
since systemd-presets-common-SUSE currently lacks support for
|
|
user services). Also disable it in %preun and %postun.
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Jul 14 08:25:49 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Add patches from upstream to fix many issues mainly related to
|
|
memory leaks, crashes and wrong behaviour:
|
|
+ 0001-client-node-fix-buffer-size-calculation.patch
|
|
+ 0002-gst-fix-proxy-leaks.patch
|
|
+ 0003-pulse-fix-pa_card_info-profiles2-array-to-be-NULL-terminated.patch
|
|
+ 0004-pulse-fix-size-calculation.patch
|
|
+ 0005-jack-fix-crash-on-close-when-metadata-are-not-available.patch
|
|
+ 0006-a2dpsink-only-request-new-data-when-buffer-is-done.patch
|
|
+ 0007-pulse-fix-counter-while-populating-car_info-profiles.patch
|
|
+ 0008-impl-link-reset-state-before-starting-allocation.patch
|
|
+ 0009-impl-core-clear-the-mempool.patch
|
|
+ 0010-mem-reset-the-map-in-clear.patch
|
|
+ 0011-avoid-uninitialized-variables.patch
|
|
+ 0012-dlclose-on-errors.patch
|
|
+ 0013-stream-handle-NULL-context.patch
|
|
+ 0014-state-always-update-state-variables.patch
|
|
+ 0015-spa-device-fix-leak-of-properties-in-error-case.patch
|
|
+ 0016-alsa-dont-leak-structure-on-error.patch
|
|
+ 0017-alsa-dont-leak-properties-on-error.patch
|
|
+ 0018-stream-fix-some-more-leaks-in-error-paths.patch
|
|
+ 0019-buffers-increase-max-datas-and-metadata-in-buffers.patch
|
|
+ 0020-gst-return-NULL-for-unknown-format.patch
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Jul 3 08:29:04 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Rebase patches used in SLE/Leap:
|
|
+ do-not-use-snd_pcm_ioplug_hw_avail.patch
|
|
+ fix-memfd_create-call.patch
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Jun 16 09:04:18 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Update to version 0.3.6 (boo#1171433, jsc#ECO-2308):
|
|
+ Extensive memory leak fixing and stress testing was done.
|
|
A big leak in screen sharing with DMA-BUF was fixed.
|
|
+ Compile fixes
|
|
+ Stability improvements in jack and pulseaudio layers.
|
|
+ Added the old portal module to make the Camera portal
|
|
work again. This will be moved to the session manager in
|
|
future versions.
|
|
+ Improvements to the GStreamer source and sink shutdown.
|
|
+ Fix compatibility with v2 clients again when negotiating
|
|
buffers.
|
|
- Disable vulkan if the vulkan package is too old (as in
|
|
SLE 15 SP0 and SP1)
|
|
- Add patch to build with meson >= 0.46.0 since 0.50.0 is not
|
|
really needed:
|
|
+ fix-meson-required-version.patch
|
|
|
|
-------------------------------------------------------------------
|
|
Thu May 21 08:50:18 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Filter out libpulse.so.0 and libjack.so.0 automatic provides so
|
|
this is not considered an alternative when resolving dependencies
|
|
in the distribution.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu May 21 07:51:29 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Add patch to fix build in SLE/Leap where alsa doesn't have a
|
|
snd_pcm_ioplug_hw_avail function:
|
|
+ do-not-use-snd_pcm_ioplug_hw_avail.patch
|
|
|
|
-------------------------------------------------------------------
|
|
Tue May 19 07:54:52 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Update to version 0.3.5:
|
|
+ Compiler fixes
|
|
+ Add pw-midiplay and pw-midirecord aliases
|
|
+ Add pw-mididump tool
|
|
+ Add pw-metadata tool to inspect, add and remove metadata
|
|
for objects.
|
|
+ Docs updates, man pages
|
|
+ install alsa config files
|
|
+ Fix linked sink/source in pulseaudio
|
|
+ ratelimit graph processing warnings
|
|
+ improve buffer handling in GStreamer elements
|
|
+ Fix power usage by removing the queue for the alsa
|
|
sequencer system announce messages.
|
|
+ Fix metadata clear() method dispatch.
|
|
+ Improve parameter enumeration, make it possible to detect
|
|
missing parameters vs no-compatible parameters so that we
|
|
can use defaults in the first case and error in the second
|
|
case.
|
|
+ Fix cleanup of proxy objects. Stability improvements on
|
|
plug/unplug in session manager.
|
|
+ Make it possible to set log level from config file
|
|
+ improve debug of param negotiation errors. Log the
|
|
parameters to stderr/journal.
|
|
+ Make it possible to configure global logger
|
|
implementation.
|
|
+ Fix NEON detection
|
|
+ JACK and PulseAudio compatibility improvements
|
|
|
|
- Update to version 0.3.4:
|
|
+ A quick update with some important stability fixes.
|
|
|
|
- Update to version 0.3.3:
|
|
+ NEON optimizations for audio conversion (32 and 64 bits)
|
|
+ rework of session manager implementation
|
|
+ Add option to disable modules in the session manager
|
|
+ Release midi hardware devices when suspended
|
|
+ various build fixes
|
|
+ Clean up options of various utils
|
|
+ Stability improvements
|
|
+ Mayor improvements in pulseaudio emulation. Improved
|
|
timings and compatibility.
|
|
+ Implementation of drain and flush in pulse and alsa
|
|
emulation.
|
|
+ Implement poll on file descriptors.
|
|
+ Improvement of metadata for jack emulation.
|
|
+ Fix memory and thread problems in jack emulation.
|
|
+ Simplification of state changes. Should make more use
|
|
cases work in the jack emulation.
|
|
+ Improvements in the gstreamer elements. Removal of
|
|
extra internal queue. pipewiresink can now be used to
|
|
play audio.
|
|
+ Add pw-jack and pw-pulse scripts to run pulseaudio and
|
|
jack applications with the right library path.
|
|
|
|
- Replace libpulse* replacement packages with a single
|
|
pipewire-libpulse-0_3 package that includes all libraries
|
|
installed in the non-standard directory
|
|
%{_libdir}/pipewire-0.3/pulse and a new pw-pulse wrapper script.
|
|
Likewise for the jack replacement libraries in a new
|
|
pipewire-libjack-0_3 package.
|
|
|
|
- Use update-alternatives for the wrapper scripts.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Apr 1 07:35:48 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Use the License rpm tag to specify that although most of
|
|
pipewire is licensed under MIT, the pulseaudio replacement
|
|
library is licensed under LGPL-2.1+.
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Mar 31 15:11:45 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Use gcc9 to build in SLE-15 / Leap 15, since at least gcc8 is
|
|
needed now.
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Mar 31 10:48:28 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Update to version 0.3.2:
|
|
+ build fixes
|
|
+ Added support for data type negotiation. This makes it
|
|
possible for a client to say that it can handle DMABuf
|
|
and MemFd and then let the server select a compatible
|
|
format.
|
|
+ Handle errors when enumerating parameters better.
|
|
+ Add support for rate, format, channels and period_bytes
|
|
to the alsa config file to restrict what alsa apps can
|
|
negotiate.
|
|
+ Fix JACK midi output.
|
|
+ Optimizations in common audio format conversions using
|
|
AVX2. Small optimizations to plugins.
|
|
+ Change the vulkan compute example to an MIT licensed
|
|
shader.
|
|
+ Remove some hardcoded defaults in the audio and video
|
|
processing and use the values from the processing
|
|
context. This also fixes the vulkan example.
|
|
+ Correct the documentation and defaults in the daemon
|
|
config file.
|
|
+ Fix alsa and v4l2 buffer recycle. A paused client could
|
|
cause the server to leak all buffers.
|
|
+ Remove some warnings that should be ignored.
|
|
+ Fix a crash in the bluez5 plugins.
|
|
+ Try to select higher quality formats first when
|
|
negotiating a format with an audio device.
|
|
+ Fix an infinite loop in udev detection in some cases.
|
|
+ Add non-interactive mode to pw-cli. You can now just
|
|
do "pw-cli ls Port" to get a listing of all ports.
|
|
pw-cli will now also connect to the default server by
|
|
default and has options to select a different server.
|
|
+ Allow the server to go up to the maximum quantum (8192
|
|
samples or ~=180ms) if a client explicitly wants this.
|
|
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Mar 23 13:56:45 UTC 2020 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
|
|
- Update to version 0.3.1+48:
|
|
+ Fix 32bit build.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Mar 18 16:33:21 UTC 2020 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
|
|
- Switch to source service, update to explicit head, file with
|
|
non-compliant license replaced.
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Mar 17 10:58:42 UTC 2020 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
|
|
- Switch license to MIT and actually package it.
|
|
- Add doxygen, graphviz and xmltoman BuildRequires and pass docs
|
|
and man = true to meson, build documentation. Package docs in a
|
|
new docs sub-package.
|
|
- Add check section and run meson_test macro, run tests during
|
|
build.
|
|
- Add fdupes BuildRequires and pass fdupes macro, remove duplicate
|
|
files.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Mar 9 16:11:08 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Update to version 0.3.1:
|
|
+ This is a bugfix release that is API and ABI compatible
|
|
with previous 0.3.x releases.
|
|
+ Don't load the rtkit module by default. It can cause a
|
|
sigkill, which is not desirable for mutter, for example.
|
|
Only enable this for the jack library for now.
|
|
+ Don't use pthread cancel by default because it uses a
|
|
signal that might crash some apps. Only use it for
|
|
the jack library because jack clients really expect this.
|
|
+ Build fixes for -Werror=suggest-attribute=format
|
|
+ improve error messages, don't report harmless errors and
|
|
warnings. Try to send error messages to the proxy that
|
|
started the operation or is the owner of the object.
|
|
+ pw-cat: midi improvement, add midi recording and dump
|
|
in verbose mode
|
|
+ fix properties when loading spa-nodes from the config
|
|
+ Fix and update some examples
|
|
+ jack: check arguments and don't crash when invalid
|
|
+ Fix buffer memory upload.
|
|
+ jack: fix compatibility with zrythm. Fix timemaster
|
|
install, improve sample_rate callback. Fix reposition
|
|
handling.
|
|
+ fix crash in port after buffer negotiation error.
|
|
+ add support for control ports in pw_filter
|
|
+ fix cleanup of the metadata module
|
|
+ improve param enumeration.
|
|
+ Clear stream buffers when the format is cleared.
|
|
+ Add create-object command in the config file to create
|
|
object from a factory.
|
|
+ Fix crash after the driver was not removed from unassigned
|
|
nodes. Also properly pause inactive nodes.
|
|
+ Use "true" and "false" in properties when we are talking
|
|
about a boolean.
|
|
+ pulseaudio: improve compatibility
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Feb 21 15:13:15 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Add patch to build correctly with glibc < 2.27 (like in SLE/Leap):
|
|
+ fix-memfd_create-call.patch
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Feb 21 12:32:01 UTC 2020 - Antonio Larrosa <alarrosa@suse.com>
|
|
|
|
- Add BuildRequires for pkgconfig(sndfile) and pkgconfig(vulkan)
|
|
so the vulkan plugin is built.
|
|
- Version the spa-plugins subpackage so different versions of
|
|
the plugins can be co-installed in the future.
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Feb 20 18:54:53 UTC 2020 - Bjørn Lie <bjorn.lie@gmail.com>
|
|
|
|
- Update to version 0.3.0:
|
|
+ The 0.3 release is a major milestone in the developement of
|
|
PipeWire. It features a complete redesign of the scheduling
|
|
mechanisms that make it possible to run a JACK compatibility
|
|
layer with comparable performance to JACK2.
|
|
+ The API has been reworked and is declared stable now. All
|
|
developement files and runtime paths are versioned so that
|
|
future incompatible changes can be done without breaking
|
|
exising applications.
|
|
+ PipeWire 0.3 also includes a (now mandatory) session manager
|
|
that populates and controls the PipeWire graph. This example
|
|
session manager is very simple and not configurable. It is
|
|
expected that future version will either switch to a more
|
|
flexible session manager (like WirePlumber) or improve the
|
|
configuration options of the example session manager.
|
|
+ PipeWire 0.3 includes both PulseAudio, JACK and ALSA
|
|
compatibility libraries that are known to support a wide range
|
|
of applications. The ALSA library is pretty complete at this
|
|
point. The JACK and mostly the PulseAudio compatibility
|
|
libraries need more work. See the Wiki pages for the current
|
|
compatibility problems. We do not yet encourage people to
|
|
switch away from their existing audio solutions (PulseAudio
|
|
or JACK) but we would love to hear from people who try it
|
|
anyways. Future versions will mostly focus on improving
|
|
compatibility further to make PipeWire a drop-in replacement.
|
|
PipeWire comes with some GStreamer plugins to consume and
|
|
produce data for PipeWire. The consumer (pipewiresrc) is
|
|
working well in most cases. The sink (pipewiresink) is known
|
|
to be somewhat problematic for now.
|
|
- Add pkgconfig(bluez) and pkgconfig(libpulse) BuildRequires: New
|
|
dependencies.
|
|
- Bump libpipewire, apiver and spa_ver define following upstreams
|
|
changes. Also add a new sover define.
|
|
- Package new subpackages: libjack-pw0_3_0,
|
|
libpulse-mainloop-glib-pw0_3_0, libpulse-pw0_3_0 and
|
|
libpulse-simple-pw0_3_0, as well as handle them in post(un).
|
|
- Adjust options passed to meson following upstreams changes.
|
|
|
|
-------------------------------------------------------------------
|
|
Wed Nov 6 12:29:43 UTC 2019 - Fabian Vogt <fvogt@suse.com>
|
|
|
|
- Update to version 0.2.7:
|
|
+ Add support for alsa-lib 1.1.9 which changed the include path
|
|
+ Improve error checking and reporting in the protocol
|
|
+ deviceprovider: fix probing without starting
|
|
+ add sentinel to some functions
|
|
+ compiler fixes for musl
|
|
+ Revert object tree permission checks that broke things, this is
|
|
probably not a good idea (and the tree of objects is going to
|
|
be removed later)
|
|
|
|
-------------------------------------------------------------------
|
|
Wed May 22 16:33:08 UTC 2019 - Markus S <kamikazow@opensuse.org>
|
|
|
|
- Update to version 0.2.6:
|
|
+ Improve error checking for threads.
|
|
+ Fix some memory and fd leaks.
|
|
+ Fix compilation with C++ compilers and clang.
|
|
+ DISABLE_RTKIT should now not try to use dbus at all.
|
|
+ Camera Portal fixes:
|
|
- add Camera media.role.
|
|
- Rename module-flatpak to module-portal.
|
|
- Use the portal permissions store for camera checks.
|
|
+ Actually use the passed fd in pipewiresrc.
|
|
+ Make properties with "pipewire." prefix read-only.
|
|
+ Add security label to client object.
|
|
+ Enforce link permissions.
|
|
+ Permissions of objects are now combined with parent
|
|
permissions.
|
|
+ Remove libv4l2 dependency, it is not used.
|
|
+ Improve format negotiation in autolink #146.
|
|
+ Try to avoid list corruption with event emmission #143.
|
|
+ Fix destroy of client-node memory corruption.
|
|
+ Various small improvements.
|
|
- Remove pkgconfig(libv4l2) BuildRequires: follow upstreams cleanup
|
|
of build dependencies.
|
|
- Drop avoid-invalid-conversion-error-with-C++.patch: fixed
|
|
upstream.
|
|
|
|
-------------------------------------------------------------------
|
|
Fri Apr 19 14:27:04 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
|
|
|
|
- Add patch to fix use of headers from C++:
|
|
+ avoid-invalid-conversion-error-with-C++.patch
|
|
|
|
-------------------------------------------------------------------
|
|
Thu Feb 21 13:06:16 UTC 2019 - bjorn.lie@gmail.com
|
|
|
|
- Update to version 0.2.5:
|
|
+ Build fixes for systemd.
|
|
+ Add cursor and bitmap metadata. This can be used to send a
|
|
cursor sprite with the video stream.
|
|
+ Permissions were set too strict for non-flatpak clients.
|
|
+ Fix crash in loop caused by thread unsafe hook emission.
|
|
+ Add more error checking for thread-loop.
|
|
+ Small cleanups and bugfixes.
|
|
- Drop libspa define and add spa_ver define, and following this
|
|
drop libspa-lib1 subpackage, no longer built.
|
|
- Drop doxygen BuildRequires and manpages source, follow upstream
|
|
in not building docs nor manually installing manpages that have
|
|
to be updated every version bump to ensure they are current.
|
|
- Add pkgconfig(libsystemd) BuildRequires: New dependency.
|
|
- Update options passed to meson following upstream changes.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Aug 13 18:55:29 UTC 2018 - bjorn.lie@gmail.com
|
|
|
|
- Update to version 0.2.2:
|
|
+ Add apiversion to pkgconfig as well.
|
|
- Add apiver define and set it to 0.2.
|
|
- Bump libpipewire define to libpipewire-0_2-1 and libspa define to
|
|
libspa-lib1 following upstream changes.
|
|
|
|
-------------------------------------------------------------------
|
|
Mon Jul 23 19:38:08 UTC 2018 - bjorn.lie@gmail.com
|
|
|
|
- Update to version 0.2.1:
|
|
+ stream: update to latest API.
|
|
+ hook: add private data for future expansion.
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Jul 17 15:31:07 UTC 2018 - alarrosa@suse.com
|
|
|
|
- Update to version 0.2.0
|
|
+ No changelog provided by upstream. To see the changes in this
|
|
version, please browse the commit logs at
|
|
https://github.com/PipeWire/pipewire/commits/0.2.0 .
|
|
|
|
-------------------------------------------------------------------
|
|
Tue Mar 13 04:27:43 UTC 2018 - luc14n0@linuxmail.org
|
|
|
|
- Initial package, version 0.1.9.
|
|
|