Changes between Initial Version and Version 1 of Ticket #16021, comment 2


Ignore:
Timestamp:
01/31/2022 06:12:16 PM (3 years ago)
Author:
Bruce Dubbs

Legend:

Unmodified
Added
Removed
Modified
  • TabularUnified Ticket #16021, comment 2

    initial v1  
    1 # PipeWire 0.3.43 (2021-01-05)
     1# PipeWire 0.3.44 (2022-01-27)
    22
    33This is a bugfix release that is API and ABI compatible with previous
     
    55
    66## Highlights
    7   - Flatpak apps such as Ardour can now remove links again.
    8   - Many fixes to pulse-server. Memory usage should be improved. Some
    9     crashes are fixed. Underrun handling should work better. Better
    10     compatibility with GStreamer based applications after seeking.
    11   - Many of the samplerate and quantum changes bugs in previous releases
    12     were fixed. This fixes some issues where the microphone would fail
    13     to work.
    14   - Many more small fixes and improvements all over the place.
     7  - It is now possible to run a minimal PipeWire server without a session
     8    manager, enough to run JACK clients.
     9  - The maximum buffer size is now configurable and can be larger than
     10    the previously hardcoded limit of 8192 samples. When using high sample
     11    rates, the larger buffer size can avoid xruns.
     12  - The default maximum latency was reduced from 170ms to 42ms. This should
     13    improve overall latency for application that ask for a large latency,
     14    such as notifications.
     15  - Better JACK compatibility. Patchbays should now get less confused about
     16    ports appearing and disappearing.
     17  - Fix some bluetooth crashes.
     18  - Fix some races in ALSA device detection.
     19  - Many bug fixes and improvements all over the place.
    1520
    1621## PipeWire
    17   - Quantum and rate changes are now applied immediately when the driver
    18     is idle. This avoids setting the driver in the previous samplerate.
    19   - Object destruction now does not need write permissions anymore. This
    20     restriction needs some more work.
    21   - When we reposition, start a sync operation. This fixes a problem
    22     in Ardour when seeking.
    23   - Require meson 0.56.0
    24   - Make the align property in BUFFER_PARAM optional. We now only set this
    25     if the plugin has specific requirements and we default to the CPU
    26     largest alignment requirement.
    27   - pw-record will now also list monitors and streams as possible targets.
     22  - Bump the meson requirement to 0.59.0.
     23  - pw-top now reports correct times for filter-chain and loopback.
     24  - max-quantum is now also scaled with the rate. A new quantum-limit
     25    property was added as a hard limit for the quantum. This makes it
     26    possible to configure for larger than 8192 buffer sizes. Note
     27    than many JACK applications have a hardcoded 8192 limit.
     28  - The max-quantum was reduced to 2048, This gives a 42ms default
     29    latency.
     30  - pw-filter can now return a NULL buffer from _get_dsp_buffer().
     31  - Add a PIPEWIRE_RATE and PIPEWIRE_QUANTUM env variable to set the
     32    graph rate and the graph quantum and rate respectively.
     33  - Fix a potential file descriptor leak in the connection.
     34  - A new minimal.conf file was added to demonstrate a static setup
     35    of a daemon that doesn't require a session manager and is able to
     36    run JACK applicaions.
     37  - Nice levels are now only changed on the servers, not the clients.
     38  - Add an option to suspend nodes when idle.
     39  - Make it possible to avoid quantum and rate changes with
     40    pw-metadata. This is essential in a locked down system.
     41  - Handle mixer port errors better and fail to create the link instead
     42    of silently not working.
     43  - Nodes that are moved to a driver now have all the linked nodes moved
     44    as well. This makes it possible to run some graphs without a
     45    driver, such as paplay -> zita-j2n.
     46  - pw-cli and pw-dump can now also list objects by name, serial and
     47    object.path using glob style pattern matching.
    2848
    2949## modules
    30   - Improve LV2 plugin support in filter-chain. Add support for Worker and
    31     Options.
    32   - The loopback module now has a unique media.name to make it possible
    33     for the session manager to restore unique volume settings.
     50  - filter-chain can now also configure parameters by index.
     51  - Fix the client name of module-protocol-simple.
     52  - module-rtkit was merged into module-rt. This makes it easier to
     53    ship a default config that works on more systems by default.
     54  - module-adapter can now configure the adapter node from the config.
     55    Previously, this was a task only performed by the session manager.
     56  - module-metadata can now also create metadata object from the
     57    config file.
     58  - The ROC module should now work again.
     59  - An X11-bell module was added to handle X11 bell events.
     60  - filter-chain and loopback modules now have better unique default
     61    names for the streams, which makes it possible to save and restore
     62    their volumes independently.
     63  - module-echo-cancel now has properties to control the delay and
     64    buffer size.
     65
     66## ALSA
     67  - The monitor names are now correctly parsed.
     68  - The default period size for batch devices is limited now to avoid
     69    large latency.
     70  - The unused min/max-latency properties were removed.
     71  - Internal latency is now also configurable with params at runtime.
     72  - The udev rule for TI2902 was removed because it causes problems.
     73  - Fix a race where some devices would sometimes be missing.
     74  - Add some more timeouts to work around a race in udev device
     75    permission changes when switching VTs.
    3476
    3577## SPA
    36   - Improve sample rate for EAC3 streams, some clients scale it while
    37     others don't so use some heuristics to make things work better.
    38   - Allocate ports dynamically in audioconvert. This avoids using larger
    39     memory blocks of preallocated memory that confuses the allocator.
     78  - Fix potential infinite loop in audioconvert.
     79  - The spa-resample tools can now also use optimized implementations.
     80  - Fix a potential crash in resampler.
     81  - audioconvert can now also handle F64 formats.
     82  - The channelmixer now does normalization by default to avoid clipping
     83    when downmixing is active.
     84  - The channelmixer will now generate LFE channels when the lfe_cutoff
     85    frequency is set, even when upmix is disabled.
     86  - The channelmixer will now always generate FC when the target has it.
     87  - Adapter now reports latency correctly, even after linking the monitor
     88    ports.
     89  - Reduce memory usage and preallocated memory in some of the
     90    audioconvert nodes.
     91  - Many properties are now exposed in adapter, such as the resample
     92    quality.
     93  - The resampler and channelmixer can now be disabled.
    4094
    41 ## ALSA
    42   - Merge the latest pulseaudio UCM improvements.
    43   - Fixes for selecting the sample rate.
    44   - Improve latency on USB devices by scaling the period size based on
    45     the desired quantum when the device is opened.
    46   - Add api.alsa.period-num to configure the amount of periods to use
    47     in the device. Some devices have lower latency when a small value
    48     is forced.
    49   - Allow multi-rate by default. In previous versions cards could only
    50     be opened in one samplerate to avoid bugs in pre 5.16 kernels. This
    51     however caused other problems so the default was removed.
    52   - Fix a bug where a card was not freed correctly.
    53   - Fix a bug in the alsa boundary check that could hang the alsa-plugin
    54     for a long time.
    55   - The ALSA plugin now has a parameter to configure the allowed
    56     samplerates.
     95## V4L2
     96  - pw-v4l2 now also works for ffplay.
     97  - Take product names from udev now that the kernel returns a generic
     98    name.
    5799
    58100## JACK
    59   - Improve handling of monitor nodes.
     101  - The jack pkgconfig file now has the `jack_implementation=pipewire`
     102    variable to be able to distinguish jack implementations.
     103  - jconvolver now starts correctly again.
     104  - The object.serial is now used for the port_id. This makes it easier
     105    to track old objects in the cache.
     106  - Add a dummy jacknet implementation.
     107  - A bug in the port allocation was fixed that would make it impossible
     108    to allocate ports at some point.
    60109
    61110## Bluetooth
    62   - Codecs now have a priority. This should improve codec selection.
     111  - Bluetooth profiles are now saved properly by the session manager.
     112  - Improved profile detections, increased timeouts for slow devices.
     113  - Implement HFP call indicator for improved compatibility.
     114  - Handle the case where bluez does not set the adapter or address
     115    properties on the device instead of crashing.
     116  - Improved support for setting the profile from the session manager.
    63117
    64118## pulse-server
    65   - The stream FIX_ flags are now implemented.
    66   - Improve flushing and draining behaviour. Short samples will now
    67     play correctly.
    68   - Fix a crash when enumerating the formats.
    69   - Track quantum changes and update the amount of required buffering
    70     accordingly. This improves forced quantum handling.
    71   - Improve handling of channels > 32.
    72   - Handle the case where a module is destroyed before it could be
    73     completely loaded.
    74   - Fixes some issues when samples were removed while they were playing.
    75   - Fix some issues in module-zeroconf-publish.
    76   - Fix some memory leaks in module-roc.
    77   - Add command access control. This avoids execution of commands without
    78     proper authentication.
     119  - Monitor sources now have the device.class=monitor for better
     120    compatibility.
     121  - Behaviour after seeking is improved. The algorithm for requesting
     122    bytes from the client was simplified and improved.
     123  - module-ladspa-sink implements the control argument now.
     124  - A potential memory leak in the message queue was fixed.
     125  - Use the object.serial for the pulseaudio object index. The index is
     126    not supposed to be reused and this would cause problems with some
     127    clients.
     128  - Servers should now again be able to listen in IPv4.
     129  - module-x11-bell was added.
     130  - There is now support for per-application quirks and properties in
     131    the pipewire-pulse.conf file. Per-application latency and buffering
     132    properties can also be configured.
     133  - Fix a regression in telegram sounds not playing.