Skip to content

Regression: version 8.1.3-1.1 forces 48kHz resampling on PipeWire despite allowed-rates config #4920

Description

@octop-linux

EasyEffects Version

8.1.3-1.1 (Problem exists here; verified fixed on 8.1.2-1)

What package are you using?

Arch (easyeffects)

Distribution

CachyOS (Arch Linux)

Describe the bug

After updating to version 8.1.3-1.1, the EasyEffects virtual sink is no longer following the PipeWire graph rate. Even with default.clock.allowed-rates configured in PipeWire to include 44100, and the source (Firefox) playing at 44100, EasyEffects forces the output hardware (ALL USB DACs) to resample to always 48000Hz.

When EasyEffects is removed from the chain or when downgraded to 8.1.2-1, bit-perfect switching works correctly and the hardware matches the source rate (44100Hz).

Expected Behavior

The EasyEffects sink should be passive and follow the hardware rate requested by the source, allowing for bit-perfect playback without forced resampling to 48kHz.

Debug Log

"Currently on 8.1.2 where the issue is not present. If needed, I can upgrade back to 8.1.3 to generate a log, but the pw-top mismatch in the attached screenshot clearly shows the regression in the hardware rate management."

Additional Information

System Details:

  • DAC: CX31993 (USB)

PipeWire Configuration:
I am using a global allowed-rates configuration:
default.clock.allowed-rates = [ 44100 48000 88200 96000 176400 192000 352800 384000 ]

Observations:
In version 8.1.3-1.1, the EasyEffects virtual sink seems to prevent the ALSA node from switching to the source rate, locking it at 48kHz. This occurs even when no other streams are active. Reverting to 8.1.2-1 restores the expected bit-perfect switching behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions