Define SoundTouch source spans and unity interpolation contract

This commit is contained in:
evgeny committed 2026-10-14 19:15:43 +02:00
1 parent 183e66e97d
commit ceb06bafcf
3 files changed
+30

No files matched your search

@@ -58,6 +58,9 @@ public:
virtual void resetRegisters() override;
// При fract=0 кубический интерполятор копирует psrc[1], сохраняя четыре входных сэмпла.
int unitySourceOffset() const override { return rate == 1.0 && fract == 0.0 ? 1 : -1; }
virtual int getLatency() const override
{
return 1;
@@ -83,6 +83,9 @@ public:
virtual void setChannels(int channels);
virtual int getLatency() const = 0;
// uTun: смещение точного копирования при rate=1; -1 если реализация не поддерживает карту.
virtual int unitySourceOffset() const { return -1; }
virtual void resetRegisters() = 0;
// static factory function
@@ -133,6 +136,8 @@ public:
AAFilter *getAAFilter();
/// Enables/disables the anti-alias filter. Zero to disable, nonzero to enable
int unitySourceOffset() const { return bUseAAFilter ? -1 : pTransposer->unitySourceOffset(); }
void enableAAFilter(bool newMode);
/// Returns nonzero if anti-alias filter is enabled.