Store current filter state at every normal block process. When a rewind happens, rewind back to the nearest saved state, then calculate forward to the actual sample position.
defc2b7 lfe-filter: Add rewind support
src/pulsecore/filter/lfe-filter.c | 109 +++++++++++++++++++++++++++++++++++--
src/pulsecore/filter/lfe-filter.h | 5 +-
src/pulsecore/resampler.c | 3 +-
3 files changed, 108 insertions(+), 9 deletions(-)
Upstream: cgit.freedesktop.org