Skip to content

Virtual sink and source consolidation

This MR consolidates common functions for virtual sinks into a shared library. The same is done for sources. The MR fixes multiple bugs and inconsistencies in the virtual sink and source code.

  • Simplify and unify virtual sink and source code
  • Re-introduce rescuing of virtual sink streams
  • Fix the uplink sink of module-virtual-source and make it a common feature for all virtual sources
  • Add support for fixed block size or fixed input block size filters

This MR fixes the following bugs in the virtual sink code:

  • All virtual sinks: Crash bug with stacked virtual sinks due to incorrect updating of the asycncmsgq
  • All virtual sinks: Incorrect rewinding after a latency change
  • All virtual sinks: Incorrect auto-description, also sink-input does not change description at all
  • All virtual sinks: Incorrect suspend propagation of master sink including a related bug in !68 (merged)
  • virtual-surround-sink: Crash bug when used with use_volume_sharing=0. The volume is not re-mapped.
  • equalizer-sink: Crash bugs that can happen if the sink can not be initialized.

fixes: #1154

Edited by Georg Chini

Merge request reports