PipeWire 0.3.65 (2023-01-26)
This is a bugfix release that is API and ABI compatible with previous 0.3.x releases.
- Add back the deprecated symbols but make sure a deprecated warning is emitted for them. This fixes compilation issues in bindings.
- Fix an error in the AVX code that could cause crackling in filter-chain when using the mixer.
- The convolver in filter-chain can now select an IR from a list of IRs that best matches the current samplerate. Also resampling of the IR has been improved.
- A new native module-combine-stream was added. You can use this to create a 5.1 device from 3 stereo soundcards, for example, or direct the output to multiple sinks at once.
- Support for Bluetooth MIDI was added. This requires a wireplumber addition as well. It also requires that bluez MIDI support is disabled (it is an experimental alternative implementation and disabled by default).
- An ALSA plugin rule was added to tweak the buffer settings in Davinci Resolve so that it now runs with acceptable latency. (#1697)
- Support for compress offload was added using tinycompress. This allows compressed formats to be decoded in hardware using ALSA on some devices.
- Many more bugfixes and improvements.
- Add back the deprecated symbols but make sure a deprecated warning is emitted for them. (#2952)
- Fix a regression when running older servers and newer clients (such as flatpaks on older server) where the server would run clients too soon, causing crashes. (#2964)
- Ensure that environment variables override any config values.
- pw-cli has received some improvements in the output.
- pw-cat can now use ffmpeg to demux streams for compress offload.
- The convolver IR volume is now preserved after resampling.
- Adapter ports can now have a custom prefix.
- module-rt now clamps the realtime priority to the user allowed one if it is within an acceptable range. Before it would fall back to RTKit immediately.
- The module-echo-cancel can now have per stream channel layouts which makes it possible to link to specific audio ports on a device. (#2939)
- Fix an error in the AVX code that could cause crackling in filter-chain when using the mixer. (#2965)
- The convolver in filter-chain can now select an IR from a list of IRs that best matches the current sample-rate.
- module-pipe-* now better matches the pulseaudio properties. (#2973)
- A new combine-stream module was added to combine multiple sinks into one sink. It is also possible to merge multiple sources into one.
- module-rtp-source now has match rules to select what SAP sessions to stream from. There were also improvements to the buffering and latency handling.
- module-rtp-sink now handles multicast loopback correctly.
- module-rtp-sink implements min-ptime and max-ptime to control the send packet latency.
- A new modifier flag was added to the video format parser helper to allow 0 (linear) as a valid modifier. (#2943)
- Params includes were reorganized to make it more scalable. Many compressed audio formats were added.
- The alsa pcm plugin now handles invalid values from the driver gracefully. (#2953)
- Fix some potential stuttering cause by wrong scaling and overflow of the output buffers in audioconvert. (#2680)
- Debug output is now also sent to the log instead of stdout. (#2923)
- A debug context was added to debug macros to implement custom debug handling. This is used to redirect the debug of pods to the debug log instead of using some custom duplicated code.
- Fix some warnings for potentially undefined shifts in format conversion.
- Support for compress offload was added using tinycompress. This is mostly used on some embedded hardware where decoding of audio formats can be done in hardware.
- Some fixes for LE audio were added.
- Support for Bluetooth MIDI was added. This requires a wireplumber addition as well.
- Reply OK to empty commands.
- Improve compatibility with some devices that send stray \n such as the Sennheiser HD 350BT. (#2991)
- Devices with unsupported formats (by the pulseaudio API) are now also listed in the pulseaudio API (with invalid formats).
- The native module-combine-stream is used for module-combine-sink.
- Make jack.merge-monitor default to true to better match the jack1/2 behaviour. Add an exception for mixxx, which is more usable with unmerged monitors. (#1760)
- The property handling in the ALSA plugin was improved. alsa.properties and alsa.rules can now be added to the config file.
- A rule was added to tweak the buffer settings in Davinci Resolve so that it can run with acceptable latency. (#1697)
- ALSA volume will now also use cubic volumes, like pulseaudio.
- The ALSA ctl plugin now also uses the client-rt.conf file.
- A new alsa.volume-method was added to configure cubic or linear volume. This can be set per application using the rules.
- pipewiresrc will now advertize DMABUF support if the pipeline suports this.
- pipewiresrc will now always be a live source unless told otherwise.
- fba7083f module-combine-stream was not installed