| 
									
										
										
										
											2022-10-28 10:47:24 +02:00
										 |  |  | # PipeWire 0.3.60 (2022-11-10) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - The filter-chain now handles errors better and has fixes for many | 
					
						
							|  |  |  |     crasher bugs. | 
					
						
							|  |  |  |   - A new RTP module was added with a sender and receiver. It uses SAP | 
					
						
							|  |  |  |     to announce and consume RTP streams and is compatible with the | 
					
						
							|  |  |  |     PulseAudio RTP modules. | 
					
						
							|  |  |  |   - Many small bluetooth improvements and fixes. | 
					
						
							|  |  |  |   - The alsa plugin will now only start playback when there is data. This | 
					
						
							|  |  |  |     results in better sync and lower latency between capture and playback. | 
					
						
							|  |  |  |   - The v4l2 and libcamera plugins have seen a lot of improvements. They | 
					
						
							|  |  |  |     support control properties now. Also pw-v4l2 has seen many improvements | 
					
						
							|  |  |  |     and mostly passes the v4l2-compliance test now. | 
					
						
							|  |  |  |   - Many more bugfixes and improvements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - Code cleanups, compiler warning fixes. | 
					
						
							|  |  |  |   - Add some extra checks to avoid scheduling an inactive node. | 
					
						
							|  |  |  |   - Rework the sequence of events to start and stop nodes. | 
					
						
							|  |  |  |   - Improve param enumeration. | 
					
						
							|  |  |  |   - An option was added to give priority to the Buffer params of the | 
					
						
							|  |  |  |     consumer. This makes it possible to use the default values of the | 
					
						
							|  |  |  |     consumer (instead of the producer) when capturing from a source. | 
					
						
							|  |  |  |   - The graph rate selection was improved to pick a rate closest to the | 
					
						
							|  |  |  |     requested one (instead of picking the default). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Modules | 
					
						
							|  |  |  |   - Fix some crashes in filter-chain. (#2737) | 
					
						
							|  |  |  |   - X11 Bell module will now be loaded by default when available. | 
					
						
							|  |  |  |   - A new RTP module was added with a sender and receiver. It uses SAP | 
					
						
							|  |  |  |     to announce and consume RTP streams and is compatible with the | 
					
						
							|  |  |  |     PulseAudio RTP modules. | 
					
						
							|  |  |  |   - Improve RAOP compatibility. | 
					
						
							|  |  |  |   - The echo-cancel module now uses the resampler prefill option to align | 
					
						
							|  |  |  |     input and output samples without buffering. Better latency control | 
					
						
							|  |  |  |     when starting and stopping has been implemented. | 
					
						
							|  |  |  |   - The pulse tunnel will now write aligned samples to pulseaudio even | 
					
						
							|  |  |  |     when the ringbuffer wraps around. This fixes playback issues with | 
					
						
							|  |  |  |     multichannel sinks. | 
					
						
							|  |  |  |   - Add a delay option to module-loopback using a ringbuffer. | 
					
						
							|  |  |  |   - Implement echo-cancel params. | 
					
						
							|  |  |  |   - The filter-chain module has better error reporting. | 
					
						
							|  |  |  |   - The LADSPA search path was extended with some more common paths. | 
					
						
							|  |  |  |   - The echo-canceler input can now also be a monitor of a sink. This | 
					
						
							|  |  |  |     improves compatibility with some proton games that expect a real | 
					
						
							|  |  |  |     sink instead of a virtual one. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Tools | 
					
						
							|  |  |  |   - Better error reporting in pw-link. | 
					
						
							|  |  |  |   - pw-top now also shows IEC958 passthrough formats and JPEG/H264 video | 
					
						
							|  |  |  |     formats. | 
					
						
							|  |  |  |   - pw-top refreshes the screen faster. | 
					
						
							|  |  |  |   - pw-top now prints the state of the node and shows less info for | 
					
						
							|  |  |  |     inactive nodes. | 
					
						
							|  |  |  |   - pw-dump now uses the new seq field in the spa_param_info to discard | 
					
						
							|  |  |  |     old param updates and avoid duplicate params in the output. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - Add ModemManager support in the native backend. | 
					
						
							|  |  |  |   - Clean up GetManagedObjects handling. | 
					
						
							|  |  |  |   - Handle QoS from the endpoints in the codec. | 
					
						
							|  |  |  |   - Increase the socket buffer to have more control over the rate and QoS. | 
					
						
							|  |  |  |   - Simplify the packet flushing code. | 
					
						
							|  |  |  |   - Stop processing nodes before destroying them. | 
					
						
							|  |  |  |   - Fix timers when a source switches drivers. | 
					
						
							|  |  |  |   - Codecs can now share endpoints. This reduces the amount of endpoints and | 
					
						
							|  |  |  |     avoids problems with devices that can't handle a large amount of | 
					
						
							|  |  |  |     codec endpoints. | 
					
						
							|  |  |  |   - Report batery status to UPower for HFP AG. | 
					
						
							|  |  |  |   - Fix bitpool increase. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - The audioresampler now avoids clicks and pops between activating and | 
					
						
							|  |  |  |     deactivating the adaptive resampler when used by the stream API. | 
					
						
							|  |  |  |   - Use default locale to parse float parameters. | 
					
						
							|  |  |  |   - The upmix functions now have SSE optimizations. | 
					
						
							|  |  |  |   - Avoid recalculating the complete channelmix setup when only the | 
					
						
							|  |  |  |     volume changes. | 
					
						
							|  |  |  |   - The alsa plugin will now only start playback when there is data. This | 
					
						
							|  |  |  |     results in better sync and lower latency between capture and playback. | 
					
						
							|  |  |  |   - The ALSA MIDI sequencer will now pull data from the graph even when it | 
					
						
							|  |  |  |     did not output anything. Fixes some graph stalls with the sequencer in | 
					
						
							|  |  |  |     some cases. (#2775) | 
					
						
							|  |  |  |   - v4l2 and libcamera sources now recycle buffers when nothing is consuming | 
					
						
							|  |  |  |     them. This avoids stalling the graph. | 
					
						
							|  |  |  |   - libcamera now suggests a more appropriate frame size than the smallest | 
					
						
							|  |  |  |     poster frame. | 
					
						
							|  |  |  |   - Improve state changes in audioconvert. (#2764) | 
					
						
							|  |  |  |   - A new seq field was added to spa_param_info to keep track of pending | 
					
						
							|  |  |  |     param updates. | 
					
						
							|  |  |  |   - Support speaker output only on RealTek ALC4080. (#2744) | 
					
						
							|  |  |  |   - The v4l2 source now supports setting controls. | 
					
						
							|  |  |  |   - The libcamera plugin now supports enumerating and setting controls. | 
					
						
							|  |  |  |   - A new unit test for 6.1 channel mapping was added. (#2809) More debug | 
					
						
							|  |  |  |     info was added to audioconvert for the channel matrix. | 
					
						
							|  |  |  |   - Audioconvert will now also upmix a rear-center channel when needed. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pulse-server | 
					
						
							|  |  |  |   - Add support for the RTP send and recv modules with the new native | 
					
						
							|  |  |  |     RTP module. | 
					
						
							|  |  |  |   - Add option to set latency for pulse-tunnel streams and | 
					
						
							|  |  |  |     module-zeroconf-discover. | 
					
						
							|  |  |  |   - The socket will now be given the same permissions as what pulseaudio | 
					
						
							|  |  |  |     did (0777). | 
					
						
							|  |  |  |   - Implement module-loopback latency_msec correctly with the new delay | 
					
						
							|  |  |  |     parameter. | 
					
						
							|  |  |  |   - sysfs.path is now filled with the same data as pulseaudio. | 
					
						
							|  |  |  |   - The manager now uses the new seq field in the spa_param_info. | 
					
						
							|  |  |  |   - Fix a bug where in some cases the read pointer would get out of sync | 
					
						
							|  |  |  |     and cause too large requests. (#2799) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							|  |  |  |   - The alsa plugin now reuses the stream in prepare which results in | 
					
						
							|  |  |  |     better performance. | 
					
						
							|  |  |  |   - Some deadlocks have been fixed in the ALSA plugin. | 
					
						
							|  |  |  |   - The ALSA plugin reports more accurate timing information in some cases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## V4l2 | 
					
						
							|  |  |  |   - The v4l2 compatibility layer has received a lot of updates. | 
					
						
							|  |  |  |   - Improved node names and format enumeration. | 
					
						
							|  |  |  |   - Support for multiple /dev/videoX devices, each mapped to a unique | 
					
						
							|  |  |  |     PipeWire node. | 
					
						
							|  |  |  |   - Passes the v4l2-compliance test now with both the v4l2 and libcamera | 
					
						
							|  |  |  |     backend in PipeWire. | 
					
						
							|  |  |  |   - Improved mmap support for inline buffer memory. This makes it possible to | 
					
						
							|  |  |  |     consume PipeWire streams. | 
					
						
							|  |  |  |   - Negotiation works more reliably now. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - Implement jack_acquire_real_time_scheduling() and | 
					
						
							|  |  |  |     jack_drop_real_time_scheduling() by keeping the thread utils in a global | 
					
						
							|  |  |  |     state. | 
					
						
							|  |  |  |   - Fix jack_client_thread_id() to return NULL when the client is not active, | 
					
						
							|  |  |  |     just like jack1 and jack2. | 
					
						
							|  |  |  |   - An option was added to let the jack_set_buffer_size() function update the | 
					
						
							|  |  |  |     global metadata. A quirk was added so that jack_bufsize uses this new feature | 
					
						
							|  |  |  |     to make the buffer size settings persistent and global, just like jack. | 
					
						
							|  |  |  |   - jack_port_register() and jack_port_unregister() can be called on an | 
					
						
							|  |  |  |     active client so make this thread safe. (#2652) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Older versions: | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-21 13:00:03 +02:00
										 |  |  | # PipeWire 0.3.59 (2022-09-30) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Fix possible wrong samplerate in loopback streams after suspend and | 
					
						
							|  |  |  |     rate switch. | 
					
						
							|  |  |  |   - module-filter-chain can now adapt to the graph samplerate. | 
					
						
							|  |  |  |   - Fix some potential stuttering and crackling in pulse-server. | 
					
						
							|  |  |  |   - Add Bluetooth LE support. This requires experimental kernel and bluez | 
					
						
							|  |  |  |     support. | 
					
						
							|  |  |  |   - The ALSA plugin has more options to control the buffer size. This can | 
					
						
							|  |  |  |     be used to work around high latency in davinci resolve. | 
					
						
							|  |  |  |   - Many bugfixes and improvements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - Add audio capture example with volume meter. | 
					
						
							|  |  |  |   - Fix a case where a rate switch would not suspend all the nodes of the | 
					
						
							|  |  |  |     driver first. This could cause wrong samplerates in streams. | 
					
						
							|  |  |  |   - Fix a case where a node would be Paused while still added to the | 
					
						
							|  |  |  |     graph, causing potential crashes. (#2701) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Modules | 
					
						
							|  |  |  |   - module-filter-chain and module-loopback now use the resample.prefill | 
					
						
							|  |  |  |     option to avoid buffering extra samples and causing unwanted latency | 
					
						
							|  |  |  |     when resampling is activated. | 
					
						
							|  |  |  |   - module-filter-chain can now adapt to the graph samplerate. | 
					
						
							|  |  |  |   - Improve module-raop to support the ALAC codec as raw PCM. | 
					
						
							|  |  |  |   - Improve RTSP parsing to improve compatibility. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Tools | 
					
						
							|  |  |  |   - Fix 100% CPU in pw-cli monitor mode. (#2709) | 
					
						
							|  |  |  |   - spa-acp-tool can now be exited with ctrl-D. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - Various libcamera fixes and improvements. | 
					
						
							|  |  |  |   - Set stride on audioconvert output buffers. | 
					
						
							|  |  |  |   - Make sure we always place the last requested size from the resampler | 
					
						
							|  |  |  |     on the buffers in pw-stream. | 
					
						
							|  |  |  |   - Add resample.prefill option in the resampler to fill the history with | 
					
						
							|  |  |  |     0 so that we don't have smaller buffers at the start. | 
					
						
							|  |  |  |   - Make sure that when an overflow corrupts a POD, that it will always | 
					
						
							|  |  |  |     stay corrupted. | 
					
						
							|  |  |  |   - Rate limit some ALSA warnings and reduce some unwanted warnings. | 
					
						
							|  |  |  |   - Don't recalculate the audioconverter state for each pause/play. (#2701) | 
					
						
							|  |  |  |   - Fix some POD parsing inconsistencies and potential overflows. | 
					
						
							|  |  |  |   - Add support for Asus Xonar SE. | 
					
						
							|  |  |  |   - Fix Flush command handling. It should not stop playback. (#2726) | 
					
						
							|  |  |  |   - Refactor the peaks function and add some unit tests and optimizations. | 
					
						
							|  |  |  |   - The channelmix has an optimized nXm converter and new unit tests. | 
					
						
							|  |  |  |   - Normalization in the channelmixer was fixed. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pulse-server | 
					
						
							|  |  |  |   - The requested latency of record streams was reduced to fix some | 
					
						
							|  |  |  |     stuttering in Teamspeak. (#2702) | 
					
						
							|  |  |  |   - Tweak the max amount of bytes sent to a client. (#2711) (#2715) | 
					
						
							|  |  |  |   - Improve maxlength calculations, this fixes some crackling noise with | 
					
						
							|  |  |  |     high samplerate and channel counts in some players (audacious). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - Merge Bluetooth LE support. | 
					
						
							|  |  |  |   - Make sure we are backward compatible with WirePlumber. | 
					
						
							|  |  |  |   - Fix some HFP and HSP AT command parsing. (#2463) | 
					
						
							|  |  |  |   - Use HFP by default over HSP. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							|  |  |  |   - Increase max number of periods. | 
					
						
							|  |  |  |   - The parameters handling was improved. There is now an option to set the | 
					
						
							|  |  |  |     buffer-bytes of the ALSA plugin. | 
					
						
							|  |  |  |   - PIPEWIRE_ALSA can now be used as an environment variable to restrict the | 
					
						
							|  |  |  |     plugin formats and buffer size. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-09-07 16:30:21 +02:00
										 |  |  | # PipeWire 0.3.58 (2022-09-15) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Fix a regression that could cause audio crackling. | 
					
						
							|  |  |  |   - Fix a regression in RTKit because rlimit was not set correctly. | 
					
						
							|  |  |  |   - JAVA sound applications will now alsa work with the pulseaudio-alsa plugin. | 
					
						
							|  |  |  |   - pw-top will now show the negotiated formats of devices and streams. | 
					
						
							|  |  |  |   - Fix some potential crashes when starting streams. | 
					
						
							|  |  |  |   - The ALSA plugin has had improved timing reporting and poll descriptor | 
					
						
							|  |  |  |     handling that should improve compatibility. | 
					
						
							|  |  |  |   - Many more improvements and bugfixes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - Avoid scheduling nodes before they are added to the graph. This could | 
					
						
							|  |  |  |     avoid some crashes when scheduling nodes that were not completely | 
					
						
							|  |  |  |     started yet. (#2677) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Tools | 
					
						
							|  |  |  |   - pw-top now also shows the negotiated formats of streams and devices. | 
					
						
							|  |  |  |     (#2566) | 
					
						
							|  |  |  |   - pw-top prints microseconds as "us" now to avoid unicode problems. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Modules | 
					
						
							|  |  |  |   - Fix compilation with newer lv2. | 
					
						
							|  |  |  |   - Fix setting realtime priority with RTKit, it was not setting rlimit | 
					
						
							|  |  |  |     correctly and RTKit would refuse to change the priority. | 
					
						
							|  |  |  |   - Fix some playback problems with RAOP sink. (#2673) | 
					
						
							|  |  |  |   - Filter chain will now warn when a non-existing control property is | 
					
						
							|  |  |  |     used in the config file. (#2685) | 
					
						
							|  |  |  |   - Filter chain can now handle control port names with ":" in the name. | 
					
						
							|  |  |  |     (#2685) | 
					
						
							|  |  |  |   - The echo-cancel module and interface now has activate/deactivate | 
					
						
							|  |  |  |     functions to make it possible for plugins to reset their state. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - Make sure audioconvert uses the given channelmap and channels for the | 
					
						
							|  |  |  |     volumes, even when not negotiated yet. This makes it possible to change | 
					
						
							|  |  |  |     the volume before the node has been negotiated. | 
					
						
							|  |  |  |   - Refactor the peaks resampler. Fix an error in the SSE code. | 
					
						
							|  |  |  |   - Fix DSD min/max rates, avoid exposing impossible rates. | 
					
						
							|  |  |  |   - Set monitor port buffer size correctly. This could cause some crackling | 
					
						
							|  |  |  |     and hickups. (#2677) | 
					
						
							|  |  |  |   - Make ALSA sequencer port names unique. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Pulse-server | 
					
						
							|  |  |  |   - Rework the capture buffer attributes to better match pulseaudio. This | 
					
						
							|  |  |  |     fixes a regression where opening pavucontrol could cause crackling. | 
					
						
							|  |  |  |     (#2671) | 
					
						
							|  |  |  |   - Implement TRIGGER and PREBUF methods. | 
					
						
							|  |  |  |   - Handle clients that send more than the requested amount of data. | 
					
						
							|  |  |  |     PipeWire will now also keep this as extra buffered data like PulseAudio. | 
					
						
							|  |  |  |     This fixes JAVA sound applications when they are running on top of the | 
					
						
							|  |  |  |     PulseAudio ALSA plugin. (#2626,#2674) | 
					
						
							|  |  |  |   - Update the requested amount of bytes more like PulseAudio. Fixes | 
					
						
							|  |  |  |     stuttering after resume with the GStreamer pulseaudio sink. (#2680) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA Plugin | 
					
						
							|  |  |  |   - More debug info was added. The time reporting was improved. | 
					
						
							|  |  |  |   - The poll descriptor handling was improved, avoiding some spurious | 
					
						
							|  |  |  |     wakeups. (#1697) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-31 15:15:31 +02:00
										 |  |  | # PipeWire 0.3.57 (2022-09-02) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							| 
									
										
										
										
											2022-09-02 10:48:29 +02:00
										 |  |  |   - Support masking of conf.d/ files. (#2629) | 
					
						
							|  |  |  |   - Use org.freedesktop.portal.Realtime when available. This does the | 
					
						
							|  |  |  |     correct PID/TID mappings to make realtime also work from flatpaks. | 
					
						
							|  |  |  |   - Fix rate adjustement logic in pulse-tunnel. This would cause | 
					
						
							|  |  |  |     increasing delays and hickups when using tunnels. (#2548) | 
					
						
							|  |  |  |   - Add OPUS as a new vendor codec. Add OPUS-A2DP spec. PipeWire can now | 
					
						
							|  |  |  |     send and reveive OPUS data over bluetooth. | 
					
						
							|  |  |  |   - An AAC decoder was added so that PipeWire can now also function as | 
					
						
							|  |  |  |     an A2DP AAC receiver. | 
					
						
							|  |  |  |   - Fix some issues where the wrong samplerate was used. (#2614) | 
					
						
							|  |  |  |   - Fix rate match for sources. This fixes an error where follower sources | 
					
						
							|  |  |  |     would generate many resync warnings. | 
					
						
							|  |  |  |   - Many more bugfixes and improvements. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-08-31 15:15:31 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - Support masking of conf.d/ files. (#2629) | 
					
						
							|  |  |  |   - Add some more debug info to memfd. | 
					
						
							|  |  |  |   - Improve data-loop invoke method. Also flush pending items. (#2631) | 
					
						
							|  |  |  |   - Add a filter-chain systemd service file than can be used to start | 
					
						
							|  |  |  |     custom filters placed in ~/.conf/pipewire/filter-chain.d/ (#2553) | 
					
						
							|  |  |  |   - Improve triggered timestamps for remote nodes. | 
					
						
							|  |  |  |   - Fix some potential cross compilation problems due to wrong | 
					
						
							|  |  |  |     host_machine. | 
					
						
							|  |  |  |   - Check return values of pw_getrandom(). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Tools | 
					
						
							|  |  |  |   - Updates to pw-cli manpages. (#2552) | 
					
						
							|  |  |  |   - Remove the pw-cli dump command. It is mostly implemented as part of | 
					
						
							|  |  |  |     wpctl status, pw-dump, pw-link, pw-top and others. | 
					
						
							|  |  |  |   - Clean up resource in pw-cat correctly on errors. (#2651) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Modules | 
					
						
							|  |  |  |   - Fix compilation of AVB on big-endian. Enable AVB only on Linux. | 
					
						
							|  |  |  |   - Use org.freedesktop.portal.Realtime when available. This does the | 
					
						
							|  |  |  |     correct PID/TID mappings to make realtime also work from flatpaks. | 
					
						
							|  |  |  |   - Fix compilation of ROC module when headers are missing. (#2513) | 
					
						
							|  |  |  |   - Improve some error cleanup paths in protocol-native. Improve connect | 
					
						
							|  |  |  |     and disconnect. | 
					
						
							|  |  |  |   - Fix a potential crash in FFT unload in filter-chain. | 
					
						
							|  |  |  |   - Implement PIPEWIRE_NOTIFICATION_FD for notification when the socket | 
					
						
							|  |  |  |     is ready. | 
					
						
							|  |  |  |   - Try to use rtkit if set_nice() fails. | 
					
						
							|  |  |  |   - Fix rate adjustement logic in pulse-tunnel. This would cause | 
					
						
							|  |  |  |     increasing delays and hickups when using tunnels. (#2548) | 
					
						
							|  |  |  |   - Handle disconnect in pulse-tunnel. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - Add OPUS as a new vendor codec. Add OPUS-A2DP spec. PipeWire can now | 
					
						
							|  |  |  |     send and reveive OPUS data over bluetooth. | 
					
						
							|  |  |  |   - An AAC decoder was added so that PipeWire can now also function as | 
					
						
							|  |  |  |     an A2DP AAC receiver. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - Tweak the resampler window function some more. (#2574) | 
					
						
							|  |  |  |   - Improve format convert performance in some fallback cases. | 
					
						
							|  |  |  |   - Fix rounding in format conversion on ARM NEON. | 
					
						
							|  |  |  |   - Fix libcamera build error. (#2575) | 
					
						
							|  |  |  |   - Fix some issues where the wrong samplerate was used. (#2614) | 
					
						
							|  |  |  |   - Don't wait for more samples that can fit in the ringbuffer in ALSA. | 
					
						
							|  |  |  |   - Improve buffer size handling in audioconvert, scale the buffers based | 
					
						
							|  |  |  |     on the rate conversion and make things work with really large rate | 
					
						
							|  |  |  |     conversions as well. | 
					
						
							|  |  |  |   - Add more and better debug for ALSA devices. | 
					
						
							|  |  |  |   - Improve channel mix: Filter FC and LFE when copying from a different | 
					
						
							|  |  |  |     layout. Implement STEREO from FC. Avoid generating REAR from FC in PSD | 
					
						
							|  |  |  |     mode. | 
					
						
							|  |  |  |   - Fix rate match for sources. This fixes an error where follower sources | 
					
						
							|  |  |  |     would generate many resync warnings. | 
					
						
							|  |  |  |   - Improve ALSA format negotiation. If the ALSA node is not running and | 
					
						
							|  |  |  |     there was a previously configured format, close and reopen the device | 
					
						
							|  |  |  |     to enumerate and accept all possible formats again. (#2625). | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							|  |  |  |   - The alsa plugin will now also save the volumes set with the control | 
					
						
							|  |  |  |     API. This saves the volumes set with alsa-mixer, for example. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Pulse-server | 
					
						
							|  |  |  |   - Flatpak apps with devices=all (Zoom) will now be granted Manager | 
					
						
							|  |  |  |     permissions. | 
					
						
							|  |  |  |   - Small tweaks to the amount of data sent to clients to work around an | 
					
						
							|  |  |  |     issue in freerdp. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - Clean up the transport correctly when closing a client. (#2569) | 
					
						
							|  |  |  |   - Match context properties in addition to node properties for the jack | 
					
						
							|  |  |  |     client rules. (#2580) | 
					
						
							|  |  |  |   - Make sure to return an error when disconnected from the server. (#2606) | 
					
						
							|  |  |  |   - Fix thread cast problem in jack_client_thread_id(). | 
					
						
							|  |  |  |   - Increase jack_client_name_size() length and make sure we have space for | 
					
						
							|  |  |  |     the \0 byte. | 
					
						
							|  |  |  |   - JACK clients from the same application will be added to the same group | 
					
						
							|  |  |  |     so that they share the quantum and rate. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-19 09:49:51 +02:00
										 |  |  | # PipeWire 0.3.56 (2022-07-19) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a quick bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - A critical bug that could crash JACK apps was fixed. | 
					
						
							|  |  |  |   - Some more regressions in audiomixer were fixed. This should fix crackling | 
					
						
							|  |  |  |     and stuttering in some cases as well as some channel mapping regressions. | 
					
						
							|  |  |  |   - A bug in the alsa plugin was fixed that could cause stuttering in VMs. | 
					
						
							|  |  |  |   - Bluetooth sources should have improved latency and rate control. | 
					
						
							|  |  |  |   - Many more bugfixes and improvements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Modules | 
					
						
							|  |  |  |   - An experimental AVB module was added. It can expose PipeWire as an AVB | 
					
						
							|  |  |  |     entity and initiate (broken) streaming between entities. | 
					
						
							|  |  |  |   - module-loopback now handles the cases where the input and output channels | 
					
						
							|  |  |  |     are different without crashing or producing silence. | 
					
						
							|  |  |  |   - The filter-chain module now correctly calculates the output size without | 
					
						
							|  |  |  |     crashing in some cases. It also skips invalid ports instead of crashing. | 
					
						
							|  |  |  |   - Handle and report pthread errors better. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - The resampler qualities were tweaked a little. | 
					
						
							|  |  |  |   - A bug that would sometimes cut off the last part of a buffer was fixed in | 
					
						
							|  |  |  |     the alsa plugin. This could cause broken audio in VMs. (#2536) | 
					
						
							|  |  |  |   - Access to the alsa mixer and devices is now checked more thoroughly. | 
					
						
							|  |  |  |     (#2534) | 
					
						
							|  |  |  |   - The spa-resample tool can now also handle large downsampling rates without | 
					
						
							|  |  |  |     crashing. | 
					
						
							|  |  |  |   - Audioconverter now uses rounding for float to int conversions, which | 
					
						
							|  |  |  |     reduces distortions. Compilation of the c functions was separated and uses | 
					
						
							|  |  |  |     its own optimization flags now. Unit tests were added. (#2543) | 
					
						
							|  |  |  |   - Noise shaping was improved in audioconvert. A new Wannamaker 3 tap shaper | 
					
						
							|  |  |  |     was added. | 
					
						
							|  |  |  |   - Audioconvert now uses a pattern for generating keep alive noise. This | 
					
						
							|  |  |  |     should have much less energy and be even more inaudible. (#2540) | 
					
						
							|  |  |  |   - A channel mapping bug was fixed in audioconvert. Unit tests were added. | 
					
						
							|  |  |  |   - The dsp audio mixer would sometimes not mix enough and cause dropouts. | 
					
						
							|  |  |  |     (#2525) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - A critical bug in the mixer was fixed. It would cause most JACK apps to | 
					
						
							|  |  |  |     segfault at startup. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - A new rate control algorithm was implemented for the sources. | 
					
						
							|  |  |  |   - The media role on HSP/HFP streams is now fixed. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Pulse Server | 
					
						
							|  |  |  |   - Add the resampler delay to delay reporting as well. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-11 12:44:47 +02:00
										 |  |  | # PipeWire 0.3.55 (2022-07-12) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a quick bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Fix some more critical bugs in the new audioconvert and the queueing | 
					
						
							|  |  |  |     in pw-stream that causes stuttering and hickups. | 
					
						
							|  |  |  |   - HFP hardware volumes are now saved and restored. | 
					
						
							|  |  |  |   - Format conversions and mixing was improved. | 
					
						
							|  |  |  |   - Small bug fixes and improvements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - The queueing in pw-stream was improved with support for buffer prefetch | 
					
						
							|  |  |  |     in async mode. | 
					
						
							|  |  |  |   - Add a pw-filter unit test. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## tools | 
					
						
							|  |  |  |   - pw-midiplay should now work again after improvements in pw-stream. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## modules | 
					
						
							|  |  |  |   - The RAOP module was improved to support auth_setup. | 
					
						
							|  |  |  |   - The RAOP module should now handle timing packets better. | 
					
						
							|  |  |  |   - Add some more filter-chain examples. | 
					
						
							|  |  |  |   - The filter-chain now has a separate config file with the boilerplate | 
					
						
							|  |  |  |     settings. The examples are now just config snippets that can be dropped | 
					
						
							|  |  |  |     in .conf.d/ directories, such as the filter-chain.conf.d/ one. | 
					
						
							|  |  |  |   - Start suggesting to use target.object instead of node.target in docs | 
					
						
							|  |  |  |     and examples. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - Use the cosh window again for the resampler. It should now | 
					
						
							|  |  |  |     give better resampler quality. (#2483) | 
					
						
							|  |  |  |   - Rework the mixer functions. They were rewritten for higher precision and | 
					
						
							|  |  |  |     better performance. Add unit tests and benchmarks. | 
					
						
							|  |  |  |   - Improve format conversion for 32bits for avoid errors in clang because | 
					
						
							|  |  |  |     of undefined behaviour at extreme ranges. | 
					
						
							|  |  |  |   - Fix a bug in audioconvert where it would not consume the right | 
					
						
							|  |  |  |     amount of samples when the resampler was disabled. This could cause | 
					
						
							|  |  |  |     skipping and hickups. (#2519) | 
					
						
							|  |  |  |   - Fix bug in audioconvert where it would try to convert the input samples | 
					
						
							|  |  |  |     multiple times, causing strange artifacts when upmixing. | 
					
						
							|  |  |  |   - Be more strict about valid JSON floats. | 
					
						
							|  |  |  |   - device.vendor.id and device.product.id should now always show up in | 
					
						
							|  |  |  |     0xXXXX format and should not be converted to floats in pw-dump anymore. | 
					
						
							|  |  |  |   - Add triangular dither, add unit tests for noise generation, add some | 
					
						
							|  |  |  |     more optimizations. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - HFP and A2DP now expose different routes and thus can have different | 
					
						
							|  |  |  |     volumes. | 
					
						
							|  |  |  |   - HW Volumes for HFP are now synced better. Volume changes from HW buttons | 
					
						
							|  |  |  |     are now also saved. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-07-07 08:45:21 +02:00
										 |  |  | # PipeWire 0.3.54 (2022-07-07) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a quick bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Some critical bugs in the new audioconvert were fixed. The old | 
					
						
							|  |  |  |     adapter had internal buffering that was abused in some places. | 
					
						
							|  |  |  |   - The bluetooth sources were rewritten using a ringbuffer to make them | 
					
						
							|  |  |  |     more reliable to jitter and remove old audioconvert behaviour. | 
					
						
							|  |  |  |   - Many improvements to the audio converter. | 
					
						
							|  |  |  |   - Native DSD128 and up is now supported by pw-dsdplay. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## tools | 
					
						
							|  |  |  |   - Support DSD128 to DSD512 as well by scaling the amount of samples | 
					
						
							|  |  |  |     to read per time slice. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - Format conversion is now generated with macros to remove duplication | 
					
						
							|  |  |  |     of code. | 
					
						
							|  |  |  |   - 24bits conversions were rewritten to use the generic conversion | 
					
						
							|  |  |  |     functions. | 
					
						
							|  |  |  |   - Temporary buffers in audioconvert are now made large enough in all | 
					
						
							|  |  |  |     cases. | 
					
						
							|  |  |  |   - Fix draining in audioconvert. This fixes speaker-test. | 
					
						
							|  |  |  |   - Fix the channel remapping. (#2502, #2490) | 
					
						
							|  |  |  |   - Audio conversion constants were tweaked to handle the maximum ranges | 
					
						
							|  |  |  |     and provide lossless conversion between 24bits and floats. | 
					
						
							|  |  |  |   - Vector code and C code are aligned and the unit tests are activated | 
					
						
							|  |  |  |     again. A new lossless conversion test was added. | 
					
						
							|  |  |  |   - Fix an underrun case where the adapter would not ask for more data. | 
					
						
							|  |  |  |   - Fix PROP_INFO for audioconvert. (#2488) | 
					
						
							|  |  |  |   - Use the blackman window again for the resampler, the cosh window has | 
					
						
							|  |  |  |     some bugs that can cause distortion in some cases. (#2483) | 
					
						
							|  |  |  |   - Add more unit tests for audioconvert. Add end-to-end conversion tests. | 
					
						
							|  |  |  |   - Don't leak memory in format converter. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pulse-server | 
					
						
							|  |  |  |   - Card properties are now also added to sinks and sources, just like | 
					
						
							|  |  |  |     in pulseaudio. | 
					
						
							|  |  |  |   - Increase the maxlength size to at least 4 times the fragsize to avoid | 
					
						
							|  |  |  |     xruns. | 
					
						
							|  |  |  |   - Fix a race when setting default devices. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - The source was rewritten to use a ringbuffer. This avoids regressions | 
					
						
							|  |  |  |     caused by audioconvert.  | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-06-15 15:13:20 +02:00
										 |  |  | # PipeWire 0.3.53 (2022-06-30) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - The 44.1KHz samplerate was removed again from the defaults, it caused | 
					
						
							|  |  |  |     all kinds of problems with various hardware. | 
					
						
							|  |  |  |   - The ALSA plugin should now be able to deal with unsupported samplerates | 
					
						
							|  |  |  |     and fall back to the nearest supported one. | 
					
						
							|  |  |  |   - The rlimits performance tuning wiki page was updated. Please check | 
					
						
							|  |  |  |     you limits.conf file, the version on the wiki used to give all | 
					
						
							|  |  |  |     processes a -19 nice level instead of just the pipewire daemon. | 
					
						
							|  |  |  |   - The audioconvert plugin was rewritten to be more maintainable and | 
					
						
							|  |  |  |     faster. It also gained support for control ports and dithering with | 
					
						
							|  |  |  |     optional noise shaping. | 
					
						
							|  |  |  |   - An impossible buffering situation is avoided in pulse-server that would | 
					
						
							|  |  |  |     cause some applications (sunshine, ...) to stutter. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - 44.1KHz was removed from the allowed rates again. It caused all kinds | 
					
						
							|  |  |  |     of regressions due to driver bugs and timing issues on HDMI. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## modules | 
					
						
							|  |  |  |   - filter-chain now does some more error checking and reporting to | 
					
						
							|  |  |  |     avoid some crashes. | 
					
						
							|  |  |  |   - filter-chain now supports more channel layouts for input and output | 
					
						
							|  |  |  |     that does not need to match the plugin layout. | 
					
						
							|  |  |  |   - Format parsing is now more consistent in the modules. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Tools | 
					
						
							|  |  |  |   - pw-cli can now also work without readline support. | 
					
						
							|  |  |  |   - pw-cat can now also read multichannel ulaw/alaw/u8/s8. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - The audioconvert plugin was rewritten. This should make it more | 
					
						
							|  |  |  |     maintainable. It also fixed some issues such as CPU spikes in some | 
					
						
							|  |  |  |     cases and crashes in others. The old plugins were removed, for a | 
					
						
							|  |  |  |     code reduction of some 6000 lines. | 
					
						
							|  |  |  |   - The audioconvert plugin now supports control ports, which can be | 
					
						
							|  |  |  |     enabled on nodes in the session manager. This makes it possible to | 
					
						
							|  |  |  |     control audioconvert properties using timed events or midi. | 
					
						
							|  |  |  |   - NoteOn 0-velocity MIDI events are no longer filtered out. This is | 
					
						
							|  |  |  |     a valid event, nodes that can't deal with it should fix it up | 
					
						
							|  |  |  |     themselves. The JACK layer still filters out these events by default | 
					
						
							|  |  |  |     but this can now be configured with a per-client property. | 
					
						
							|  |  |  |   - The running status on midi events is now disabled to match what | 
					
						
							|  |  |  |     JACK does. | 
					
						
							|  |  |  |   - The ALSA plugin will now deal with driver bugs when a driver announces | 
					
						
							|  |  |  |     support for a samplerate but then refuses to use it later. | 
					
						
							|  |  |  |   - The ALSA plugin has been optimized a little for sample IO. | 
					
						
							|  |  |  |   - V4L2 now doesn't error when there are no controls. | 
					
						
							|  |  |  |   - Error handling was improved in the audio converter. | 
					
						
							|  |  |  |   - The audioconvert plugin now supports rectangular dithering and | 
					
						
							|  |  |  |     noise shaping. | 
					
						
							|  |  |  |   - The audioconvert plugin can now insert additional inaudible noise | 
					
						
							|  |  |  |     that can be used to keep some amplifiers alive. (#705) | 
					
						
							|  |  |  |   - The audioconvert format conversion was changed so that it now produces | 
					
						
							|  |  |  |     the full 32 bits range in the C fallback conversion code as well. | 
					
						
							|  |  |  |   - The resampler window function was changed to a cosh() window | 
					
						
							|  |  |  |     function. (#2483) | 
					
						
							|  |  |  |   - Vendor and device id are now in hex. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pulse-server | 
					
						
							|  |  |  |   - Tweak the record buffer attributes some more and make sure we don't | 
					
						
							|  |  |  |     end up in impossible buffering situations. Fixes an issue with | 
					
						
							|  |  |  |     distorted sound in sunshine. (#2447) | 
					
						
							|  |  |  |   - Fix a potential crash when updating the client property list. | 
					
						
							|  |  |  |   - Some properties on cards were aligned with pulseaudio. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Wiki | 
					
						
							|  |  |  |   - Change "priority" to "nice" in the example limits.conf file. It was | 
					
						
							|  |  |  |     giving a -19 nice level to all processes, not just the pipewire | 
					
						
							|  |  |  |     daemon. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-05-12 12:58:47 +02:00
										 |  |  | # PipeWire 0.3.52 (2022-06-09) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Add 44.1KHz to allowed samplerates. The server can now switch by | 
					
						
							|  |  |  |     default between 48KHz and 44.1KHz. | 
					
						
							|  |  |  |   - Streams now allocate less resources. | 
					
						
							|  |  |  |   - Fix some bugs that could make the server crash. | 
					
						
							|  |  |  |   - Bluetooth now supports the LC3plus vendor codec. | 
					
						
							|  |  |  |   - Many bugfixes and improvements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - Add 44.1KHz to allowed samplerates. | 
					
						
							|  |  |  |   - Avoid setting the locale. | 
					
						
							|  |  |  |   - Avoid use-after-free when destroying a node from spa-node-factory. | 
					
						
							|  |  |  |   - Avoid using reallocarray when not available. | 
					
						
							|  |  |  |   - Set port alias is not otherwise set. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Modules | 
					
						
							|  |  |  |   - Improve filter-chain parsing and error reporting. Handle empty | 
					
						
							|  |  |  |     nodes. (#1950) | 
					
						
							|  |  |  |   - Handle destroy of globals and factory in most modules. (#565) | 
					
						
							|  |  |  |   - Add refcounts to client and resources to handle destroy of the | 
					
						
							|  |  |  |     protocol. (#565) | 
					
						
							|  |  |  |   - Handle global node.name in filter-chain and loopback again, use | 
					
						
							|  |  |  |     it to construct unique stream names. | 
					
						
							|  |  |  |   - Avoid a wrapped pw-node in the adapter. This reduces resources | 
					
						
							|  |  |  |     allocated for streams. | 
					
						
							|  |  |  |   - Fix a crash when module-x11-bell was unloaded. (#2392) | 
					
						
							|  |  |  |   - Add a new module-pipe-tunnel that can write/read data from a | 
					
						
							|  |  |  |     UNIX pipe. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Tools | 
					
						
							|  |  |  |   - Fix DSD playback again in pw-cat. | 
					
						
							|  |  |  |   - Add -n option to pw-loopback to set node names. | 
					
						
							|  |  |  |   - Add -P option to pw-cat to pass properties to the stream. | 
					
						
							|  |  |  |   - Support stdin/stdout in pw-cat. (#2387) | 
					
						
							|  |  |  |   - pw-dump now also dumps object removal when monitoring. (#2426) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - Avoid duplicate param results in pw-dump for ports. | 
					
						
							|  |  |  |   - Avoid endless loops in audioconvert for badly behaving client. | 
					
						
							|  |  |  |     (#2359) | 
					
						
							|  |  |  |   - Scale max-error in alsa based on quantum and avoid logging a warning | 
					
						
							|  |  |  |     when starting. | 
					
						
							|  |  |  |   - Improve debug of failed format conversion. (#2383) | 
					
						
							|  |  |  |   - Handle offset in the audio dsp mixer inputs and clamp to the max | 
					
						
							|  |  |  |     buffer size. | 
					
						
							|  |  |  |   - Add option to disable locale support for JSON number conversion. | 
					
						
							|  |  |  |   - Add support for Astro A20 Gen2. | 
					
						
							|  |  |  |   - Fix some of the test sources, the flags were not set correctly. | 
					
						
							|  |  |  |   - Add camera location as property in libcamera and let the session manager | 
					
						
							|  |  |  |     Generate a localized description. | 
					
						
							|  |  |  |   - Fix some crashes due to wrong vargar types in v4l2 controls. (#2400) | 
					
						
							|  |  |  |   - Improve ALSA resync behaviour. (#2257) | 
					
						
							|  |  |  |   - Add support for Komplete Audio 6 MK2. | 
					
						
							|  |  |  |   - Improve loop cancel while iterating. | 
					
						
							|  |  |  |   - Try not to mix surround channels and AUX channels. Make card with many | 
					
						
							|  |  |  |     ports look better when not using the Pro Audio profile. | 
					
						
							|  |  |  |   - Vulkan filters were added. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - Add LC3plus vendor codec. | 
					
						
							|  |  |  |   - Handle unsupported indicators better. | 
					
						
							|  |  |  |   - Ensure multiple devices on an adapter use different codecs because one | 
					
						
							|  |  |  |     endpoint can only be used by one device at a time. | 
					
						
							|  |  |  |   - Fix bitpool control as a follower. | 
					
						
							|  |  |  |   - Handle bluetooth errors better. | 
					
						
							|  |  |  |   - Speed up bluetooth connection by only waiting for the profiles | 
					
						
							|  |  |  |     supported by the adapter. | 
					
						
							|  |  |  |   - The dummy AVRCP player is disabled by default because it seems to break | 
					
						
							|  |  |  |     more devices than it fixes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pulse-server | 
					
						
							|  |  |  |   - Add initial stream latency property so that devices can be started | 
					
						
							|  |  |  |     with a resonably accurate latency. | 
					
						
							|  |  |  |   - Fix ringbuffer underrun case. (#2366) | 
					
						
							|  |  |  |   - module-native-protocol-tcp now has a auth-anonymous option to give | 
					
						
							|  |  |  |     full access to the clients. | 
					
						
							|  |  |  |   - Report a node as being moved when it is still moving. This improves | 
					
						
							|  |  |  |     compatibility with pasystray. | 
					
						
							|  |  |  |   - Avoid overallocating message memory. | 
					
						
							|  |  |  |   - Don't export NETWORK nodes in zeroconf. (#2384) | 
					
						
							|  |  |  |   - Fix stride for TrueHD and DTSHD passthrough. (#2284) | 
					
						
							|  |  |  |   - Make sure we don't send too small audio fragments. Fixes capture | 
					
						
							|  |  |  |     from multiple tabs in Chrome. (#2418) | 
					
						
							|  |  |  |   - Rework module handling some more. | 
					
						
							|  |  |  |   - Use the new native module-pipe-tunnel for pipe-sink and pipe-source. | 
					
						
							|  |  |  |   - Implement the STREAM_MOVED message when a stream got moved. (#2407) | 
					
						
							|  |  |  |   - Fix a potential segfault when stopping the server and a TCP module | 
					
						
							|  |  |  |     as still loaded. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							|  |  |  |   - Add support for updating sw_params at runtime, mostly the min-avail | 
					
						
							|  |  |  |     param. | 
					
						
							|  |  |  |   - Capture and playback nodes are now assumed to use a different clock and | 
					
						
							|  |  |  |     will activate the adaptive resampler when linked. This assumption is | 
					
						
							|  |  |  |     removed in Pro Audio mode. This provide a better experience out of the | 
					
						
							|  |  |  |     box with most devices. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - Fix setting properties with PIPEWIRE_PROPS again. | 
					
						
							|  |  |  |   - Don't use 64 bits atomic operations for sync_timeout. (#1867) | 
					
						
							|  |  |  |   - Cleanup in error cases was improved, avoiding some crashes. (#2394) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## GStreamer | 
					
						
							|  |  |  |   - Fix pipewiresink in mode=provide. (#1980) | 
					
						
							|  |  |  |   - Share memory into a new buffer in pipewiresrc to avoid buffer corruption. | 
					
						
							|  |  |  |   - Fixes to the source and fd use. | 
					
						
							|  |  |  |   - It is now possible to set client properties as well. (#1573) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-04-25 12:38:37 +02:00
										 |  |  | # PipeWire 0.3.51 (2022-04-28) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Improved graph reconfiguration. | 
					
						
							|  |  |  |   - Extra configuration options for streams and filters with config | 
					
						
							|  |  |  |     rules and environment variable. | 
					
						
							|  |  |  |   - Improve module-pulse-tunnel latency, stability and error recovery. | 
					
						
							|  |  |  |   - pw-top, pw-cli and pw-link improvements. | 
					
						
							|  |  |  |   - Fix a channelmixer upmixing clipping issue. | 
					
						
							|  |  |  |   - The ROC module has seen many improvements. | 
					
						
							|  |  |  |   - Many more bugfixes and improvements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - The graph reconfiguration code was reworked: | 
					
						
							|  |  |  |     * Moved nodes will update the new driver quantum correctly. (#2293) | 
					
						
							|  |  |  |     * Inactive nodes are ignored more. | 
					
						
							|  |  |  |     * Nodes that require a driver are now not scheduled anymore when | 
					
						
							|  |  |  |       they are passive (unused). (#2309) | 
					
						
							|  |  |  |     * Improved performance, the graph is reconfigured with a minimal | 
					
						
							|  |  |  |       amount of changes. | 
					
						
							|  |  |  |   - Method and event argument names were improved. | 
					
						
							|  |  |  |   - A linker garbage collection problem was fixed. (#2292) | 
					
						
							|  |  |  |   - Properties on threads are now implemented. Use common code to | 
					
						
							|  |  |  |     set thread name and add an option to set stack-size. | 
					
						
							|  |  |  |   - Streams and filters always want a driver now. This makes it possible | 
					
						
							|  |  |  |     to just link a playback stream to a capture stream without a driver | 
					
						
							|  |  |  |     and have it work. (#1761). | 
					
						
							|  |  |  |   - Streams and filters can now also have rules in the config file. | 
					
						
							|  |  |  |   - Streams, filters, JACK, ALSA and v4l2 now support PIPEWIRE_PROPS | 
					
						
							|  |  |  |     environment variable to override node properties. | 
					
						
							|  |  |  |   - Add config section extensions. This provides a way for modules to | 
					
						
							|  |  |  |     have specific config to override the default config. | 
					
						
							|  |  |  |   - Handle realloc errors better. | 
					
						
							|  |  |  |   - Improve stream and filter property updates. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Modules | 
					
						
							|  |  |  |   - The pulse-tunnel modules has improved latency management and should | 
					
						
							|  |  |  |     now work a lot better. (#2230) | 
					
						
							|  |  |  |   - Module-loopback, module-echo-cancel, module-filter-chain unload the | 
					
						
							|  |  |  |     module when a stream is destroyed. (#1754) | 
					
						
							|  |  |  |   - Biquads in filter-chain now can have more gain (5->20 dB). | 
					
						
							|  |  |  |   - Documentation updates. Most Wiki content was moved to the source code | 
					
						
							|  |  |  |     inline comments. | 
					
						
							|  |  |  |   - Filter-chain now has a builtin delay line filter. (#2320) | 
					
						
							|  |  |  |   - Filter-chain can now parse the config key correctly in all cases. | 
					
						
							|  |  |  |   - The ROC sink and source saw many improvements. roc-source is now a stream | 
					
						
							|  |  |  |     by default that connects to the default sink. Both modules will try to set | 
					
						
							|  |  |  |     a graph rate. Both modules have an option to select the FEC mode. | 
					
						
							|  |  |  |     The ROC source has lower latency now. (#2331) | 
					
						
							|  |  |  |   - Handle realloc errors better. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## tools | 
					
						
							|  |  |  |   - pw-cat does not have --list-targets anymore, use one of the more | 
					
						
							|  |  |  |     advanced and less buggy tools such as wpctl or pw-cli to list | 
					
						
							|  |  |  |     sinks and sources. | 
					
						
							|  |  |  |   - pw-top has seen many improvements. | 
					
						
							|  |  |  |     * It now has some timeouts to reset the node values to their default | 
					
						
							|  |  |  |       state when unused. | 
					
						
							|  |  |  |     * The man page was improved. | 
					
						
							|  |  |  |     * Invalid timings and errors are displayed in a better way. | 
					
						
							|  |  |  |   - pw-cli and pw-link can now create links between all ports of given nodes. | 
					
						
							|  |  |  |   - pw-cat can now save to other file formats than wav, based on the extension | 
					
						
							|  |  |  |     of the filename. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - The resampler now uses a different internal method for draining. It can | 
					
						
							|  |  |  |     now also handle 0 size buffers as input without draining. | 
					
						
							|  |  |  |   - The channelmixer now uses the front channel averages for FC and LFE. | 
					
						
							|  |  |  |     This avoids clipping and results in much better upmixing. | 
					
						
							|  |  |  |   - ALSA should now work again on 32 bits. (#2271) | 
					
						
							|  |  |  |   - The JSON parser now converts escaped unicode correctly to UTF8. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## bluetooth | 
					
						
							|  |  |  |   - Codec switch improvements when the device is disconnected. (#2334) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pulse-server | 
					
						
							|  |  |  |   - There is a new module-roc-sink-input module, the the PulseAudio equivalent. | 
					
						
							|  |  |  |   - The ROC source and sink-input module now have a much lower latency. | 
					
						
							|  |  |  |   - The ROC module now has an option to select FEC mode. | 
					
						
							|  |  |  |   - Playback and record rate adjustements should work now. (#1159) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - Remove some useless pthread attributes. This makes JACK work in QEMU with | 
					
						
							|  |  |  |     sandboxing enabled. (#2297) | 
					
						
							|  |  |  |   - The buffer_size callback is now only called when something has changed | 
					
						
							|  |  |  |     since the last process() callback or get_buffer_size() method. This | 
					
						
							|  |  |  |     fixes a GStreamer issue and is more in line with what JACK does. (#2324) | 
					
						
							|  |  |  |   - Fix a potential deadlock when the process thread is doing IPC and the | 
					
						
							|  |  |  |     IPC thread is blocking on the data thread. | 
					
						
							|  |  |  |   - Allocation errors in metadata are handled better. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-04-08 13:06:10 +02:00
										 |  |  | # PipeWire 0.3.50 (2022-04-13) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - pw-stream can now report more timing information and can suggest | 
					
						
							|  |  |  |     the optimal number of samples to queue for playback. | 
					
						
							|  |  |  |   - pw-dot now works again.. | 
					
						
							|  |  |  |   - module-pulse-tunnel latency was improved. | 
					
						
							|  |  |  |   - WINE applications using the JACK backend should no longer crash. | 
					
						
							|  |  |  |   - The channelmixer defaults are improved and the muffled sound when | 
					
						
							|  |  |  |     playing back 5.1 and 7.1 material has been fixed. | 
					
						
							|  |  |  |   - Many fixes and improvements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - pw-stream now places a suggested amount of samples in the pw-buffer | 
					
						
							|  |  |  |     for playback. This allows you to remove some places where | 
					
						
							|  |  |  |     spa_io_rate_match was needed to get this information. | 
					
						
							|  |  |  |   - pw-stream has new API to request a timing update. New fields are | 
					
						
							|  |  |  |     added in the timing info, such as number of buffered samples in | 
					
						
							|  |  |  |     the resampler and the number of queued and dequeued buffers. | 
					
						
							|  |  |  |   - pw-stream has support for double controls now. More controls are | 
					
						
							|  |  |  |     exposed such as the Rate control to do adaptive resampling. | 
					
						
							|  |  |  |   - The thread-utils object was moved to the context to avoid some | 
					
						
							|  |  |  |     concurrent use cases that caused crashes. (#2252) | 
					
						
							|  |  |  |   - Deactivating an exported node/stream will now remove the node from | 
					
						
							|  |  |  |     the data-thread immediately so that the process function will not | 
					
						
							|  |  |  |     be called anymore and resources can be safely freed. This could | 
					
						
							|  |  |  |     fix some of the last remaining crashes when streams are stopped. | 
					
						
							|  |  |  |   - PipeWire will now fail to load a module that tries to register | 
					
						
							|  |  |  |     the same export type twice instead of silently doing the wrong | 
					
						
							|  |  |  |     thing. (#2281) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Modules | 
					
						
							|  |  |  |   - Many modules now use the NODE_WANT_DRIVER instead of the | 
					
						
							|  |  |  |     pipewire.dummy NODE_GROUP property. This makes it possible to use | 
					
						
							|  |  |  |     them with any other driver and can avoid resampling in some | 
					
						
							|  |  |  |     cases. | 
					
						
							|  |  |  |   - module-pulse-tunnel now uses an adaptive resampler to keep the | 
					
						
							|  |  |  |     latency under control. Latency should be much better than before | 
					
						
							|  |  |  |     and stay constant even when there are network delays. | 
					
						
							|  |  |  |   - There is now an option for packages to disable building the RTKit | 
					
						
							|  |  |  |     module, which is still built by default for backwards compatibility | 
					
						
							|  |  |  |     reasons. | 
					
						
							|  |  |  |   - A leak was fixed in filter-chain. (#2220) | 
					
						
							|  |  |  |   - Module node names are now made more unique with the pid. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## tools | 
					
						
							|  |  |  |   - pw-cat verbose output has been improved. | 
					
						
							|  |  |  |   - pw-link now has a man page. (#2263) | 
					
						
							|  |  |  |   - pw-reserve now has an -r option to make it issue a RequestRelease | 
					
						
							|  |  |  |     command on the owner of the device. This makes it possible to ask | 
					
						
							|  |  |  |     WirePlumber to close and release a device. | 
					
						
							|  |  |  |   - Fix pw-dot again. It didn't work anymore because of stray done | 
					
						
							|  |  |  |     events that were emitted to notify the client of object serials. | 
					
						
							|  |  |  |     (#2253) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - The channelmixer now has PSD upmixing enabled again. We used the | 
					
						
							|  |  |  |     simple upmixing in the previous release but that just sounds too | 
					
						
							|  |  |  |     aweful to be a good default. (#861) and (#2219) | 
					
						
							|  |  |  |   - The channelmixer will not upmix FC and LFE anymore when upmixing is | 
					
						
							|  |  |  |     explicitly disabled. (#2266) | 
					
						
							|  |  |  |   - The channelmixer will only lowpass filter FC and LFE channels when | 
					
						
							|  |  |  |     they were upmixed. (#2280) | 
					
						
							|  |  |  |   - The defaults of the channelmixer were tweaked a little. There is now | 
					
						
							|  |  |  |     a little bit more bass in the LFE channel and more high fequencies | 
					
						
							|  |  |  |     in the FC channel when upmixing. Also the channel widening has been | 
					
						
							|  |  |  |     disabled by default. | 
					
						
							|  |  |  |   - Locale independent float parsing now uses a more portable solution | 
					
						
							|  |  |  |     with uselocale. | 
					
						
							|  |  |  |   - ALSA will now only allocate a buffer size big enough to hold 4 | 
					
						
							|  |  |  |     times the quantum limit instead of as large as possible. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pulse-server | 
					
						
							|  |  |  |   - Internal cleanups in handling of modules. | 
					
						
							|  |  |  |   - A quirk to force s16 sample formats for teams-insider has been added. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - The data-loop is now started in activate and stopped in deactivate. | 
					
						
							|  |  |  |     This makes the data-loop respect any custom thread functions you | 
					
						
							|  |  |  |     configure. This also makes WINE apps using the JACK backend work. | 
					
						
							|  |  |  |     (#1495). | 
					
						
							|  |  |  |   - Port sorting was improved/fixed. (#2260) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-29 17:28:11 +02:00
										 |  |  | # PipeWire 0.3.49 (2022-03-29) | 
					
						
							| 
									
										
										
										
											2022-03-28 10:31:48 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Sample rate switching should work again. | 
					
						
							|  |  |  |   - pw-dot can now use the output of pw-dump to render a graph. | 
					
						
							|  |  |  |   - Bluetooth A2DP streaming was improved that would reduce stuttering on | 
					
						
							|  |  |  |     some devices. | 
					
						
							|  |  |  |   - A JACK bug was fixed that would sometimes make it impossible to add more | 
					
						
							|  |  |  |     tracks in Ardour. (#1714) | 
					
						
							|  |  |  |   - Many bugfixes and improvements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - Fix a potential crash when NULL params were configured. | 
					
						
							|  |  |  |   - Add some simple functional tests to avoid some recent regressions. Improve | 
					
						
							|  |  |  |     the test framework for this as well. | 
					
						
							|  |  |  |   - Improvements to the poll loop to avoid some use-after-free scenarios. | 
					
						
							|  |  |  |   - Fix samplerate switching again. | 
					
						
							|  |  |  |   - setlocale is not called anymore from the pipewire library. This should be | 
					
						
							|  |  |  |     called by the application. (#2223) | 
					
						
							|  |  |  |   - pw_init() and pw_deinit() can now be nested and called multiple times. | 
					
						
							|  |  |  |   - pw_stream will now report the resampler delay in the pw_time.queued field. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## modules | 
					
						
							|  |  |  |   - module-filter-chain now supports arbitrary many properties and will use | 
					
						
							|  |  |  |     property hints to assign them the right type. | 
					
						
							|  |  |  |   - The ROC modules now accept a sink/source_properties parameter. | 
					
						
							|  |  |  |   - The module-rt can now also be built without RT-Kit support. | 
					
						
							|  |  |  |   - module-echo-cancel can now use a fraction to specify the delay for more | 
					
						
							|  |  |  |     precise control. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - The channelmixer will now do upmixing by default and will not use | 
					
						
							|  |  |  |     normalization. It will also use a simple upmixing algorithm that duplicates | 
					
						
							|  |  |  |     channels by default. A more interesting upmix method is also available (PSD) | 
					
						
							|  |  |  |     but needs to be enabled manually. (#861) | 
					
						
							|  |  |  |   - Add SSE optimized (de)interleave functions for 32 bits samples with and | 
					
						
							|  |  |  |     without byteswap. | 
					
						
							|  |  |  |   - JSON parsing of empty strings will now give an invalid number instead of | 
					
						
							|  |  |  |     0. | 
					
						
							|  |  |  |   - JSON numbers are now parsed and serialized in a locale independent way so | 
					
						
							|  |  |  |     that , and . are not mixed up. | 
					
						
							|  |  |  |   - The resampler will now report the resample delay and queued samples as the | 
					
						
							|  |  |  |     extra delay. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## tools | 
					
						
							|  |  |  |   - pw-cat will read more dsf files correctly and will not crash at the end. | 
					
						
							|  |  |  |   - pw-top now has a man page. | 
					
						
							|  |  |  |   - pw-dot can now use the output of pw-dump to render a graph. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## bluetooth | 
					
						
							|  |  |  |   - Improve interactions with oFono. | 
					
						
							|  |  |  |   - Fix recovery with slow connections. | 
					
						
							|  |  |  |   - Improve frame size of AptX-ll. | 
					
						
							|  |  |  |   - A2DP can now use any quantum and will flush packets in smaller chunks | 
					
						
							|  |  |  |     when needed to adapt. This improves stuttering in some cases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pulse-server | 
					
						
							|  |  |  |   - The server configuration can now be placed in pulse.properties section, | 
					
						
							|  |  |  |     which also makes it possible to have custom overrides. | 
					
						
							|  |  |  |   - Implement FIX_ flags for capture as well. | 
					
						
							|  |  |  |   - Small fixes and improvements in module loading. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - Clear the last error before executing a new action or else we could end up | 
					
						
							|  |  |  |     with error from a previous action. This causes some problems in Ardour where | 
					
						
							|  |  |  |     adding a track would fail after some time. (#1714) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-03-02 11:23:55 +01:00
										 |  |  | # PipeWire 0.3.48 (2022-03-03) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Fix IEC958 passthrough again. | 
					
						
							|  |  |  |   - Fix pulse-server crashes when playing a sample. | 
					
						
							|  |  |  |   - Support for more a more advanced upmixing algorithm. | 
					
						
							|  |  |  |   - filter-chain now supports arbitrary many ports. | 
					
						
							|  |  |  |   - Fix multichannel support in WINE. (with new WirePlumber). | 
					
						
							|  |  |  |   - Many bugfixes and improvements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - The work queue is now created in the context so we can fail early and | 
					
						
							|  |  |  |     avoid further error checking in various places. | 
					
						
							|  |  |  |   - Fix a potential use after free with threaded loops. | 
					
						
							|  |  |  |   - The protocol now has a message footer. This is used to pass around | 
					
						
							|  |  |  |     global state such as the last registered object serial number. This can | 
					
						
							|  |  |  |     be used to detect when a client tries to bind to old (but reused) | 
					
						
							|  |  |  |     object ids. This avoids some races in the session manager but also | 
					
						
							|  |  |  |     when binding objects. | 
					
						
							|  |  |  |   - The zero-denormals CPU flag is now not touched anymore unless explicitly | 
					
						
							|  |  |  |     selected by the user. Denormals are avoided in filter-chain now in | 
					
						
							|  |  |  |     software. If the zero-denormals are now only configured in the data | 
					
						
							|  |  |  |     thread. This should fix issues with luajit. (#2160) | 
					
						
							|  |  |  |   - Configuration parsing will not actually fail on errors. | 
					
						
							|  |  |  |   - pw-top now correctly clips unicode characters. | 
					
						
							|  |  |  |   - Many places now use a dynamic POD builder to support arbitrary large | 
					
						
							|  |  |  |     property sets. | 
					
						
							|  |  |  |   - pw-stream now support PropInfo parameters so that they can announce | 
					
						
							|  |  |  |     custom properties. | 
					
						
							|  |  |  |   - Serial number are now also set on metadata and session-manager objects. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - audioadapter is now smarter when trying to fixate the format. It will | 
					
						
							|  |  |  |     use the PortConfig format to fill in any wildcards. This results in | 
					
						
							|  |  |  |     the least amount of conversions when the stream can handle it. It also | 
					
						
							|  |  |  |     is part of a fix (also requires a session manager fix) for WINE | 
					
						
							|  |  |  |     multichannel support. (#876). | 
					
						
							|  |  |  |   - Fix 5.1 to 2 channels mixing. It was using the volume of the stereo | 
					
						
							|  |  |  |     pair on all channels. | 
					
						
							|  |  |  |   - Fix some weird volume issues when a source is capturing and | 
					
						
							|  |  |  |     channelmixing. | 
					
						
							|  |  |  |   - Add stereo to 7.1 upmixing. | 
					
						
							|  |  |  |   - The channelmix parameters can be changed at runtime now. | 
					
						
							|  |  |  |   - Many improvements to the upmixing algorithms. Rear channels are now | 
					
						
							|  |  |  |     constructed from the ambient sound and can have delay and phase shift | 
					
						
							|  |  |  |     applied to them to improve spacialization. The stereo channels can | 
					
						
							|  |  |  |     be filtered so that the dialog is more concentrated in the center | 
					
						
							|  |  |  |     channel. (#861) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## modules | 
					
						
							|  |  |  |   - Module X11 bell received cleanups and improvements. | 
					
						
							|  |  |  |   - The module now has a private method to schedule unload later. This | 
					
						
							|  |  |  |     simplifies cleanup in many modules. | 
					
						
							|  |  |  |   - module-filter-chain now handles arbitrary many ports and control | 
					
						
							|  |  |  |     ports. (#2179) | 
					
						
							|  |  |  |   - Fix a bug in RAOP where it was reading from the wrong port. (#2183) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pulse-server | 
					
						
							|  |  |  |   - Nodes with the DONT_MOVE property should fail with -EINVAL when | 
					
						
							|  |  |  |     they are moved. | 
					
						
							|  |  |  |   - Fix a segfault when playing a sample. (#2151) | 
					
						
							|  |  |  |   - The _FIX flags in pulse-server also now ignore the configured | 
					
						
							|  |  |  |     sample format, just like pulseaudio does. (#876) | 
					
						
							|  |  |  |   - Fix IEC958 passthrough again. It got accidentally broken since | 
					
						
							|  |  |  |     0.3.45 with a fix for another issue. (#1442) | 
					
						
							|  |  |  |   - Fix module-null-sink device.description. (#2166) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - Don't try to connect HSP/HFP when no backend is available. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-02-18 09:27:44 +01:00
										 |  |  | # PipeWire 0.3.47 (2022-02-18) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a quick emergency release to fix some severe | 
					
						
							|  |  |  | problems with the previous release. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Fixes a bug in pulse-server that caused cached notifications | 
					
						
							|  |  |  |     to play multiple times. (#2142) | 
					
						
							|  |  |  |   - Removed check and warnings to catch leaked listeners on the | 
					
						
							|  |  |  |     proxy. This might access invalid memory and cause infinite | 
					
						
							|  |  |  |     loops in older wireplumber. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-02-13 17:21:56 +01:00
										 |  |  | # PipeWire 0.3.46 (2022-02-17) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Fix a critical bug in pipewire-pulse buffer size handling that made some | 
					
						
							|  |  |  |     apps (MuseScore, ... ) stutter. | 
					
						
							|  |  |  |   - Fix a critical bug where devices would not show when the kernel was | 
					
						
							|  |  |  |     compiled without VERBOSE_PROCSFS. | 
					
						
							|  |  |  |   - JACK clients will now use lock-quantum by default. This makes sure that | 
					
						
							|  |  |  |     all dynamic quantum changes are disabled while a JACK app is running. | 
					
						
							|  |  |  |     The only way to force a quantum chance is through a JACK app or with | 
					
						
							|  |  |  |     the metadata. | 
					
						
							|  |  |  |   - Almost all limits on number of ports, clients and nodes are removed. | 
					
						
							|  |  |  |   - A Dummy fallback sink is now automatically created when there are no | 
					
						
							|  |  |  |     other sinks. This avoids stalling browsers. | 
					
						
							|  |  |  |   - Sound sharing with Zoom should work better. A new WirePlumber release | 
					
						
							|  |  |  |     might be required. | 
					
						
							|  |  |  |   - Many more fixes and improvements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - Update docs with new config overrides. | 
					
						
							|  |  |  |   - The rule matching logic was moved to config and code is now shared with | 
					
						
							|  |  |  |     pulse-server and JACK. | 
					
						
							|  |  |  |   - Add new Romanian translation. | 
					
						
							|  |  |  |   - When a quantum is forced with metadata, any node that asked to lock-quantum | 
					
						
							|  |  |  |     is ignored so that the quantum change can happen. | 
					
						
							|  |  |  |   - Fix a bug where a mixer was removed twice, leading to potential memory | 
					
						
							|  |  |  |     corruption. | 
					
						
							|  |  |  |   - The port limits on nodes and filters are now removed. Some code was | 
					
						
							|  |  |  |     simplified. | 
					
						
							|  |  |  |   - Fix a potential leak because listeners where removed while they could be | 
					
						
							|  |  |  |     emitted. | 
					
						
							|  |  |  |   - Improve context.exec and avoid zombie processes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Modules | 
					
						
							|  |  |  |   - The RAOP module now has a default latency of 2 seconds, like PulseAudio. | 
					
						
							|  |  |  |   - The echo-cancel module now uses the plugin loader to load the backends. | 
					
						
							|  |  |  |     This makes it possible to add custom, out of tree, echo cancel plugins. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Tools | 
					
						
							|  |  |  |   - Improve help of pw-link. | 
					
						
							|  |  |  |   - Output to stdout and error to stderr. Use setlinebuf for stdout to improve | 
					
						
							|  |  |  |     piping between apps. (#2110) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - Improve removing sources when dispatching. Also improve performance now | 
					
						
							|  |  |  |     that a destroy loop can be removed. (#2114) | 
					
						
							|  |  |  |   - Fix an fd leak in the logger when logging to a file. | 
					
						
							|  |  |  |   - Improve loop enter/leave checks and support recursive loops. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pulse-server | 
					
						
							|  |  |  |   - Clamp various buffer attributes to the max length. Fixes some issues | 
					
						
							|  |  |  |     with various applications. (#2100) | 
					
						
							|  |  |  |   - Module properties are now remapped correctly from their pulseaudio variant | 
					
						
							|  |  |  |     to the PipeWire ones. | 
					
						
							|  |  |  |   - Fix module index in introspect. Use the right index when loaded from our | 
					
						
							|  |  |  |     internal modules. (#2101) | 
					
						
							|  |  |  |   - Improve argument parsing and node.description. (#2086) | 
					
						
							|  |  |  |   - The sink-index should now be filled in correctly when playing a sample. | 
					
						
							|  |  |  |     (#2129) | 
					
						
							|  |  |  |   - module-always-sink is now implemented and loaded by default. (#1838) | 
					
						
							|  |  |  |   - Add support for loading some modules only once. | 
					
						
							|  |  |  |   - Module load and unload now does extra sync to make it appear synchronous, | 
					
						
							|  |  |  |     like in PulseAudio. This improves sounds sharing in Zoom. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							|  |  |  |   - Fix critial bug where alsa devices would not show when the kernel was | 
					
						
							|  |  |  |     compiled without VERBOSE_PROCFS. | 
					
						
							|  |  |  |   - Some corner cases were fixed in the ALSA timing code. When the capture node | 
					
						
							|  |  |  |     is follower, it will now not try to read too much data and xrun but it will | 
					
						
							|  |  |  |     instead produce a cycle of silence. | 
					
						
							|  |  |  |   - Various fixes and improvements to make ALSA devices resync to the driver | 
					
						
							|  |  |  |     more quickly and accurately. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - Add an option to name the defauld device as `system` to improve | 
					
						
							|  |  |  |     compatibility with some applications, | 
					
						
							|  |  |  |   - Use lock-quantum by default. This makes sure that all dynamic quantum | 
					
						
							|  |  |  |     changes are disabled while a JACK app is running. The only way to force | 
					
						
							|  |  |  |     a quantum chance is through a JACK app or with the metadata. | 
					
						
							|  |  |  |   - It is now possible to do IPC calls from the data thread. Note that this | 
					
						
							|  |  |  |     is a very bad idea but required for compatibility with JACK2. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## GStreamer | 
					
						
							|  |  |  |   - GStreamer sink will now set a default channelmap to make it possible to  | 
					
						
							|  |  |  |     remap to the channel layout of the device. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-02-02 21:39:48 +01:00
										 |  |  | # PipeWire 0.3.45 (2022-02-03) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Zoom, telegram and other apps should be able to play sound again. | 
					
						
							|  |  |  |   - Implement a better way to force and lock JACK buffersize. | 
					
						
							|  |  |  |   - Default sink and source names and properties are improved. | 
					
						
							|  |  |  |   - The config loader can now load and merge fragments in conf.d directories | 
					
						
							|  |  |  |     for easier user configuration of config files. | 
					
						
							|  |  |  |   - Many small bug fixes and improvements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - pw-cli can now also send Commands to nodes. This can be used to Suspend | 
					
						
							|  |  |  |     a device, for example. | 
					
						
							|  |  |  |   - The eventfd was removed from loops and invoke is now used to stop the loop, | 
					
						
							|  |  |  |     this saves an fd. | 
					
						
							|  |  |  |   - New Alpine CI target to test musl builds, various build fixes. | 
					
						
							|  |  |  |   - Add force-quantum and force-rate properties. | 
					
						
							|  |  |  |   - The config loader can now load and merge fragments in conf.d directories. | 
					
						
							|  |  |  |     (#207) | 
					
						
							|  |  |  |   - resource error methods can be called without a resource and then just | 
					
						
							|  |  |  |     log an error message. | 
					
						
							|  |  |  |   - link-factory can now also work from the config. (#2095) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## modules | 
					
						
							|  |  |  |   - module-simple-protocol has better argument parsing and can handle | 
					
						
							|  |  |  |     channelmap now. (#2068) It's also possible to configure latency and | 
					
						
							|  |  |  |     rate. | 
					
						
							|  |  |  |   - The native protocol now does extra checks for invalid data. (#2070) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							|  |  |  |   - TI2902 chips as found in various Behringer cards should have inputs | 
					
						
							|  |  |  |     again. | 
					
						
							|  |  |  |   - Better handling of busy devices in udev, retry when the inotify close | 
					
						
							|  |  |  |     event is emited. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - plugins now handle alignment properly and only expect the max alignment | 
					
						
							|  |  |  |     required for the CPU. (#2074) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - SBC-XQ is now enabled for the JBL Endurance RUN BT headset. | 
					
						
							|  |  |  |   - Support for non-hexadecimal XAPL version strings to improve compatibility. | 
					
						
							|  |  |  |   - Use HCI commands again to probe the adapter msbc capability. This improves | 
					
						
							|  |  |  |     compatibility with some adapters. (#2030) | 
					
						
							|  |  |  |   - Set the right startup volume. | 
					
						
							|  |  |  |   - Better A2DP source idle handling. | 
					
						
							|  |  |  |   - Fix a timer bug in SCO sink that could cause busy looping. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pulse-server | 
					
						
							|  |  |  |   - A playback issue when the tlength > maxlength was fixed. (#2069) This | 
					
						
							|  |  |  |     affected Zoom and other applications. | 
					
						
							|  |  |  |   - The STREAM_BUFFER_ATTR command is now implemented. | 
					
						
							|  |  |  |   - Module names are improved. (#2076) | 
					
						
							|  |  |  |   - Many small fixes and improvements. | 
					
						
							|  |  |  |   - Fix a pavucontrol crash with invalid channels. (#1442) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - Use the new force-quantum and force-rate properties in the JACK API to | 
					
						
							|  |  |  |     switch quantum and ensure it can't change for the lifetime of the JACK | 
					
						
							|  |  |  |     app. (#2079) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-24 12:43:26 +01:00
										 |  |  | # PipeWire 0.3.44 (2022-01-27) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - It is now possible to run a minimal PipeWire server without a session | 
					
						
							|  |  |  |     manager, enough to run JACK clients. | 
					
						
							|  |  |  |   - The maximum buffer size is now configurable and can be larger than | 
					
						
							|  |  |  |     the previously hardcoded limit of 8192 samples. When using high sample | 
					
						
							|  |  |  |     rates, the larger buffer size can avoid xruns. | 
					
						
							|  |  |  |   - The default maximum latency was reduced from 170ms to 42ms. This should | 
					
						
							|  |  |  |     improve overall latency for application that ask for a large latency, | 
					
						
							|  |  |  |     such as notifications. | 
					
						
							|  |  |  |   - Better JACK compatibility. Patchbays should now get less confused about | 
					
						
							|  |  |  |     ports appearing and disappearing. | 
					
						
							|  |  |  |   - Fix some bluetooth crashes. | 
					
						
							|  |  |  |   - Fix some races in ALSA device detection. | 
					
						
							|  |  |  |   - Many bug fixes and improvements all over the place. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - Bump the meson requirement to 0.59.0. | 
					
						
							|  |  |  |   - pw-top now reports correct times for filter-chain and loopback. | 
					
						
							|  |  |  |   - max-quantum is now also scaled with the rate. A new quantum-limit | 
					
						
							|  |  |  |     property was added as a hard limit for the quantum. This makes it | 
					
						
							|  |  |  |     possible to configure for larger than 8192 buffer sizes. Note | 
					
						
							|  |  |  |     than many JACK applications have a hardcoded 8192 limit. (#1931) | 
					
						
							|  |  |  |   - The max-quantum was reduced to 2048, This gives a 42ms default | 
					
						
							|  |  |  |     latency. (#1908) | 
					
						
							|  |  |  |   - pw-filter can now return a NULL buffer from _get_dsp_buffer(). | 
					
						
							|  |  |  |   - Add a PIPEWIRE_RATE and PIPEWIRE_QUANTUM env variable to set the | 
					
						
							|  |  |  |     graph rate and the graph quantum and rate respectively. | 
					
						
							|  |  |  |   - Fix a potential file descriptor leak in the connection. | 
					
						
							|  |  |  |   - A new minimal.conf file was added to demonstrate a static setup | 
					
						
							|  |  |  |     of a daemon that doesn't require a session manager and is able to | 
					
						
							|  |  |  |     run JACK applicaions. | 
					
						
							|  |  |  |   - Nice levels are now only changed on the servers, not the clients. | 
					
						
							|  |  |  |   - Add an option to suspend nodes when idle. | 
					
						
							|  |  |  |   - Make it possible to avoid quantum and rate changes with | 
					
						
							|  |  |  |     pw-metadata. This is essential in a locked down system. | 
					
						
							|  |  |  |   - Handle mixer port errors better and fail to create the link instead | 
					
						
							|  |  |  |     of silently not working. | 
					
						
							|  |  |  |   - Nodes that are moved to a driver now have all the linked nodes moved | 
					
						
							|  |  |  |     as well. This makes it possible to run some graphs without a | 
					
						
							|  |  |  |     driver, such as paplay -> zita-j2n. | 
					
						
							|  |  |  |   - pw-cli and pw-dump can now also list objects by name, serial and | 
					
						
							|  |  |  |     object.path using glob style pattern matching. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## modules | 
					
						
							|  |  |  |   - filter-chain can now also configure parameters by index. | 
					
						
							|  |  |  |   - Fix the client name of module-protocol-simple. (#2017) | 
					
						
							|  |  |  |   - module-rtkit was merged into module-rt. This makes it easier to | 
					
						
							|  |  |  |     ship a default config that works on more systems by default. | 
					
						
							|  |  |  |   - module-adapter can now configure the adapter node from the config. | 
					
						
							|  |  |  |     Previously, this was a task only performed by the session manager. | 
					
						
							|  |  |  |   - module-metadata can now also create metadata object from the | 
					
						
							|  |  |  |     config file. | 
					
						
							|  |  |  |   - The ROC module should now work again. (#2045) | 
					
						
							|  |  |  |   - An X11-bell module was added to handle X11 bell events. (#1668) | 
					
						
							|  |  |  |   - filter-chain and loopback modules now have better unique default | 
					
						
							|  |  |  |     names for the streams, which makes it possible to save and restore | 
					
						
							|  |  |  |     their volumes independently. (#1983) | 
					
						
							|  |  |  |   - module-echo-cancel now has properties to control the delay and | 
					
						
							|  |  |  |     buffer size. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							|  |  |  |   - The monitor names are now correctly parsed. | 
					
						
							|  |  |  |   - The default period size for batch devices is limited now to avoid | 
					
						
							|  |  |  |     large latency. | 
					
						
							|  |  |  |   - The unused min/max-latency properties were removed. | 
					
						
							|  |  |  |   - Internal latency is now also configurable with params at runtime. | 
					
						
							|  |  |  |   - The udev rule for TI2902 was removed because it causes problems. | 
					
						
							|  |  |  |   - Fix a race where some devices would sometimes be missing. (#2046) | 
					
						
							|  |  |  |   - Add some more timeouts to work around a race in udev device | 
					
						
							|  |  |  |     permission changes when switching VTs. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - Fix potential infinite loop in audioconvert. | 
					
						
							|  |  |  |   - The spa-resample tools can now also use optimized implementations. | 
					
						
							|  |  |  |   - Fix a potential crash in resampler. (#1994) | 
					
						
							|  |  |  |   - audioconvert can now also handle F64 formats. (#1990) | 
					
						
							|  |  |  |   - The channelmixer now does normalization by default to avoid clipping | 
					
						
							|  |  |  |     when downmixing is active. | 
					
						
							|  |  |  |   - The channelmixer will now generate LFE channels when the lfe_cutoff | 
					
						
							|  |  |  |     frequency is set, even when upmix is disabled. | 
					
						
							|  |  |  |   - The channelmixer will now always generate FC when the target has it. | 
					
						
							|  |  |  |   - Adapter now reports latency correctly, even after linking the monitor | 
					
						
							|  |  |  |     ports. | 
					
						
							|  |  |  |   - Reduce memory usage and preallocated memory in some of the | 
					
						
							|  |  |  |     audioconvert nodes. | 
					
						
							|  |  |  |   - Many properties are now exposed in adapter, such as the resample | 
					
						
							|  |  |  |     quality. | 
					
						
							|  |  |  |   - The resampler and channelmixer can now be disabled. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## V4L2 | 
					
						
							|  |  |  |   - pw-v4l2 now also works for ffplay. (#2029) | 
					
						
							|  |  |  |   - Take product names from udev now that the kernel returns a generic | 
					
						
							|  |  |  |     name. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - The jack pkgconfig file now has the `jack_implementation=pipewire` | 
					
						
							|  |  |  |     variable to be able to distinguish jack implementations. (#1666) | 
					
						
							|  |  |  |   - jconvolver now starts correctly again. (#1989) | 
					
						
							|  |  |  |   - The object.serial is now used for the port_id. This makes it easier | 
					
						
							|  |  |  |     to track old objects in the cache. | 
					
						
							|  |  |  |   - Add a dummy jacknet implementation. (#2043) | 
					
						
							|  |  |  |   - A bug in the port allocation was fixed that would make it impossible | 
					
						
							|  |  |  |     to allocate ports at some point. (#1714) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - Bluetooth profiles are now saved properly by the session manager. | 
					
						
							|  |  |  |   - Improved profile detections, increased timeouts for slow devices. | 
					
						
							|  |  |  |   - Implement HFP call indicator for improved compatibility. | 
					
						
							|  |  |  |   - Handle the case where bluez does not set the adapter or address | 
					
						
							|  |  |  |     properties on the device instead of crashing. | 
					
						
							|  |  |  |   - Improved support for setting the profile from the session manager. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pulse-server | 
					
						
							|  |  |  |   - Monitor sources now have the device.class=monitor for better | 
					
						
							|  |  |  |     compatibility. | 
					
						
							|  |  |  |   - Behaviour after seeking is improved. The algorithm for requesting | 
					
						
							|  |  |  |     bytes from the client was simplified and improved. (#1981) | 
					
						
							|  |  |  |   - module-ladspa-sink implements the control argument now. (#1987) | 
					
						
							|  |  |  |   - A potential memory leak in the message queue was fixed. (#1840) | 
					
						
							|  |  |  |   - Use the object.serial for the pulseaudio object index. The index is | 
					
						
							|  |  |  |     not supposed to be reused and this would cause problems with some | 
					
						
							|  |  |  |     clients. | 
					
						
							|  |  |  |   - Servers should now again be able to listen in IPv4. (#2047) | 
					
						
							|  |  |  |   - module-x11-bell was added. (#1668) | 
					
						
							|  |  |  |   - There is now support for per-application quirks and properties in | 
					
						
							|  |  |  |     the pipewire-pulse.conf file. Per-application latency and buffering | 
					
						
							|  |  |  |     properties can also be configured. | 
					
						
							|  |  |  |   - Fix a regression in telegram sounds not playing. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-01-05 12:13:36 +01:00
										 |  |  | # PipeWire 0.3.43 (2022-01-05) | 
					
						
							| 
									
										
										
										
											2022-01-04 16:28:49 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Flatpak apps such as Ardour can now remove links again. | 
					
						
							|  |  |  |   - Many fixes to pulse-server. Memory usage should be improved. Some | 
					
						
							|  |  |  |     crashes are fixed. Underrun handling should work better. Better | 
					
						
							|  |  |  |     compatibility with GStreamer based applications after seeking. | 
					
						
							|  |  |  |   - Many of the samplerate and quantum changes bugs in previous releases | 
					
						
							|  |  |  |     were fixed. This fixes some issues where the microphone would fail | 
					
						
							|  |  |  |     to work. | 
					
						
							|  |  |  |   - Many more small fixes and improvements all over the place. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - Quantum and rate changes are now applied immediately when the driver | 
					
						
							|  |  |  |     is idle. This avoids setting the driver in the previous samplerate. | 
					
						
							|  |  |  |     (#1913) | 
					
						
							|  |  |  |   - Object destruction now does not need write permissions anymore. This | 
					
						
							|  |  |  |     restriction needs some more work. (#1920) | 
					
						
							|  |  |  |   - When we reposition, start a sync operation. This fixes a problem | 
					
						
							|  |  |  |     in Ardour when seeking. (#1907) | 
					
						
							|  |  |  |   - Require meson 0.56.0 | 
					
						
							|  |  |  |   - Make the align property in BUFFER_PARAM optional. We now only set this | 
					
						
							|  |  |  |     if the plugin has specific requirements and we default to the CPU | 
					
						
							|  |  |  |     largest alignment requirement. | 
					
						
							|  |  |  |   - pw-record will now also list monitors and streams as possible targets. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## modules | 
					
						
							|  |  |  |   - Improve LV2 plugin support in filter-chain. Add support for Worker and | 
					
						
							|  |  |  |     Options. | 
					
						
							|  |  |  |   - The loopback module now has a unique media.name to make it possible | 
					
						
							|  |  |  |     for the session manager to restore unique volume settings. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - Improve sample rate for EAC3 streams, some clients scale it while | 
					
						
							|  |  |  |     others don't so use some heuristics to make things work better. | 
					
						
							|  |  |  |     (#1902) | 
					
						
							|  |  |  |   - Allocate ports dynamically in audioconvert. This avoids using larger | 
					
						
							|  |  |  |     memory blocks of preallocated memory that confuses the allocator. | 
					
						
							|  |  |  |     (#1840) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							|  |  |  |   - Merge the latest pulseaudio UCM improvements. (#1849) | 
					
						
							|  |  |  |   - Fixes for selecting the sample rate. (#1892) | 
					
						
							|  |  |  |   - Improve latency on USB devices by scaling the period size based on | 
					
						
							|  |  |  |     the desired quantum when the device is opened. | 
					
						
							|  |  |  |   - Add api.alsa.period-num to configure the amount of periods to use | 
					
						
							|  |  |  |     in the device. Some devices have lower latency when a small value | 
					
						
							|  |  |  |     is forced. (#1473) | 
					
						
							|  |  |  |   - Allow multi-rate by default. In previous versions cards could only | 
					
						
							|  |  |  |     be opened in one samplerate to avoid bugs in pre 5.16 kernels. This | 
					
						
							|  |  |  |     however caused other problems so the default was removed. | 
					
						
							|  |  |  |   - Fix a bug where a card was not freed correctly. | 
					
						
							|  |  |  |   - Fix a bug in the alsa boundary check that could hang the alsa-plugin | 
					
						
							|  |  |  |     for a long time. | 
					
						
							|  |  |  |   - The ALSA plugin now has a parameter to configure the allowed | 
					
						
							|  |  |  |     samplerates. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - Improve handling of monitor nodes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - Codecs now have a priority. This should improve codec selection. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pulse-server | 
					
						
							|  |  |  |   - The stream FIX_ flags are now implemented. (#1912) | 
					
						
							|  |  |  |   - Improve flushing and draining behaviour. Short samples will now | 
					
						
							|  |  |  |     play correctly. (#1549) | 
					
						
							|  |  |  |   - Fix a crash when enumerating the formats. (#1928) | 
					
						
							|  |  |  |   - Track quantum changes and update the amount of required buffering | 
					
						
							|  |  |  |     accordingly. This improves forced quantum handling. (#1930) | 
					
						
							|  |  |  |   - Improve handling of channels > 32. | 
					
						
							|  |  |  |   - Handle the case where a module is destroyed before it could be | 
					
						
							|  |  |  |     completely loaded. | 
					
						
							|  |  |  |   - Fixes some issues when samples were removed while they were playing. | 
					
						
							|  |  |  |     (#1953) | 
					
						
							|  |  |  |   - Fix some issues in module-zeroconf-publish. | 
					
						
							|  |  |  |   - Fix some memory leaks in module-roc. | 
					
						
							|  |  |  |   - Add command access control. This avoids execution of commands without | 
					
						
							|  |  |  |     proper authentication. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-12-16 09:17:48 +01:00
										 |  |  | # PipeWire 0.3.42 (2021-12-16) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a quick emergency release to fix some severe | 
					
						
							|  |  |  | problems with the previous release. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Fixes a bug in pulse-server underrun handling that broke qemu | 
					
						
							|  |  |  |     and orca. | 
					
						
							|  |  |  |   - A fix was added to pulse-server to handle quantum changes | 
					
						
							|  |  |  |     gracefully. | 
					
						
							|  |  |  |   - Fix module-echo-cancel again. | 
					
						
							|  |  |  |   - Fix a bug where the bluetooth headset capture was producing | 
					
						
							|  |  |  |     noise. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-30 13:12:45 +01:00
										 |  |  | # PipeWire 0.3.41 (2021-12-13) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Improved compatibility for flatpaks. Flatpaks with newer PipeWire | 
					
						
							|  |  |  |     version can connect to an older server in all cases. | 
					
						
							|  |  |  |   - A new RAOP module was added to stream to Apple Airplay devices. | 
					
						
							|  |  |  |   - OBS can now capture from the monitor devices again when using | 
					
						
							|  |  |  |     WirePlumber. | 
					
						
							|  |  |  |   - Improved JACK compatibility. Improved stability in Carla and Ardour | 
					
						
							|  |  |  |     when changing buffer size. Improved latency calculations and | 
					
						
							|  |  |  |     playback latency in Ardour. | 
					
						
							|  |  |  |   - Improved pulse-server handling of underruns and buffer size changes. | 
					
						
							|  |  |  |   - Many bugfixes and improvements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - The systemd service files now have better names. | 
					
						
							|  |  |  |   - client.access permission checks are improved. | 
					
						
							|  |  |  |   - Fix some memory leaks in error paths. | 
					
						
							|  |  |  |   - Objects now have a global serial number that is unique for the | 
					
						
							|  |  |  |     lifetime of the server. | 
					
						
							|  |  |  |   - Make clock.rate, clock.allowed-rates and clock.quantum | 
					
						
							|  |  |  |     runtime tunable parameters with the settings metadata. | 
					
						
							|  |  |  |   - Add some additional memory checks in client-node to avoid | 
					
						
							|  |  |  |     sending invalid memory to clients. (#1859) | 
					
						
							|  |  |  |   - Improve buffer memory allocation. If one of the nodes is a | 
					
						
							|  |  |  |     remote node, ensure we only use memory that can be shared. | 
					
						
							|  |  |  |   - Version checks when binding to objects is removed. This means | 
					
						
							|  |  |  |     that newer clients can now bind to older servers, which is | 
					
						
							|  |  |  |     a typical case for a flatpak. | 
					
						
							|  |  |  |   - A bug in the latency calculations was fixed where it would in | 
					
						
							|  |  |  |     some cases report the wrong minumum latency. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## modules | 
					
						
							|  |  |  |   - module-echo-cancel has voice-detection enabled now. | 
					
						
							|  |  |  |   - module-raop-sink and module-raop-discover to stream audio to | 
					
						
							|  |  |  |     an Apple Airplay device. | 
					
						
							|  |  |  |   - module-filter-chain now has preliminary support for LV2 | 
					
						
							|  |  |  |     plugins. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - The audio resampler now has improved buffer size calculations. | 
					
						
							|  |  |  |     In some cases it was too small and would cause distortions. | 
					
						
							|  |  |  |   - More checks are done when doing volume changes so that the | 
					
						
							|  |  |  |     channelmap is correct. | 
					
						
							|  |  |  |   - Audioadapter now exposes most config options with params so that | 
					
						
							|  |  |  |     they can be adjusted at runtime. | 
					
						
							|  |  |  |   - The resampler can now calculate the expected input buffer size | 
					
						
							|  |  |  |     before receiving the first buffer, which avoids some confusion | 
					
						
							|  |  |  |     when starting streams. | 
					
						
							|  |  |  |   - Support was added for some 10bit video formats. | 
					
						
							|  |  |  |   - MONO channel handling was improved. | 
					
						
							|  |  |  |   - Most plugins now set a clock name and this is configurable where | 
					
						
							|  |  |  |     it makes sense. The clock.system.monotonic clock name is used | 
					
						
							|  |  |  |     for most plugins that use the system clock for timing. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pulse-server | 
					
						
							|  |  |  |   - implement module-raop-discover | 
					
						
							|  |  |  |   - Use STREAM_CAPTURE_SINK property when capturing from a monitor | 
					
						
							|  |  |  |     source to better inform the session manager. This fixes some | 
					
						
							|  |  |  |     issues where OBS would capture from the microphone instead of | 
					
						
							|  |  |  |     the output monitor. | 
					
						
							|  |  |  |   - Limit the amount of cache messages to 16MB and don't add large | 
					
						
							|  |  |  |     memory blocks to the cache. This should fix some excessive | 
					
						
							|  |  |  |     memory usage that people reported. | 
					
						
							|  |  |  |   - Fix a potential memory leak when cleaning up a client. | 
					
						
							|  |  |  |   - Do some additional checks to avoid buffer overruns. | 
					
						
							|  |  |  |   - Improve recovery from underruns better. (#1857) This improves | 
					
						
							|  |  |  |     seeking in gnome-music. | 
					
						
							|  |  |  |   - Improve recovery when the quantum is forced larger that the | 
					
						
							|  |  |  |     stream configured latency. | 
					
						
							|  |  |  |   - The prebuf state is now handled correctly. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - A per type object cache is now implemented. This ensures that | 
					
						
							|  |  |  |     port objects remain valid for a longer time because many | 
					
						
							|  |  |  |     JACK applications inspect objects after they are destroyed. | 
					
						
							|  |  |  |     This improves catia/carla compatibility. | 
					
						
							|  |  |  |   - Recompute the latencies when the buffer-size changes. Fix some | 
					
						
							|  |  |  |     cases where we would end up with negative latencies. | 
					
						
							|  |  |  |   - Handle regcomp errors to avoid some crashes later. | 
					
						
							|  |  |  |   - Latency calculations are improved a lot. | 
					
						
							|  |  |  |   - More care is taken to not call a process callback while a buffer | 
					
						
							|  |  |  |     size change is pending. This fixes some crashes in Carla, which | 
					
						
							|  |  |  |     expect that all clients are paused when one handles the buffersize | 
					
						
							|  |  |  |     callback. | 
					
						
							|  |  |  |   - Loopback links to a client are now handled correctly and without | 
					
						
							|  |  |  |     latency. This fixes playback latency in ardour6 (#1839) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							|  |  |  |   - ALSA devices now keep track of the samplerate of the card and | 
					
						
							|  |  |  |     ensure that all PCM use the same rate. This is a workaround for | 
					
						
							|  |  |  |     a kernel bug that is fixed in 5.16. | 
					
						
							|  |  |  |   - Refactor the ALSA plugin a little. | 
					
						
							|  |  |  |   - The ALSA plugin now reports correct delay for a capture PCM. (#1697) | 
					
						
							|  |  |  |   - The ALSA nodes now expose all config options with params that can be | 
					
						
							|  |  |  |     changed at runtime. | 
					
						
							|  |  |  |   - The ALSA node has a configurable clock name. Adaptive resampling to | 
					
						
							|  |  |  |     match clock rates is avoided when the driver has the same clock | 
					
						
							|  |  |  |     name as the ALSA node. This can be used to link alsa devices together | 
					
						
							|  |  |  |     with a word clock. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-27 11:58:25 +02:00
										 |  |  | # PipeWire 0.3.40 (2021-11-11) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Producers and consumers can now incrementally negotiate a format | 
					
						
							|  |  |  |     by narrowing down the options. This can be used to select an optimal | 
					
						
							|  |  |  |     combination of format and modifiers. | 
					
						
							|  |  |  |   - Driver nodes such as the consumer of a headless compositor can now | 
					
						
							|  |  |  |     throttle the speed based on a new trigger_done event. | 
					
						
							|  |  |  |   - Headless compositors can now signal a damage event to consumers | 
					
						
							|  |  |  |     to start the processing of the graph. | 
					
						
							|  |  |  |   - Compatibility improvements in JACK. | 
					
						
							|  |  |  |   - Draining and resuming is now working correctly in pulse and alsa. | 
					
						
							|  |  |  |   - Many bugfixes and improvements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - Many BSD fixes. | 
					
						
							|  |  |  |   - clang compilation fixes. | 
					
						
							|  |  |  |   - Fix map implementation on big-endian machines. | 
					
						
							|  |  |  |   - Improve tracking of param changes in pw-stream. | 
					
						
							|  |  |  |   - Add support for renegotiation. With this change, producer and | 
					
						
							|  |  |  |     consumer can incrementally renegotiate a format until it is fixed. | 
					
						
							|  |  |  |     This will be used to do complex negotiation of DRM modifiers. | 
					
						
							|  |  |  |     (#1732). | 
					
						
							|  |  |  |   - Add a trigger-done event in the stream. This can be used to know | 
					
						
							|  |  |  |     when processing of the complete graph has finished after issuing | 
					
						
							|  |  |  |     a trigger_process() and it can be used to throttle processing. | 
					
						
							|  |  |  |   - Add a RequestProcess node event and command. This can be used by | 
					
						
							|  |  |  |     non-driver nodes to suggest to a driver to start processing. One | 
					
						
							|  |  |  |     case is where a compositor can emit this event as a result of a | 
					
						
							|  |  |  |     screen update to let the headless compositor start an update. | 
					
						
							|  |  |  |   - Fix zeroconf sample format. | 
					
						
							|  |  |  |   - pw-mon outputs to stderr now and has colors. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - Fix compilation on ppc and armv7. | 
					
						
							|  |  |  |   - Fix port type check for ALSA seq midi ports so that they are not | 
					
						
							|  |  |  |     falsely listed as hardware. | 
					
						
							|  |  |  |   - Fix crash when running SSE code on unsupported HW. (#1775) | 
					
						
							|  |  |  |   - The libcamera plugin was rewritten. It now supports hotplug, | 
					
						
							|  |  |  |     format enumeration and an easier to read codebase. | 
					
						
							|  |  |  |   - Fix compatibility some more for cards with 64 channels. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pulse-server | 
					
						
							|  |  |  |   - Flush data in pause in combine-sink to avoid stray audio fragments. | 
					
						
							|  |  |  |   - Fix a race where not all objects were removed correctly. | 
					
						
							|  |  |  |   - The latency calculations and setup was improved to more closely | 
					
						
							|  |  |  |     match pulseaudio behaviour. PULSE_LATENCY_MSEC should now resemble | 
					
						
							|  |  |  |     pulseaudio more closely. (#1769) | 
					
						
							|  |  |  |   - The drained reply is now sent only once and new data will be | 
					
						
							|  |  |  |     accepted once the drain completes. | 
					
						
							|  |  |  |   - Fix a potential crasher bug where the stream started processing | 
					
						
							|  |  |  |     before the setup was completed. | 
					
						
							|  |  |  |   - The server will now drop the client connections when the pipewire | 
					
						
							|  |  |  |     connection is lost. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - Rework the jack_port_get_buffer() method to return the same memory | 
					
						
							|  |  |  |     when called multiple times during the process() callback. This makes | 
					
						
							|  |  |  |     things work on a new Hydrogen. (#1748) | 
					
						
							|  |  |  |   - Add an option to disable showing the monitor ports. | 
					
						
							|  |  |  |   - JACK ports are now sorted per node/client and port_id. This should | 
					
						
							|  |  |  |     more closely match JACK behaviour and avoid random port order. | 
					
						
							|  |  |  |     (#1780) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## v4l2 | 
					
						
							|  |  |  |   - Fix v4l2 LD_PRELOAD script. | 
					
						
							|  |  |  |   - Make sure we destroy the proxy when the global is destroyed. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							|  |  |  |   - _prepare should exit the draining state. (#1467) | 
					
						
							|  |  |  |   - Fix the precision of the _delay function by taking into account | 
					
						
							|  |  |  |     the amount of queued samples are the correct samplerate. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-10-14 10:47:51 +02:00
										 |  |  | # PipeWire 0.3.39 (2021-10-21) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible with previous | 
					
						
							|  |  |  | 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - media-session is now moved into a separate module to speed up its | 
					
						
							|  |  |  |     deprecation in favour of WirePlumber. | 
					
						
							|  |  |  |   - There is now an LD_PRELOAD v4l2 emulation library to run some existing | 
					
						
							|  |  |  |     v4l2 applications on top of PipeWire. | 
					
						
							|  |  |  |   - Filter-chains should now flush out remaining samples when paused. There | 
					
						
							|  |  |  |     is now also the option to let a filter-chain drain so that long filters | 
					
						
							|  |  |  |     such as reverbs can fade out properly. | 
					
						
							|  |  |  |   - Stability and compatibility improvements in JACK apps. | 
					
						
							|  |  |  |   - Better Bluetooth compatibility with more devices. | 
					
						
							|  |  |  |   - libcamera plugin improvements. | 
					
						
							|  |  |  |   - Many bugfixes and improvements all over the map. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - Fix compilation on ARM. | 
					
						
							|  |  |  |   - Log topics are added to most modules. | 
					
						
							|  |  |  |   - Documentation updates. Many improvements to the layout. Reorganisation | 
					
						
							|  |  |  |     of the modules and groups. | 
					
						
							|  |  |  |   - Share a work queue for all links and nodes. This removes the need for | 
					
						
							|  |  |  |     a separate eventfd per link and per node. | 
					
						
							|  |  |  |   - Catch errors in the map implementation. | 
					
						
							|  |  |  |   - Add option to compile without dbus support. | 
					
						
							|  |  |  |   - Fix biquad frequency. It was using the wrong sample rate. | 
					
						
							|  |  |  |   - Fix a potential crash when destroying nodes, in some cases the node | 
					
						
							|  |  |  |     would not be deactivated properly. | 
					
						
							|  |  |  |   - Add some more helpers for dealing with properties and their values. | 
					
						
							|  |  |  |   - Implement flush and reset on virtual sinks/sources. | 
					
						
							|  |  |  |   - Make it possible to let virtual sinks/filter-chains run and drain | 
					
						
							|  |  |  |     after being idle. | 
					
						
							|  |  |  |   - Fix a bug where the quantum could exceed the maximum because it was | 
					
						
							|  |  |  |     scaled with the sample rate. | 
					
						
							|  |  |  |   - Fix channel_map parsing in module-zeroconf-discover so that the remote | 
					
						
							|  |  |  |     channel map is used. | 
					
						
							|  |  |  |   - pw-stream errors emitted on the proxy are reported but not fatal | 
					
						
							|  |  |  |     any more. They are usually used by the session manager to signal status | 
					
						
							|  |  |  |     to the client but otherwise does not really cause an error on the | 
					
						
							|  |  |  |     client. | 
					
						
							|  |  |  |   - Links now also store the output and input node id in the global | 
					
						
							|  |  |  |     properties so that applications can parse and use them regardless of | 
					
						
							|  |  |  |     how the link was made. (#1723) | 
					
						
							|  |  |  |   - pw-stream and pw-filter now have an event to notify commands. | 
					
						
							|  |  |  |   - The echo-cancel module can now operate on larger quantums. | 
					
						
							|  |  |  |   - pw-cat now uses the right metadata to find the default devices in | 
					
						
							|  |  |  |     --list-targets. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## media-session | 
					
						
							|  |  |  |   - Don't try to remix unpositioned streams when linking. This ensures | 
					
						
							|  |  |  |     that linking to Pro-Audio nodes does not remix the stream channels | 
					
						
							|  |  |  |     but links them as they are, one by one. | 
					
						
							|  |  |  |   - media-session is now moved to a separate module to accelerate its | 
					
						
							|  |  |  |     deprecation in favour of WirePlumber. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA | 
					
						
							|  |  |  |   - Many libcamera improvements, handle MemFd buffers, handle errors | 
					
						
							|  |  |  |     gracefully. | 
					
						
							|  |  |  |   - Small improvements to make interface fall-backs easier to implement. | 
					
						
							|  |  |  |   - Add support to enable flush-to-zero and denormals-are-zero to avoid | 
					
						
							|  |  |  |     high CPU usage when dealing with denormals. | 
					
						
							|  |  |  |   - AUX13 channels are no longer reported as AUX12. (#1727) | 
					
						
							|  |  |  |   - Devices with more than 32 channels in Pro-Audio mode now only | 
					
						
							|  |  |  |     uses AUX channels. | 
					
						
							|  |  |  |   - Improve windowing function of the resampler to reduce aliasing and | 
					
						
							|  |  |  |     improve the quality. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - Port connect callbacks will not only be emitted after the port | 
					
						
							|  |  |  |     has negotiated buffers, which improves compatibility with | 
					
						
							|  |  |  |     applications that try to use the port right after the callback | 
					
						
							|  |  |  |     (jack_midi_latency_test). | 
					
						
							|  |  |  |   - Fix crash when midi ports were removed and being monitored, like | 
					
						
							|  |  |  |     in Ardour. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pulse-server | 
					
						
							|  |  |  |   - The pulse tunnel will now use the specified format/rate/channels. | 
					
						
							|  |  |  |   - Improve lookup of default source and fall back to the monitors when | 
					
						
							|  |  |  |     no sources are available. | 
					
						
							|  |  |  |   - Mark some nodes as network nodes so that we can set the NETWORK flag | 
					
						
							|  |  |  |     correctly. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## GStreamer | 
					
						
							|  |  |  |   - The GStreamer element not releases the buffers in the stream again in | 
					
						
							|  |  |  |     all cases so that they can be reused by other streams. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## v4l2 | 
					
						
							|  |  |  |   - Add a v4l2 LD_PRELOAD library to emulate v4l2 system calls on top of | 
					
						
							|  |  |  |     PipeWire. This is tested with firefox and GStreamer and is known to | 
					
						
							|  |  |  |     not work with Chrome. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - AAC compatibility improvements. | 
					
						
							|  |  |  |   - Disable hardware volume for "Tribit MAXSound Plus" and | 
					
						
							|  |  |  |     "SoundCore mini". | 
					
						
							|  |  |  |   - Add quirk to disable faststream. Disable faststream on "FiiO BTR3". | 
					
						
							|  |  |  |   - Add a dummy AVRCP player to improve compatibility with some devices. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-30 09:27:25 +02:00
										 |  |  | # PipeWire 0.3.38 (2021-09-30) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a quick bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Topic based logging was added to improve debugging. | 
					
						
							|  |  |  |   - An off-by-one error was fixed in the audio resampler that could | 
					
						
							|  |  |  |     cause distortion when downsampling. | 
					
						
							|  |  |  |   - Various bluetooth compatibility improvements. | 
					
						
							|  |  |  |   - More fixes and improvements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - module-pulse-tunnel now has better default latency to make it work | 
					
						
							|  |  |  |     better in more cases. There is also an option to configure the | 
					
						
							|  |  |  |     desired latency. | 
					
						
							|  |  |  |   - pw-cli now has readline support. | 
					
						
							|  |  |  |   - Topic based logging was added. Log lines can now be filtered by | 
					
						
							|  |  |  |     topic using wildcards. This should improve debugging. | 
					
						
							|  |  |  |   - The systemd service files should now have better descriptions. | 
					
						
							|  |  |  |   - Fix a crash in module-zeroconf-discover when unloading. | 
					
						
							|  |  |  |   - Fix a crash in filter-chain when using unaligned memory. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							|  |  |  |   - Sync the udev rules and profiles with pulseaudio. | 
					
						
							|  |  |  |   - Fix a memory leak. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA plugins | 
					
						
							|  |  |  |   - An off-by-one error was fixed in the resampler that could cause | 
					
						
							|  |  |  |     distortion when downsampling. (#1646) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - Avoid probing the native backend because it might block for DBus | 
					
						
							|  |  |  |     activation. This fixes some long startup times. | 
					
						
							|  |  |  |   - Fix the kernel version check, 5.14.x kernels should also support | 
					
						
							|  |  |  |     mSBC. | 
					
						
							|  |  |  |   - Fix FastStream microphone support in more cases. | 
					
						
							|  |  |  |   - Add workaround for Intel AX200. | 
					
						
							|  |  |  |   - SCO sink should now also work in follower mode. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PulseAudio server | 
					
						
							|  |  |  |   - Make the service file require a session manager. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-21 12:50:57 +02:00
										 |  |  | # PipeWire 0.3.37 (2021-09-23) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a quick bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Capture and playback is now avoided even more on unavailable | 
					
						
							|  |  |  |     devices. This should fix some issues where an unusable microphone | 
					
						
							|  |  |  |     was selected by default. It should now also again be possible | 
					
						
							|  |  |  |     to select an unavailable device as the default. | 
					
						
							|  |  |  |   - Native DSD audio playback is now supported. pw-cat can now also | 
					
						
							|  |  |  |     play DSF files with the -d option. | 
					
						
							|  |  |  |   - JACK stability improvements with buffer-size and samplerate | 
					
						
							|  |  |  |     changes in some apps. | 
					
						
							|  |  |  |   - Many cleanups and bugfixes all over the place. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - pw-metadata -d does not cause an infinite loop anymore. (#1622) | 
					
						
							|  |  |  |   - Increase some plugin buffer sizes to fix some issues with many | 
					
						
							|  |  |  |     channels. (#1620) | 
					
						
							|  |  |  |   - Protect the global plugin list with a lock. Make sure pw_init() | 
					
						
							|  |  |  |     is locked. Fixes some issues with concurrent ALSA plugin usage. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## media-session | 
					
						
							|  |  |  |   - Unavailable devices can be set as the default again. (#1624) | 
					
						
							|  |  |  |   - Do a better check if a device has available routes and avoid | 
					
						
							|  |  |  |     selecting devices with unavailable routes as default. | 
					
						
							|  |  |  |   - Media-session was moved to its own directory. It used to live | 
					
						
							|  |  |  |     in examples but it is past the example stage and it interferes | 
					
						
							|  |  |  |     with the build options for the real examples. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - The hardware quirk database is now loaded by the plugin instead of | 
					
						
							|  |  |  |     the session manager. This makes it also work with wireplumber. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							|  |  |  |   - The ALSA mixer now handles device removal much better. (#1627) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## libcamera | 
					
						
							|  |  |  |   - Many fixes and improvement to the libcamera plugin. (#1513) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pulse-server | 
					
						
							|  |  |  |   - Improve compatibility with pulseaudio module arguments. | 
					
						
							|  |  |  |   - Parse channel_map arguments in module-loopback. (#1486) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							| 
									
										
										
										
											2021-10-07 14:54:47 +02:00
										 |  |  |   - Delay emitting the samplerate and buffersize callbacks until the | 
					
						
							| 
									
										
										
										
											2021-09-21 12:50:57 +02:00
										 |  |  |     client is active. This fixes some crashes with Carla and other | 
					
						
							|  |  |  |     JACK apps. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-15 09:45:45 +02:00
										 |  |  | # PipeWire 0.3.36 (2021-09-16) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a quick bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - A quick update with mostly only bugfixes and small improvements. | 
					
						
							|  |  |  |   - Capture and playback is now avoided on unavailable devices. This | 
					
						
							|  |  |  |     should fix some issues where an unusable microphone was selected | 
					
						
							|  |  |  |     by default. | 
					
						
							|  |  |  |   - MIDI output should not stop randomly now. | 
					
						
							|  |  |  |   - The GStreamer elements are much improved, cheese should work | 
					
						
							|  |  |  |     a lot better now. | 
					
						
							|  |  |  |   - Virtual sinks and sources should now always show up immediately. | 
					
						
							|  |  |  |   - JACK processing is now delayed until buffersize and samplerate | 
					
						
							| 
									
										
										
										
											2021-10-07 14:54:47 +02:00
										 |  |  |     are emitted. This should improve stability of many JACK apps. | 
					
						
							| 
									
										
										
										
											2021-09-15 09:45:45 +02:00
										 |  |  |   - JACK transport sync is now implemented correctly so that preroll | 
					
						
							|  |  |  |     in bitwig works. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - The module dir environment variable can now contain multiple paths. | 
					
						
							|  |  |  |   - Documentation now contains dot graphs of dependencies. (#1585) | 
					
						
							|  |  |  |   - config min/max/default quantum values are now scaled with the | 
					
						
							|  |  |  |     samplerate. | 
					
						
							|  |  |  |   - A potential crash was fixed where destroyed memory was still used | 
					
						
							|  |  |  |     by a node. This could cause crashes in cheese. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pipewire-media-session | 
					
						
							|  |  |  |   - Only allow passthrough for passthrough formats (S/PDIF) for | 
					
						
							|  |  |  |     now. (#1587) | 
					
						
							|  |  |  |   - Improve bluetooth profile autoswitch. | 
					
						
							|  |  |  |   - Don't try to route audio to nodes with unavailable routes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							|  |  |  |   - Pass the right AES bits to the alsa device when opening an | 
					
						
							|  |  |  |     S/PDIF stream. | 
					
						
							|  |  |  |   - Fix a bug in the MIDI bridge port management logic. When a port | 
					
						
							|  |  |  |     was added and immediately removed, output would stop. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## GStreamer | 
					
						
							|  |  |  |   - The GStreamer source now handles the flushing state correctly. | 
					
						
							|  |  |  |   - All blocking operations now have a 30 seconds timeout, to avoid | 
					
						
							|  |  |  |     infinite locks. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Plugins | 
					
						
							|  |  |  |   - V4l2 Device formats and controls are now passed on the node, just | 
					
						
							|  |  |  |     like with audio devices. | 
					
						
							|  |  |  |   - audioconvert now also exposes the softMute property. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - Improve stability when changing buffer size and sample rate | 
					
						
							|  |  |  |     dynamically by pausing the processing until the application has | 
					
						
							|  |  |  |     handled the callback. | 
					
						
							|  |  |  |   - Improve handling of timebase master. When the master was moved to | 
					
						
							|  |  |  |     another driver, it did not attempt to become a new timebase | 
					
						
							|  |  |  |     master on the new driver. (#1589) | 
					
						
							|  |  |  |   - Implement transport sync to make preroll in bitwig work. (#1589) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pulse-server | 
					
						
							|  |  |  |   - Fix an issue where virtual sinks/sources would not show up | 
					
						
							|  |  |  |     immediately. (#1588) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-09-02 16:36:55 +02:00
										 |  |  | # PipeWire 0.3.35 (2021-09-09) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - S/PDIF passthrough over optical or HDMI is now implemented. | 
					
						
							|  |  |  |   - Some critical fixes to MIDI, draining of streams and various | 
					
						
							|  |  |  |     modules. | 
					
						
							|  |  |  |   - skypeforlinux should work better now after adding it to the | 
					
						
							|  |  |  |     quirks database. | 
					
						
							|  |  |  |   - Bluetooth codecs are now in separate plugins to make it easier | 
					
						
							|  |  |  |     to ship them. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - Drain was fixed in pw-stream. In some cases it would not clear | 
					
						
							|  |  |  |     the drain state correctly. Fixes the issue where speaker-test would | 
					
						
							|  |  |  |     only play one channel. | 
					
						
							|  |  |  |   - Loopback connections to a driver will now activate the driver. This | 
					
						
							|  |  |  |     fixes an issue where MIDI connections between devices or some | 
					
						
							|  |  |  |     applications (puredata) would not get any MIDI messages. (#1559) | 
					
						
							|  |  |  |   - The audiomixer can now mix more formats. Together with the passthrough | 
					
						
							|  |  |  |     improvements this can be used to avoid conversions to/from the DSP | 
					
						
							|  |  |  |     format in some cases. | 
					
						
							|  |  |  |   - Make sure we idle drivers when removing a node from it in all cases. | 
					
						
							|  |  |  |     JACK clients could keep a driver node busy. | 
					
						
							|  |  |  |   - Add new methods to accumulate object info. The old one was difficult | 
					
						
							|  |  |  |     to use when applications need to accumulate multiple changes. | 
					
						
							|  |  |  |   - A new interface to load modules has been added. Plugins can use this | 
					
						
							|  |  |  |     to ask the host (PipeWire) to load spa plugins. | 
					
						
							|  |  |  |   - Increase param buffer size to handle larger params. Nodes with a large | 
					
						
							|  |  |  |     number of channels would sometimes not have properties. (#1574) | 
					
						
							|  |  |  |   - Concurrent link negotiation that caused some links to not work, | 
					
						
							|  |  |  |     is now avoided. This fixes monitor ports in Ardour6. | 
					
						
							|  |  |  |   - Small tweaks to how the quantum and rate are handled when nodes move | 
					
						
							|  |  |  |     between drivers. Make node.lock-quantum work with node.latency | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire modules | 
					
						
							|  |  |  |   - The convolver plugin in filter-chain has been optimized some more. | 
					
						
							|  |  |  |   - The echo-cancel stream properties were improved so that it actually | 
					
						
							|  |  |  |     can remember the streams it links to. (#1557) | 
					
						
							|  |  |  |   - module-pulse-tunnel had the buffer attributes wrong and would cause | 
					
						
							|  |  |  |     high latency with older pulseaudio servers. (#1434) | 
					
						
							|  |  |  |   - module-roc had the properties configured wrongly, which would cause | 
					
						
							|  |  |  |     it to not work at all in most cases. (#1538) | 
					
						
							|  |  |  |   - There is now an example of a 7.1 virtual surround sink using the | 
					
						
							|  |  |  |     hesuvi impulse responses. | 
					
						
							|  |  |  |   - The convolver now supports dirac pulses as the IR. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							|  |  |  |   - UCM config is now cached per device, using up less memory. It also | 
					
						
							|  |  |  |     temporarily works around a problem in alsa-lib that is now being | 
					
						
							|  |  |  |     patched and rolled out. Should stop devices from disappearing when | 
					
						
							|  |  |  |     logging out and back in. (#1553) | 
					
						
							|  |  |  |   - Fix the MIDI clock rate matching. It was too sensitive to small | 
					
						
							|  |  |  |     changes and would spiral out of control and break MIDI rather | 
					
						
							|  |  |  |     quickly. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## pipewire-media-session | 
					
						
							|  |  |  |   - The media session can now save and restore IEC958 (S/PDIF) codecs | 
					
						
							|  |  |  |     for the sinks. | 
					
						
							|  |  |  |   - Passthrough of IEC958 (S/PDIF) content is now possible. If the client | 
					
						
							|  |  |  |     and the sink contain a compatible set of codecs, an exclusive | 
					
						
							|  |  |  |     connection can be made between client and sink to pass the encoded | 
					
						
							|  |  |  |     S/PDIF content directly to the device. | 
					
						
							|  |  |  |   - Use new introspection info update methods to suspend nodes in all | 
					
						
							|  |  |  |     cases. Sometimes, nodes would fail to suspend because the state info | 
					
						
							|  |  |  |     was not evaluated. | 
					
						
							|  |  |  |   - The media session can now work in non-DSP mode, which will try to | 
					
						
							|  |  |  |     avoid any audio conversions between client and device when possible. | 
					
						
							|  |  |  |     But, this will also disable compatibility with JACK applications. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							| 
									
										
										
										
											2021-10-07 14:54:47 +02:00
										 |  |  |   - Bluetooth codecs are now compiled into separate plugins which are | 
					
						
							| 
									
										
										
										
											2021-09-02 16:36:55 +02:00
										 |  |  |     dynamically loaded. This makes it possible to change the plugin | 
					
						
							|  |  |  |     implementation or ship plugins separately without having to recompile | 
					
						
							|  |  |  |     the bluetooth module. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PulseAudio server | 
					
						
							|  |  |  |   - Delay stream create reply until the stream is linked to a sink/source. | 
					
						
							|  |  |  |   - The device-restore extension is now implemented. This makes it possible | 
					
						
							|  |  |  |     to configure the IEC958 (S/PDIF) codecs supported by the sink with | 
					
						
							|  |  |  |     pavucontrol. | 
					
						
							|  |  |  |   - skypeforlinux now uses the same quirks as teams to make the sinks | 
					
						
							|  |  |  |     show up in all cases. This fixes the issue of not being able to hear | 
					
						
							|  |  |  |     the remote end in skypeforlinux. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - Improve catia and carla compatibility by caching objects a little longer | 
					
						
							|  |  |  |     after being removed. (#1531) | 
					
						
							|  |  |  |   - JACK ports now notify the negotiated format correctly. | 
					
						
							|  |  |  |   - A potential deadlock was fixed when multiple threads would perform a | 
					
						
							|  |  |  |     call that would require a roundtrip. | 
					
						
							|  |  |  |   - Improve bufsize callback, it should not be called right after doing | 
					
						
							|  |  |  |     activate() but only when the buffersize changes later. | 
					
						
							|  |  |  |   - Add tweak to disable the process lock. Some older apps might not | 
					
						
							|  |  |  |     expect it. (#1576) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Docs | 
					
						
							|  |  |  |   - man pages are now generated with rst2man. | 
					
						
							|  |  |  |   - DMA-BUF docs were updated. | 
					
						
							|  |  |  |   - Documentation updates. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-20 10:19:49 +02:00
										 |  |  | # PipeWire 0.3.34 (2021-08-26) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Fixes some critical issues with previous release. Such as | 
					
						
							|  |  |  |     devices not showing up and default devices being lost. | 
					
						
							|  |  |  |   - Support for consumer driver streams to make the producer v-sync | 
					
						
							|  |  |  |     to the consumer monitor in a headless compositor setup. | 
					
						
							|  |  |  |   - Improvements to routing of streams. | 
					
						
							|  |  |  |   - Bluetooth battery status support for head-set profile and | 
					
						
							|  |  |  |     using Apple extensions. aptX-LL and FastStream codec support | 
					
						
							|  |  |  |     was added. | 
					
						
							|  |  |  |   - Internal latency of ALSA devices can now be configured. | 
					
						
							|  |  |  |   - A fast convolver was added to the filter-chain to implement | 
					
						
							|  |  |  |     virtual surround sinks or reverbs. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - Add support for streams that are driver nodes for the graph. | 
					
						
							|  |  |  |     This was already possible for source streams but it is now | 
					
						
							|  |  |  |     also possible for playback streams. This can be used to let | 
					
						
							|  |  |  |     a producer v-sync to the consumer monitor in a headless | 
					
						
							|  |  |  |     compositor setup. (#1484) | 
					
						
							|  |  |  |   - State files are now stored in XDG_STATE_HOME instead of | 
					
						
							|  |  |  |     XDG_CONFIG_HOME. They will still be loaded from the config home | 
					
						
							|  |  |  |     if they are not in the new state home, to ease migration. | 
					
						
							|  |  |  |   - Set a driver on inactive nodes to make transport work in xjadeo. | 
					
						
							|  |  |  |     (#1491) | 
					
						
							|  |  |  |   - Fix parsing of filter-chain controls. | 
					
						
							|  |  |  |   - A new FFT based convolver was added to module-filter-chain. It | 
					
						
							|  |  |  |     uses a 0-latency 2 stage convolver with small FFT for the head | 
					
						
							|  |  |  |     and a large FFT for the tail of the convolution. A convolution | 
					
						
							|  |  |  |     can be used to implement IR based reverbs, HRIR surround sound | 
					
						
							|  |  |  |     or other convolution based operations. An example HRIR | 
					
						
							|  |  |  |     virtual surround sound sink has been added as well. | 
					
						
							|  |  |  |   - module-filter-chain was reworked a bit to support more config | 
					
						
							|  |  |  |     options for the plugins. | 
					
						
							|  |  |  |   - Endian conversion and alaw/ulaw formats are now supported for | 
					
						
							|  |  |  |     streams. | 
					
						
							|  |  |  |   - pw-cat will now suggest a samplerate for the graph. | 
					
						
							|  |  |  |   - SPA_PLUGIN_DIR can now search in multiple paths separated with | 
					
						
							|  |  |  |     a ':'. | 
					
						
							|  |  |  |   - Passthrough mode has been worked on and has been partially | 
					
						
							|  |  |  |     merged. S/PDIF definitions have been added and ALSA devices | 
					
						
							|  |  |  |     updated to report and configure S/PDIF formats. The session | 
					
						
							|  |  |  |     manager changes to fully configure and enable passthrough mode | 
					
						
							|  |  |  |     will hopefully be merged next time. | 
					
						
							|  |  |  |   - Fix a race in pw-stream where it would not always emit the | 
					
						
							|  |  |  |     right events. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							|  |  |  |   - Fix volume changed check. It was checking against the wrong | 
					
						
							|  |  |  |     value and this could cause rounding errors. | 
					
						
							|  |  |  |   - The ALSA plugin now also uses RT scheduling. | 
					
						
							|  |  |  |   - Fix the behringer UMC202 usb device id, it was using a generic | 
					
						
							|  |  |  |     TI chip ID that caused problems. | 
					
						
							|  |  |  |   - Fix USB devices that don't show up anymore. Use an ALSA | 
					
						
							|  |  |  |     workaround to fix this. (#1478) | 
					
						
							|  |  |  |   - Add a rule for the new firmware of Sennheiser GSX 1200. | 
					
						
							|  |  |  |   - ALSA sink and source can now use ProcessLatency param to configure | 
					
						
							|  |  |  |     the internal latency. The latencyOffsetNsec property is also | 
					
						
							|  |  |  |     exposed so that the latency can be adjusted in pavucontrol as | 
					
						
							|  |  |  |     well. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## media-session | 
					
						
							|  |  |  |   - Fix a critical issue where the default device was not remembered | 
					
						
							|  |  |  |     anymore when it was removed. | 
					
						
							|  |  |  |   - Fix the issue where some apps need to be restarted when nodes go | 
					
						
							|  |  |  |     away and reappear. | 
					
						
							|  |  |  |   - Improve routing of streams. Streams that have a specific target | 
					
						
							|  |  |  |     set will now be moved to the target when it appears instead of | 
					
						
							|  |  |  |     staying on the fallback. | 
					
						
							|  |  |  |   - Small memory leak fixes. | 
					
						
							|  |  |  |   - Try to switch back to the user selected profile after finishing a | 
					
						
							|  |  |  |     Bluetooth recording. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - Add support for HF indicator 2 battery status. | 
					
						
							|  |  |  |   - Add support for XAPL battery status. | 
					
						
							|  |  |  |   - Set the Communication intended role for HFP profile. | 
					
						
							|  |  |  |   - Enable SBC-XQ by default if not disabled by quirks. | 
					
						
							|  |  |  |   - Fix some potential crashes due to excessive polling. | 
					
						
							|  |  |  |   - Add aptx-LL codec and enable duplex for aptx-LL devices. | 
					
						
							|  |  |  |   - Add FastStream codec. This is a codec that can use a | 
					
						
							|  |  |  |     duplex SBC channel. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PulseAudio server | 
					
						
							|  |  |  |   - Suggests a samplerate for the graph. | 
					
						
							|  |  |  |   - Support for handling S/PDIF (IEC958) formats was added. This will | 
					
						
							|  |  |  |     start working when the session manager supports configuring streams | 
					
						
							|  |  |  |     and nodes in passthrough mode. | 
					
						
							|  |  |  |   - Be smarter when handling devices without a negotiated format | 
					
						
							|  |  |  |     yet so that they are visible as well. This makes virtual | 
					
						
							|  |  |  |     devices show up immediately. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA plugin | 
					
						
							|  |  |  |   - Now suggests a samplerate for the graph. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - The jack.pc file can only be generated with meson >= 0.59.0. When | 
					
						
							|  |  |  |     the jack-devel option is enabled, it will generate an error with | 
					
						
							|  |  |  |     older meson. | 
					
						
							|  |  |  |   - Small stability improvements when connecting/disconnecting in | 
					
						
							|  |  |  |     Ardour. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-08-05 16:19:43 +02:00
										 |  |  | # PipeWire 0.3.33 (2021-08-05) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Better support for virtual sinks/sources for Pro Audio | 
					
						
							|  |  |  |     profile. | 
					
						
							|  |  |  |   - Better DMA-BUF format modifier negotiation. | 
					
						
							|  |  |  |   - Support multiple sample rates in the graph. Not enabled | 
					
						
							|  |  |  |     by default yet. | 
					
						
							|  |  |  |   - Bluetooth can now automatically switch between headset | 
					
						
							|  |  |  |     and audio profile. | 
					
						
							|  |  |  |   - Documentation updates. | 
					
						
							|  |  |  |   - Many improvements and crasher fixes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - Make AUX channels an official channel map, use this for the | 
					
						
							|  |  |  |     PRO audio profile so that we can name the channels. This | 
					
						
							|  |  |  |     make it possible to define virtual sources and sinks for | 
					
						
							|  |  |  |     Pro Audio devices in a more reliable way. | 
					
						
							|  |  |  |   - Fix scheduling of some virtual sinks/sources. (#1407) | 
					
						
							|  |  |  |   - Fix potential corruption of ringbuffer because of multiple | 
					
						
							|  |  |  |     concurrent writers. This might be the cause for many reported | 
					
						
							|  |  |  |     crashes. (#1451) | 
					
						
							|  |  |  |   - Don't place sockets in $HOME. (#1443) | 
					
						
							|  |  |  |   - Improve DMA-BUF negotiation. Add a flag to avoid fixation | 
					
						
							|  |  |  |     of a property so that producers can negotiate more | 
					
						
							|  |  |  |     efficiently. This is used to negotiate DMA-BUF modifiers, | 
					
						
							|  |  |  |     which should make more efficient use of the GPU. (#1084) | 
					
						
							| 
									
										
										
										
											2021-10-07 14:54:47 +02:00
										 |  |  |   - Add support for multiple sample rates. The graph can switch | 
					
						
							| 
									
										
										
										
											2021-08-05 16:19:43 +02:00
										 |  |  |     when IDLE to one of the supported rates. Add an option to | 
					
						
							|  |  |  |     lock the rate as well. This is not enabled by default yet | 
					
						
							|  |  |  |     because of driver bugs that need to be worked around first. | 
					
						
							|  |  |  |   - Add node.lock-quantum property that can be used to lock the | 
					
						
							|  |  |  |     quantum in place. | 
					
						
							|  |  |  |   - Improve latency reporting in the loopback module. | 
					
						
							|  |  |  |   - Make new client-node method to send the peer port id to the | 
					
						
							|  |  |  |     mixer. This can be used to know where the buffers entering the | 
					
						
							|  |  |  |     mixer are coming from. (#1471) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Tools | 
					
						
							|  |  |  |   - pw-top should now also correctly show bluetooth devices. (#1540) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## media-session | 
					
						
							|  |  |  |   - Handle unset of the default node. | 
					
						
							|  |  |  |   - Added a module that can switch the bluetooth profile to headset | 
					
						
							|  |  |  |     profile when a stream wants to record from it. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - Only call the jack callbacks when the client is active. Some | 
					
						
							|  |  |  |     JACK applications don't expect callbacks before the client is | 
					
						
							|  |  |  |     active and crash (x42-dpl). (#1461) | 
					
						
							|  |  |  |   - Emit client unregister event. | 
					
						
							|  |  |  |   - Add per-client match rules in the config file to set app | 
					
						
							|  |  |  |     specific configuration and tweaks. (#1456) | 
					
						
							|  |  |  |   - Use peer_id to implement jack_port_get_buffer() from one of | 
					
						
							|  |  |  |     our peer ports to get the data before it enters the mixer. | 
					
						
							|  |  |  |     Makes the capture monitors work in Ardour6.8. (#1471) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - Add some broken kernel versions to the mSBC blocklist | 
					
						
							|  |  |  |   - Avoid looping and consuming CPU when we can't write to the | 
					
						
							|  |  |  |     BT socket. | 
					
						
							|  |  |  |   - Use libfreeaptx instead of libopenaptx. | 
					
						
							|  |  |  |   - Fix rounding errors in HW volume conversion. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PulseAudio server | 
					
						
							|  |  |  |   - implement module-switch-on-connect to emulate pulseaudio | 
					
						
							|  |  |  |     behaviour of new devices. Some desktop environments expect | 
					
						
							|  |  |  |     this behaviour and break otherwise. | 
					
						
							|  |  |  |   - Fix stream cleanup, make sure the stream is stopped before | 
					
						
							|  |  |  |     destroying it. Might be cause for some of the reported | 
					
						
							|  |  |  |     crashes. | 
					
						
							|  |  |  |   - Update message API to use the JSON format. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Other | 
					
						
							|  |  |  |   - Many documentation updates. | 
					
						
							|  |  |  |   - Many cleanups and small improvements. | 
					
						
							|  |  |  |   - Support the latest libcamera version. (#1435) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-20 13:06:13 +02:00
										 |  |  | # PipeWire 0.3.32 (2021-07-20) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Real-time priority handling for threads was reworked. Freewheeling | 
					
						
							|  |  |  |     will now drop RT priorities to avoid being killed. | 
					
						
							|  |  |  |   - Problems with filter chains and echo-cancel being linked in a loop | 
					
						
							|  |  |  |     was fixed. | 
					
						
							|  |  |  |   - alsamixer should now be able to see the mixer controls again. | 
					
						
							|  |  |  |   - JACK has seen some latency reporting improvements that make Ardour | 
					
						
							|  |  |  |     report latencies correctly. | 
					
						
							|  |  |  |   - Many bugfixes and improvements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - Fix a bug in the neon audio resampler code. | 
					
						
							|  |  |  |   - There is now a node.link-group property to relate linked streams. | 
					
						
							|  |  |  |     this can be used to track the dataflow with coupled streams. | 
					
						
							|  |  |  |   - Fix a crash when recalculating latency on a destroyed port. (#1371) | 
					
						
							|  |  |  |   - Filter chains and other modules that create streams can now also | 
					
						
							|  |  |  |     be added to the daemon config itself. (#1309) | 
					
						
							|  |  |  |   - Fix some potential deadlocks in timerfd. (#1377) | 
					
						
							|  |  |  |   - Feedback links are skipped when recalculating latency to avoid | 
					
						
							|  |  |  |     loops. | 
					
						
							|  |  |  |   - The dummy driver and null-sink now stop the timerfd when following | 
					
						
							|  |  |  |     another driver instead of generating useless graph wakeups. | 
					
						
							|  |  |  |   - rt.limit was increased to 2 seconds. Some applications got killed | 
					
						
							|  |  |  |     because they run lengthy code in the Real-Time thread. (#1344) | 
					
						
							|  |  |  |   - Fix s24_32 to float, it was not sign extending properly. (#1393) | 
					
						
							|  |  |  |   - The performance of the feedback loop check algorithm was improved | 
					
						
							|  |  |  |     a lot, making complex graphs start much much faster. | 
					
						
							|  |  |  |   - The zeroconf publish module now doesn't republish nodes every time | 
					
						
							|  |  |  |     the volume changes. (#1406) | 
					
						
							|  |  |  |   - A potential memory corruption error has been fixed in the loop | 
					
						
							|  |  |  |     that could cause random crashes. | 
					
						
							|  |  |  |   - Mempools can now be created from multiple threads at the same | 
					
						
							|  |  |  |     time. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## media-session | 
					
						
							|  |  |  |   - Loops in coupled streams are now avoided. (#1394) | 
					
						
							|  |  |  |   - Port changes for inactive profiles are ignored now by the | 
					
						
							|  |  |  |     default-route module. (#1403) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							| 
									
										
										
										
											2021-10-07 14:54:47 +02:00
										 |  |  |   - Make sure that alibpref is not part of the device node name because | 
					
						
							| 
									
										
										
										
											2021-07-20 13:06:13 +02:00
										 |  |  |     it is random. (#1362) | 
					
						
							|  |  |  |   - Fixed an off-by-one that could cause midi events to end up with a | 
					
						
							|  |  |  |     wrong timestamp and thus being discarded by some apps. (#1395) | 
					
						
							|  |  |  |   - Fix some memory leaks when destroying a card object. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - Fix some invalid cycle wakeups that could cause JACK application to | 
					
						
							|  |  |  |     run with a 0 buffer size. (#1386) | 
					
						
							|  |  |  |   - JACK can now use rtkit to manage realtime priorities on threads. | 
					
						
							|  |  |  |   - The Real-time priority is dropped when entering freewheel mode to | 
					
						
							|  |  |  |     make sure we don't get killed when using too much CPU. | 
					
						
							|  |  |  |   - jack_recompute_total_latencies() is now implemented, fixing the | 
					
						
							|  |  |  |     latency reporting in Ardour. (#1388) | 
					
						
							|  |  |  |   - Fix some overflows in time calculations. | 
					
						
							|  |  |  |   - Ensure frame_rate in position is never 0. | 
					
						
							|  |  |  |   - Graph callbacks are now emitted as well. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - RTP payload type is now set correctly for aptX, LDAC and SBC, which | 
					
						
							|  |  |  |     should improve compatibility with devices that care about this. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PulseAudio server | 
					
						
							|  |  |  |   - There is now a quirks database to deal with bad clients. The database | 
					
						
							|  |  |  |     is builtin but can be made external later. | 
					
						
							|  |  |  |     - Teams is now lied to and told all sink/sources use s16 samples to make | 
					
						
							|  |  |  |       it show all sinks/sources. | 
					
						
							|  |  |  |     - Firefox is forced to remove the DONT_MOVE flag on capture streams so | 
					
						
							|  |  |  |       that you can move firefox streams with other tools. | 
					
						
							|  |  |  |   - The UNDERFLOW warnings are now made into info log messages to not | 
					
						
							|  |  |  |     spam the log too much. Many application just let things underrun | 
					
						
							|  |  |  |     and PulseAudio did not warn about this either. (#910) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA plugin | 
					
						
							|  |  |  |   - The alsa plugin now uses the right metadata for finding the default | 
					
						
							|  |  |  |     source and sink, which makes the volume controls reappear. (#1384) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Other | 
					
						
							|  |  |  |   - Cleanups in pulse-server and pipewire. | 
					
						
							|  |  |  |   - Documentation additions. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-28 15:31:17 +02:00
										 |  |  | # PipeWire 0.3.31 (2021-06-28) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Fixes for alsa-lib 1.2.5 | 
					
						
							|  |  |  |   - New pulseaudio modules: module-avahi-zeroconf, | 
					
						
							| 
									
										
										
										
											2021-06-29 13:19:53 +02:00
										 |  |  |     module-pipe-source, module-roc-sink, module-roc-source. | 
					
						
							| 
									
										
										
										
											2021-06-28 15:31:17 +02:00
										 |  |  |   - JACK has seen massive stability improvements. Locking | 
					
						
							| 
									
										
										
										
											2021-06-29 13:19:53 +02:00
										 |  |  |     and correctness wrt to callbacks has been reworked. Also | 
					
						
							| 
									
										
										
										
											2021-06-28 15:31:17 +02:00
										 |  |  |     thread priorities have improved. | 
					
						
							|  |  |  |   - Handle various crashes and lockups when running out of file | 
					
						
							|  |  |  |     descriptors. | 
					
						
							|  |  |  |   - Bluetooth now uses a hardware database to disable | 
					
						
							|  |  |  |     non-working features on listed devices. | 
					
						
							|  |  |  |   - Scheduling quantum and rate can now be changed dynamically | 
					
						
							|  |  |  |     with pw-metadata. | 
					
						
							|  |  |  |   - Many bugfixes and improvements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - Improve cleanup of context in error cases. | 
					
						
							|  |  |  |   - There is now a pw-test framework for improved unit tests. | 
					
						
							|  |  |  |   - Improve property serialization to valid JSON. | 
					
						
							|  |  |  |   - Fix some macros to work with better with coverity. | 
					
						
							|  |  |  |   - Metadata permissions are checked now. Clients need the | 
					
						
							|  |  |  |     M permission on an object to be able to set metadata for | 
					
						
							|  |  |  |     it. | 
					
						
							|  |  |  |   - The core metadata object will now remove metadata for | 
					
						
							|  |  |  |     removed objects, the implementor does not need to worry | 
					
						
							|  |  |  |     about that anymore. | 
					
						
							|  |  |  |   - Audioadapter will now follow the rate of the graph with | 
					
						
							|  |  |  |     the resampler adjusting itself dynamically. | 
					
						
							|  |  |  |   - Core now has a metadata implementation helper. A context | 
					
						
							|  |  |  |     will expose a metadata with settings that can be changed | 
					
						
							| 
									
										
										
										
											2021-06-29 13:19:53 +02:00
										 |  |  |     at runtime. This can be used to change the loglevel or | 
					
						
							| 
									
										
										
										
											2021-06-28 15:31:17 +02:00
										 |  |  |     graph quantum and samplerate on the fly. | 
					
						
							|  |  |  |   - An infinite loop was fixed in the audio converter. | 
					
						
							|  |  |  |   - Handle out-of-fds more gracefully. Handle truncated | 
					
						
							|  |  |  |     control data by dropping the client connection. | 
					
						
							|  |  |  |   - Fix profiler crash with many streams. | 
					
						
							|  |  |  |   - Improve latency handling in pw-filter. There is now a | 
					
						
							|  |  |  |     default handler and a ProcessLatency parameter to simplify | 
					
						
							|  |  |  |     latency reporting. | 
					
						
							|  |  |  |   - Latency reporting was improved in devices and streams. | 
					
						
							|  |  |  |   - And example sink/source was added. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							|  |  |  |   - hardware mute and volume are now properties on the | 
					
						
							|  |  |  |     Route param to make things easier. | 
					
						
							|  |  |  |   - More fixes for alsa-ucm 1.2.5. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Tools | 
					
						
							| 
									
										
										
										
											2021-06-29 13:19:53 +02:00
										 |  |  |   - spa-json-dump now properly encodes string and keys. | 
					
						
							| 
									
										
										
										
											2021-06-28 15:31:17 +02:00
										 |  |  |   - pw-dump now shows the correct subject of the metadata. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PulseAudio server | 
					
						
							|  |  |  |   - Ensure the node.description is set, some applications | 
					
						
							|  |  |  |     crash otherwise (TeamSpeak). | 
					
						
							|  |  |  |   - Module loading and unloading was improved. | 
					
						
							|  |  |  |   - module-avahi-zeroconf was implemented. | 
					
						
							|  |  |  |   - module-pipe-source was implemented | 
					
						
							| 
									
										
										
										
											2021-06-29 13:19:53 +02:00
										 |  |  |   - module-roc-sink and module-roc-source was implemented. | 
					
						
							| 
									
										
										
										
											2021-06-28 15:31:17 +02:00
										 |  |  |   - The maximum amount of connections has been limited to 64, | 
					
						
							|  |  |  |     like pulseaudio. | 
					
						
							|  |  |  |   - Handle out-of-fds more gracefully. | 
					
						
							|  |  |  |   - Fix overflow of read/write pointers. | 
					
						
							| 
									
										
										
										
											2021-06-29 13:19:53 +02:00
										 |  |  |   - Source and sink state are now decoupled from the monitor | 
					
						
							| 
									
										
										
										
											2021-06-28 15:31:17 +02:00
										 |  |  |     state and will report IDLE when not playing anything. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## media-session | 
					
						
							|  |  |  |   - Port switching should now happen to/from the port that | 
					
						
							|  |  |  |     actually changed. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							| 
									
										
										
										
											2021-10-07 14:54:47 +02:00
										 |  |  |   - The locking was reviewed. All callbacks are now emitted | 
					
						
							| 
									
										
										
										
											2021-06-28 15:31:17 +02:00
										 |  |  |     from the PipeWire thread with the lock released and | 
					
						
							|  |  |  |     the process function will be disabled for the duration | 
					
						
							|  |  |  |     of the callback. This ensures that no two callbacks are | 
					
						
							|  |  |  |     called at the same time. | 
					
						
							|  |  |  |   - Improve internal consistency and try to never call callbacks | 
					
						
							|  |  |  |     with invalid objects. | 
					
						
							|  |  |  |   - Monitor port can now be accessed with system:monitor_%d | 
					
						
							|  |  |  |   - client threads are now created with SCHED_FIFO and module-rt | 
					
						
							|  |  |  |     is used to create the other RT threads. This should avoid | 
					
						
							|  |  |  |     SIGKILL from RTKit in some cases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - Various bugfixes to improve connections to devices. | 
					
						
							|  |  |  |   - Handle delayed UUID connection. | 
					
						
							|  |  |  |   - There is now a hardware database that can disable features | 
					
						
							|  |  |  |     in listed devices. | 
					
						
							|  |  |  |   - Use libusb to detect availability of mSBC. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							|  |  |  |   - The virtual device name can now also contain a media role. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-09 09:14:11 +02:00
										 |  |  | # PipeWire 0.3.30 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a quick emergency release to fix some severe | 
					
						
							|  |  |  | problems with the previous release. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Recording from a monitor port should work again. | 
					
						
							|  |  |  |   - JACK applications should now be more stable again. | 
					
						
							|  |  |  |   - Freewheeling should not lock up anymore. | 
					
						
							|  |  |  |   - Fix lockups in many pulseaudio apps. | 
					
						
							|  |  |  |   - module-echo-cancel was implemented in pipewire-pulse | 
					
						
							|  |  |  |   - Many other stability fixes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - Improve module path logic. | 
					
						
							|  |  |  |   - Improve logger formatting | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PulseAudio server | 
					
						
							|  |  |  |   - Make sure to pass 64 bits values for time on ARM 32 bits to | 
					
						
							|  |  |  |     avoid protocol errors. | 
					
						
							|  |  |  |   - Avoid a crash when unloading module-combine-sink. | 
					
						
							|  |  |  |   - Avoid overflow in requested bytes, resulting in stalled | 
					
						
							|  |  |  |     audio. | 
					
						
							|  |  |  |   - Implement module-echo-cancel. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Bluetooth | 
					
						
							|  |  |  |   - Handle latency parameters instead of failing. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - Fix locking in many places to avoid deadlocks and crashes. | 
					
						
							|  |  |  |   - Fix port rename. | 
					
						
							|  |  |  |   - Stop freewheeling correctly instead of deadlocking. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-03 12:01:53 +02:00
										 |  |  | # PipeWire 0.3.29 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Latency reporting is now implemented. | 
					
						
							|  |  |  |   - Many documentation updates and cleanups. | 
					
						
							|  |  |  |   - module-combine-sink was added to PulseAudio server. | 
					
						
							|  |  |  |   - Better handling of multichannel input profiles. | 
					
						
							|  |  |  |   - Fix 100% volume issue when monitor suspends or profile | 
					
						
							|  |  |  |     changes in some cases. | 
					
						
							|  |  |  |   - Bugfixes and crashes | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - A new module-rt was added to acquire real-time scheduling | 
					
						
							| 
									
										
										
										
											2021-10-07 14:54:47 +02:00
										 |  |  |     privileges without using RTKit. | 
					
						
							| 
									
										
										
										
											2021-06-03 12:01:53 +02:00
										 |  |  |   - Documentation fixes and updates. Docs are now using a | 
					
						
							|  |  |  |     custom theme. | 
					
						
							|  |  |  |   - There is now a MANDATORY flag on properties that influence | 
					
						
							|  |  |  |     how properties are filtered. | 
					
						
							|  |  |  |   - Filter-chain now parses the LADSPA_PATH correctly when it | 
					
						
							|  |  |  |     contains a colon separated list. | 
					
						
							|  |  |  |   - Move `#pipewire` IRC channel to oftc.net. | 
					
						
							| 
									
										
										
										
											2021-10-07 14:54:47 +02:00
										 |  |  |   - Fix an error where param changes were not emitted in all | 
					
						
							| 
									
										
										
										
											2021-06-03 12:01:53 +02:00
										 |  |  |     cases. | 
					
						
							|  |  |  |   - Implement Latency reporting. Latency values are propagated | 
					
						
							|  |  |  |     through the graph so that each node knows the latency to | 
					
						
							|  |  |  |     the output/input device. Synchronization in pw-stream has | 
					
						
							|  |  |  |     been updated to use this. | 
					
						
							|  |  |  |   - Some more upmix cases are added so that LFE, SIDE and REAR | 
					
						
							|  |  |  |     can be generated from a mono channel as well. | 
					
						
							|  |  |  |   - pw-stream and pw-filter will now emit the process event from | 
					
						
							|  |  |  |     the real-time thread in a safe way, potentially avoiding some | 
					
						
							|  |  |  |     of the harder to debug crashes. | 
					
						
							|  |  |  |   - Fix potential stack overflow with serialize_dict. | 
					
						
							|  |  |  |   - Add PIPEWIRE_NO_CONFIG to run without custom config files. | 
					
						
							|  |  |  |   - The WebRTC echo canceler was added. Next versions will | 
					
						
							|  |  |  |     integrate this better. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PulseAudio server | 
					
						
							|  |  |  |   - module-combine-sink was implemented. | 
					
						
							|  |  |  |   - Fix some segfaults when DBus connections fail. | 
					
						
							|  |  |  |   - Support for listening on IPv6 was added. | 
					
						
							|  |  |  |   - Fix a bug where many flushes could result in requests for too | 
					
						
							|  |  |  |     much data from the client, causing sync, latency and garbled | 
					
						
							|  |  |  |     sound problems after many seeks. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA | 
					
						
							|  |  |  |   - Also probe input paths for multichannel mappings. This makes | 
					
						
							|  |  |  |     multichannel input ports show up in more cases. | 
					
						
							|  |  |  |   - Fix headphones/front volume issue on some cards. | 
					
						
							|  |  |  |   - Fix max volume issue when profile changes. | 
					
						
							|  |  |  |   - Fix issue with UCM local config that was not available when the | 
					
						
							|  |  |  |     device was opened in the server but the UCM was opened by the | 
					
						
							|  |  |  |     session manager. Fixes alsa 1.2.5 compatibility. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## JACK | 
					
						
							|  |  |  |   - Implement latency reporting with the new Latency params. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-19 10:11:36 +02:00
										 |  |  | # PipeWire 0.3.28 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Highlights | 
					
						
							|  |  |  |   - Freewheeling was implemented. This makes it possible to | 
					
						
							|  |  |  |     export projects in ardour. | 
					
						
							|  |  |  |   - A new powerful filter-chain module was added that can | 
					
						
							|  |  |  |     be used to created all kinds of filter-chains from ladspa | 
					
						
							|  |  |  |     and builtin plugins. | 
					
						
							|  |  |  |   - Many more pulseaudio modules are now implemented: | 
					
						
							|  |  |  |     module-ladspa-sink, module-ladspa-source, module-pipe-sink, | 
					
						
							|  |  |  |     module-tunnel-sink, module-tunnel-source, | 
					
						
							|  |  |  |     module-zeroconf-discover | 
					
						
							|  |  |  |   - Fix a bug where devices would not appear after logout/login. | 
					
						
							|  |  |  |   - Fix a bug where the volume was reset to 0 and devices would | 
					
						
							|  |  |  |     have no audio. | 
					
						
							|  |  |  |   - Config files are now installed in the data dir, system | 
					
						
							|  |  |  |     overrides in /etc/pipewire and $HOME are checked first. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PipeWire | 
					
						
							|  |  |  |   - Implement freewheeling for JACK clients | 
					
						
							|  |  |  |   - Add filter-chain module that can be used to construct | 
					
						
							|  |  |  |     arbitrary graphs from ladspa and builtin plugins. | 
					
						
							|  |  |  |   - Add new property to easily set algorithm params | 
					
						
							|  |  |  |   - Add module-pulse-tunnel to tunnel audio to and from | 
					
						
							|  |  |  |     a PulseAudio compatible server. | 
					
						
							|  |  |  |   - Add a avahi zeroconf discover module, create pulse-tunnel | 
					
						
							|  |  |  |     when PulseAudio devices are announced. | 
					
						
							|  |  |  |   - Config files are now installed in the data dir, system | 
					
						
							|  |  |  |     overrides in /etc/pipewire and $HOME are checked first. | 
					
						
							|  |  |  |   - Applications now have their monitor ports named with the | 
					
						
							|  |  |  |     "monitor" prefix to avoid confusion with the output ports. | 
					
						
							|  |  |  |   - LICENSE clarifications. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## GStreamer | 
					
						
							|  |  |  |   - fixes to the pipewiresink plugin. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## SPA plugins | 
					
						
							|  |  |  |   - Fix a bug where the volume was reset to 0 | 
					
						
							|  |  |  |   - Add events to dbus plugin. This can be used to detect dbus | 
					
						
							|  |  |  |     disconnects. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## Media-session | 
					
						
							|  |  |  |   - Handle dbus disconnect. | 
					
						
							|  |  |  |   - Handle device reservation errors. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## PulseAudio server | 
					
						
							|  |  |  |   - Implement module-ladspa-sink and a new PipeWire-only | 
					
						
							|  |  |  |     module-ladspa-source | 
					
						
							|  |  |  |   - Implement module-pipe-sink | 
					
						
							|  |  |  |   - Implement module-tunnel-sink and module-tunnel-source | 
					
						
							|  |  |  |   - Fix a bug with module argument parsing | 
					
						
							|  |  |  |   - Implement module-zeroconf-discover | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ## ALSA plugin | 
					
						
							|  |  |  |   - improve error handling | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-06 10:22:37 +02:00
										 |  |  | PipeWire 0.3.27 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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. | 
					
						
							| 
									
										
										
										
											2021-10-07 14:54:47 +02:00
										 |  |  |   - Stream can now advertise properties and receive property | 
					
						
							| 
									
										
										
										
											2021-05-06 10:22:37 +02:00
										 |  |  |     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 | 
					
						
							| 
									
										
										
										
											2021-10-07 14:54:47 +02:00
										 |  |  |   - GStreamer plugins now advertise handling DMABUF explicitly. This | 
					
						
							| 
									
										
										
										
											2021-05-06 10:22:37 +02:00
										 |  |  |     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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-04-22 11:58:59 +02:00
										 |  |  | PipeWire 0.3.26 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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 | 
					
						
							| 
									
										
										
										
											2021-04-28 20:29:44 +02:00
										 |  |  |   - JACK development files can now optionally be installed. | 
					
						
							| 
									
										
										
										
											2021-04-22 11:58:59 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-04-06 15:51:02 +02:00
										 |  |  | PipeWire 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. | 
					
						
							| 
									
										
										
										
											2021-04-28 20:29:44 +02:00
										 |  |  |   - Many bluetooth improvements and compatibility fixes. | 
					
						
							| 
									
										
										
										
											2021-04-06 15:51:02 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-18 14:50:04 +01:00
										 |  |  | PipeWire 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. | 
					
						
							|  |  |  |   - Fixes for gnome-control-center default sink/source handling. | 
					
						
							|  |  |  |   - More bluetooth compatibility improvements. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - PipeWire improvements | 
					
						
							| 
									
										
										
										
											2021-03-20 15:39:25 +00:00
										 |  |  |   - Implement simple upmixing. | 
					
						
							| 
									
										
										
										
											2021-03-18 14:50:04 +01:00
										 |  |  |   - 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. | 
					
						
							| 
									
										
										
										
											2021-03-20 15:39:25 +00:00
										 |  |  |   - Improvements to how nodes and links are activated. It should | 
					
						
							| 
									
										
										
										
											2021-03-18 14:50:04 +01:00
										 |  |  |     now result in less xruns and cracks/pops. | 
					
						
							| 
									
										
										
										
											2021-03-20 15:39:25 +00:00
										 |  |  |   - meson uses the feature options everywhere now. | 
					
						
							| 
									
										
										
										
											2021-03-18 14:50:04 +01:00
										 |  |  |   - Handle volume remap in the channelmixer. This fixes the channels | 
					
						
							|  |  |  |     on multichannel devices. | 
					
						
							| 
									
										
										
										
											2021-03-20 15:39:25 +00:00
										 |  |  |   - Try to escape invalid JSON string characters. | 
					
						
							| 
									
										
										
										
											2021-03-18 14:50:04 +01:00
										 |  |  |   - 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. | 
					
						
							| 
									
										
										
										
											2021-03-20 15:39:25 +00:00
										 |  |  |   - There is now a config option to enable non-power-of-two quantums. | 
					
						
							| 
									
										
										
										
											2021-03-18 14:50:04 +01:00
										 |  |  |   - Preliminary support for upmixing and generating LFE channels. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Session-manager | 
					
						
							| 
									
										
										
										
											2021-03-20 15:39:25 +00:00
										 |  |  |   - Default nodes are not stored as JSON in the metadata. This | 
					
						
							| 
									
										
										
										
											2021-03-18 14:50:04 +01:00
										 |  |  |     is more readable and introspectable. | 
					
						
							| 
									
										
										
										
											2021-03-20 15:39:25 +00:00
										 |  |  |   - More default-nodes and default-routes improvements. Port | 
					
						
							| 
									
										
										
										
											2021-03-18 14:50:04 +01:00
										 |  |  |     switching should work better now. | 
					
						
							|  |  |  |   - Wait until all devices are scanned before linking clients. | 
					
						
							| 
									
										
										
										
											2021-03-20 15:39:25 +00:00
										 |  |  |   - Fixes some crashes. | 
					
						
							| 
									
										
										
										
											2021-03-18 14:50:04 +01:00
										 |  |  |   - 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 | 
					
						
							| 
									
										
										
										
											2021-03-20 15:39:25 +00:00
										 |  |  |   - Handle NULL in set_default_sink/source to clear the default. | 
					
						
							| 
									
										
										
										
											2021-03-18 14:50:04 +01:00
										 |  |  |   - 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. | 
					
						
							| 
									
										
										
										
											2021-03-20 15:39:25 +00:00
										 |  |  |   - Capture streams can now be moved to monitors with pavucontrol. | 
					
						
							|  |  |  |   - Fixes for crashes. | 
					
						
							| 
									
										
										
										
											2021-03-18 14:50:04 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | - JACK | 
					
						
							| 
									
										
										
										
											2021-03-20 15:39:25 +00:00
										 |  |  |   - 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. | 
					
						
							| 
									
										
										
										
											2021-03-18 14:50:04 +01:00
										 |  |  |   - match system ports in get_ports. | 
					
						
							|  |  |  |   - Improve compatibility with some apps that require a | 
					
						
							|  |  |  |     fixed latency. | 
					
						
							|  |  |  |   - Beginnings of the libjackserver implementation. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-04 16:21:21 +01:00
										 |  |  | PipeWire 0.3.23 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-02-18 11:12:15 +01:00
										 |  |  | PipeWire 0.3.22 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-02-03 15:20:26 +01:00
										 |  |  | PipeWire 0.3.21 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-20 15:54:15 +01:00
										 |  |  | PipeWire 0.3.20 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-01-05 13:39:10 +01:00
										 |  |  | PipeWire 0.3.19 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-12-15 12:45:21 +01:00
										 |  |  | PipeWire 0.3.18 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-26 16:33:29 +01:00
										 |  |  | PipeWire 0.3.17 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-19 16:27:20 +01:00
										 |  |  | PipeWire 0.3.16 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Highlights | 
					
						
							|  |  |  |   - Fix screensharing for old 0.2 clients | 
					
						
							|  |  |  |   - Many pulse-server improvements. There is now a | 
					
						
							| 
									
										
										
										
											2021-03-16 18:09:38 +01:00
										 |  |  |     pipewire-pulse binary that is the preferred solution for | 
					
						
							| 
									
										
										
										
											2020-11-19 16:27:20 +01:00
										 |  |  |     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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-11-04 10:43:40 +01:00
										 |  |  | PipeWire 0.3.15 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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. | 
					
						
							| 
									
										
										
										
											2021-04-28 20:29:44 +02:00
										 |  |  |   - the connection debug category will now also debug pulse | 
					
						
							| 
									
										
										
										
											2020-11-04 10:43:40 +01:00
										 |  |  |     messages. | 
					
						
							|  |  |  |   - Respect the no_remix flag to make the control panel channel | 
					
						
							|  |  |  |     check work. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - ALSA plugin | 
					
						
							|  |  |  |   - implement pause | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-10-30 15:35:26 +01:00
										 |  |  | PipeWire 0.3.14 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-28 16:08:10 +02:00
										 |  |  | PipeWire 0.3.13 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-18 12:02:08 +02:00
										 |  |  | PipeWire 0.3.12 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - PipeWire improvements | 
					
						
							|  |  |  |   * the channelmap converter now handles unknown and strange | 
					
						
							|  |  |  |     channellayouts 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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-09-10 13:13:36 +02:00
										 |  |  | PipeWire 0.3.11 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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 | 
					
						
							| 
									
										
										
										
											2021-04-28 20:29:44 +02:00
										 |  |  |     configure the desired samplerate and period for the app. | 
					
						
							| 
									
										
										
										
											2020-09-10 13:13:36 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | - 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()). | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-18 13:19:12 +02:00
										 |  |  | PipeWire 0.3.10 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-04 14:30:27 +02:00
										 |  |  | PipeWire 0.3.9 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-28 15:20:04 +02:00
										 |  |  | PipeWire 0.3.8 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-21 12:06:39 +02:00
										 |  |  | PipeWire 0.3.7 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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: | 
					
						
							|  |  |  |    1) 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. | 
					
						
							|  |  |  |    2) a part in the session manager that uses the permission | 
					
						
							|  |  |  |       store to manage the permissions of portal managed | 
					
						
							|  |  |  |       clients. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-06-10 11:53:32 +02:00
										 |  |  | PipeWire 0.3.6 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-11 13:35:32 +02:00
										 |  |  | PipeWire 0.3.5 | 
					
						
							| 
									
										
										
										
											2020-04-30 17:55:35 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-11 13:35:32 +02:00
										 |  |  | - 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 | 
					
						
							| 
									
										
										
										
											2020-04-30 17:55:35 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-11 13:35:32 +02:00
										 |  |  | PipeWire 0.3.4 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - A quick update with some important stability fixes. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-04-30 13:30:18 +02:00
										 |  |  | PipeWire 0.3.3 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-26 12:34:54 +01:00
										 |  |  | PipeWire 0.3.2 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is a bugfix release that is API and ABI compatible | 
					
						
							|  |  |  | with previous 0.3.x releases. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-06 19:04:59 +01:00
										 |  |  | PipeWire 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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-20 15:33:31 +01:00
										 |  |  | PipeWire 0.3.0 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-22 20:54:06 +02:00
										 |  |  | The 0.3 release is a major milestone in the development of | 
					
						
							| 
									
										
										
										
											2020-02-20 15:33:31 +01:00
										 |  |  | 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 | 
					
						
							| 
									
										
										
										
											2020-07-22 20:54:06 +02:00
										 |  |  | development files and runtime paths are versioned so that | 
					
						
							| 
									
										
										
										
											2020-02-20 15:33:31 +01:00
										 |  |  | future incompatible changes can be done without breaking | 
					
						
							| 
									
										
										
										
											2020-07-22 20:54:06 +02:00
										 |  |  | existing applications. | 
					
						
							| 
									
										
										
										
											2020-02-20 15:33:31 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-19 20:24:51 +01:00
										 |  |  | PipeWire 0.2.97 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-22 20:54:06 +02:00
										 |  |  | Eighth pre-release for upcoming 0.3: | 
					
						
							| 
									
										
										
										
											2020-02-19 20:24:51 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | - Build fixes | 
					
						
							|  |  |  | - pw-cat improvement: Fix remote name, add midi support | 
					
						
							|  |  |  | - add device subscribe params for completeness | 
					
						
							|  |  |  | - jack and pulseaudio compatibility fixes | 
					
						
							|  |  |  | - Fix a bug in resampler, add quality option, tweaked quality | 
					
						
							|  |  |  |   settings, tested now against https://src.infinitewave.ca/ | 
					
						
							|  |  |  |   testsignals and submitted results for publication. | 
					
						
							|  |  |  | - Fix awkwardness in buffer negotiations, the default number of | 
					
						
							|  |  |  |   buffers was 4 and jack could only handle 2, causing | 
					
						
							|  |  |  |   corruption. Also implement negotiation of Step ranges. | 
					
						
							|  |  |  | - Fix device reservation to work together with pulseaudio, | 
					
						
							|  |  |  |   previously we would block pulseaudio. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-11 16:06:27 +01:00
										 |  |  | PipeWire 0.2.96 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-22 20:54:06 +02:00
										 |  |  | Seventh pre-release for upcoming 0.3: | 
					
						
							| 
									
										
										
										
											2020-02-11 16:06:27 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | - jack: improve compatibility | 
					
						
							|  |  |  | - Fix unit test | 
					
						
							|  |  |  | - Fix license of jack and alsa libs | 
					
						
							|  |  |  | - Make start/stop more threadsafe | 
					
						
							|  |  |  | - Fix rt-kit again, add params to configure things, increase default | 
					
						
							|  |  |  |   soft/hard limits to avoid being killed. | 
					
						
							|  |  |  | - version 0 compatibility improvements, tested with firefox, cheese, | 
					
						
							|  |  |  |   GStreamer and chrome using compat layers. | 
					
						
							|  |  |  | - Fix timing for gstreamer source | 
					
						
							|  |  |  | - Require libspa in pkg-config file | 
					
						
							|  |  |  | - Limit buffers to 16 to support old clients | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-07 09:39:14 +01:00
										 |  |  | PipeWire 0.2.95 | 
					
						
							| 
									
										
										
										
											2019-09-26 16:53:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-22 20:54:06 +02:00
										 |  |  | Sixth pre-release for upcoming 0.3: | 
					
						
							| 
									
										
										
										
											2019-09-26 16:53:05 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-07 09:39:14 +01:00
										 |  |  | - Fix tests for big endian some more | 
					
						
							|  |  |  | - Improve v2 compatibility mode: improve type negotiation and | 
					
						
							|  |  |  |   update_permissions | 
					
						
							|  |  |  | - Workaround for firefox screen sharing | 
					
						
							| 
									
										
										
										
											2019-09-26 16:53:05 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-02-07 09:39:14 +01:00
										 |  |  | PipeWire 0.2.94 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-22 20:54:06 +02:00
										 |  |  | Fifth pre-release for upcoming 0.3: | 
					
						
							| 
									
										
										
										
											2020-02-07 09:39:14 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | - Fix man page names | 
					
						
							|  |  |  | - Fix jack set_sync_timeout | 
					
						
							|  |  |  | - Improve JACK compatibility with apps that cache buffer pointers. | 
					
						
							|  |  |  | - Improve mlock failure warning message, add property to configure | 
					
						
							|  |  |  |   if mlock should be used. | 
					
						
							|  |  |  | - Improve OBJECT_PATH in alsa objects | 
					
						
							|  |  |  | - Install in versioned directory | 
					
						
							|  |  |  | - Add pw-profiler tool | 
					
						
							|  |  |  | - Improve pulseaudio compatibility wrt pa_operations | 
					
						
							|  |  |  | - Thread safety fixes in remote nodes when activating/deactivating | 
					
						
							|  |  |  | - Improve JACK names on duplicates | 
					
						
							|  |  |  | - Add option to ignore failure when loading modules | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.93 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-22 20:54:06 +02:00
										 |  |  | Fourth pre-release for upcoming 0.3: | 
					
						
							| 
									
										
										
										
											2020-02-07 09:39:14 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | - Fix unit tests on 32 bits | 
					
						
							|  |  |  | - Append -pw version to pulse and jack libs. This way we can install | 
					
						
							|  |  |  |   it next to the real libraries and use a symlink to enable it. | 
					
						
							|  |  |  | - Improve jack support by killing threads with pthread_cancel. This | 
					
						
							|  |  |  |   then also remove the eventfd from the data-loop, making it | 
					
						
							|  |  |  |   maybe a little faster. | 
					
						
							|  |  |  | - Fix jack_client_close() compatibility | 
					
						
							|  |  |  | - Fix some segfaults in the session manager | 
					
						
							|  |  |  | - Improve debug of protocol messages | 
					
						
							|  |  |  | - Add examples options | 
					
						
							|  |  |  | - Don't fail when alsa is not found | 
					
						
							|  |  |  | - Fix some compiler warnings with a new spa_aprintf() helper. | 
					
						
							|  |  |  | - Add pw-cat, the simple audio playback/record tool | 
					
						
							|  |  |  | - Rename pipewire tools to pw- prefix | 
					
						
							|  |  |  | - Add improve pw-cli object dump feature | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.92 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-07-22 20:54:06 +02:00
										 |  |  | Third pre-release for upcoming 0.3: | 
					
						
							| 
									
										
										
										
											2020-02-07 09:39:14 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | - Improve old version check some more | 
					
						
							|  |  |  | - Fix unit tests on little/big endian | 
					
						
							|  |  |  | - Fix compilation when CPU has no optimisations | 
					
						
							|  |  |  | - Install jack and pulse libraries | 
					
						
							|  |  |  | - Handle -EACCESS in flatpack access module | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.91 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | It is mostly a bugfix release to make the new version install and | 
					
						
							|  |  |  | run correctly in distros. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Install session manager, fix path to find the session manager | 
					
						
							|  |  |  | - Fix alsa buffer reuse | 
					
						
							|  |  |  | - Small fixes for crasher bugs | 
					
						
							|  |  |  | - Implement pw_core_set_paused() to suspend/resume even | 
					
						
							|  |  |  |   processing. This can be used when using multiple connections | 
					
						
							|  |  |  |   to a daemon and one needs to pause one connection until the | 
					
						
							|  |  |  |   other one completes an action. Used by session managers. | 
					
						
							|  |  |  | - Improve old version check | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.90 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is the first pre-release of the 0.3 version. It consists of a | 
					
						
							|  |  |  | major rewrite and is not API or ABI compatible with the 0.2 | 
					
						
							|  |  |  | branch. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-26 16:53:05 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.7 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This is mostly a bugfix release and is API/ABI compatible with | 
					
						
							|  |  |  | previous 0.2 versions. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Work is ongoing in the work branch that features a completely new | 
					
						
							|  |  |  | scheduling method that will enable audio support. Some of these | 
					
						
							|  |  |  | API changes are backported in this branch. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - 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) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 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 | 
					
						
							| 
									
										
										
										
											2021-04-28 20:29:44 +02:00
										 |  |  | - Try to avoid list corruption with event emission #143 | 
					
						
							| 
									
										
										
										
											2019-09-26 16:53:05 +02:00
										 |  |  | - Fix destroy of client-node memory corruption | 
					
						
							|  |  |  | - Various small improvements | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 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 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.4 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Install man pages in right directory | 
					
						
							|  |  |  | - Add systemd socket activation | 
					
						
							|  |  |  | - Various memory leak and corruption fixes in properties, dbus and | 
					
						
							| 
									
										
										
										
											2021-04-28 20:29:44 +02:00
										 |  |  |   buffer mmapped memory. | 
					
						
							| 
									
										
										
										
											2019-09-26 16:53:05 +02:00
										 |  |  | - Fix v4l2 crash on unplug | 
					
						
							|  |  |  | - improve stream cleanup | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.3 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Fix deviceprovider caps introspection | 
					
						
							|  |  |  | - Refcounting fixes in pipewiresrc | 
					
						
							|  |  |  | - Remove clock interpolation from stream | 
					
						
							|  |  |  | - Improve clock in gstreamer elements | 
					
						
							|  |  |  | - Remove spalib | 
					
						
							|  |  |  | - Fix crash with pw_map | 
					
						
							|  |  |  | - Add version number to hook list | 
					
						
							|  |  |  | - Improve driver mode in gstreamer elements | 
					
						
							|  |  |  | - add daemon options | 
					
						
							|  |  |  | - add man pages | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.2 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Increment API version and .so version | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PipeWire 0.2.1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Various fixes to memory handling | 
					
						
							|  |  |  | - Fixes for shutdown | 
					
						
							|  |  |  | - v4l2 fix enumeration of frame intervals | 
					
						
							|  |  |  | - Make the daemon stop when the setup commands fail | 
					
						
							|  |  |  | - Improve safety of hooks | 
					
						
							|  |  |  | - Update stream API to more future proof version | 
					
						
							|  |  |  | - Add more options to stream API such as scheduling in the | 
					
						
							|  |  |  |   main thread and automatic mapping of buffers | 
					
						
							|  |  |  | - Add version file and macros to check compile time and | 
					
						
							|  |  |  |   runtime versions of pipewire | 
					
						
							|  |  |  | - Future proof some structs | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-02-27 14:00:19 +01:00
										 |  |  | PipeWire 0.1.9 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | - Various build fixes | 
					
						
							|  |  |  | - Do more permission checks | 
					
						
							|  |  |  | - Add support for doing async connections. This can be used to | 
					
						
							|  |  |  |   make connections through the portal later. | 
					
						
							|  |  |  | - Fix device creation from the GStreamer device monitor | 
					
						
							|  |  |  | - v4l2 experiment with controls | 
					
						
							|  |  |  | - move rtkit to a module to avoid dbus dependency | 
					
						
							|  |  |  | - use dmabuf allocator in gstreamer elements | 
					
						
							|  |  |  | - Add DSP module for pro audio cases, remove jack module. The | 
					
						
							|  |  |  |   idea is to make a replacement jack client library that talks | 
					
						
							|  |  |  |   pipewire directly instead of trying to emulate a jack server. | 
					
						
							|  |  |  | - Various memory handling improvements |