vhost-device/vhost-device-sound/CHANGELOG.md
Alyssa Ross 3dca78e684 vhost-device-sound: add --socket-fd argument
This allows a service manager to start vhost-device-sound with an
already listening socket.  With this, the service manager can create
the socket in advance of starting any services, so there's no race in
between vhost-device-sound being started and being ready to accept
connections.

Signed-off-by: Alyssa Ross <hi@alyssa.is>
2025-11-20 17:24:04 +02:00

3 KiB

Changelog

Unreleased

Added

  • [#909] vhost-device-sound now supports a --socket-fd argument.

Changed

  • [#907] vhost_device_sound::start_backend_server now mutably borrows a vhost::vhost_user::Listener, so the socket isn't removed and re-created between each connection, and there's no longer a short window of time where there's no socket for clients to connect to.

    As a consequence of this change:

    • vhost_device_sound::SoundConfig::new no longer takes a socket argument.
    • vhost_device_sound::SoundConfig::get_socket_path has been removed.
    • vhost_device_sound::SoundConfig no longer implements From<vhost_device_sound::args::SoundArgs> (since the socket argument should be handled separately).
    • vhost_device_sound::start_backend_server now additionally takes a listener argument.

Fixed

Deprecated

v0.3.0

Added

  • [#876] Add GStreamer audio backend support
  • [#806] Add controls field in VirtioSoundConfig
  • [#746] Add new sampling rates 12000Hz and 24000Hz

Changed

  • [#852] Changed to 2021 Rust edition
  • [#792] sound: move CLI arg types to lib submodule
  • [#823] sound: Use PathBuf for socket paths instead of Strings
  • [#789] sound/pipewire: add truncated exp backoff to tests and fork them
  • [#788] sound: Put AlsaTestHarness static in a LazyLock
  • [#580] sound: use descriptor_utils.rs to manipulate requests

Fixed

  • [#808] pipewire: Fix rand module imports
  • [#884] vhost-device-sound/pipewire: fix wrong format

Limitations

  • GStreamer backend: 20-bit PCM formats (VIRTIO_SND_PCM_FMT_S20/U20) are not directly supported by GStreamer and are automatically converted to 24/32-bit formats

Deprecated

v0.2.0

Added

  • [#616] pipewire: specify audio channel position

Changed

  • [#617] Update pipewire dependencies to version 0.8 after the release of pipewire v0.8

Fixed

  • [#599] Fix symbolic links to license files
  • [#638] Remove duplicate increment in pipewire
  • [#644] Destroy pipewire streams not destroyed in pipewire

v0.1.0

First release with null, pipewire and alsa host audio backends.