diff --git a/audio/test/Makefile b/audio/test/Makefile
index c8e9b5f9f7..55ea3498ea 100644
--- a/audio/test/Makefile
+++ b/audio/test/Makefile
@@ -5,18 +5,24 @@ LDFLAGS += -lm
 
 all: $(TESTS)
 
-test-hermite: ../hermite.o ../utils.o main.o
+test-hermite: ../hermite.o ../utils.o main.o resampler-hermite.o
 	$(CC) -o $@ $^ $(LDFLAGS)
 
-test-sinc: ../sinc.o ../utils.o main.o
+test-sinc: ../sinc.o ../utils.o main.o ../hermite.o resampler-sinc.o
 	$(CC) -o $@ $^ $(LDFLAGS)
 
-test-snr-sinc: ../sinc.o ../utils.o snr.o
+test-snr-sinc: ../sinc.o ../utils.o snr.o ../hermite.o resampler-sinc.o
 	$(CC) -o $@ $^ $(LDFLAGS)
 
-test-snr-hermite: ../hermite.o ../utils.o snr.o
+test-snr-hermite: ../hermite.o ../utils.o snr.o resampler-hermite.o
 	$(CC) -o $@ $^ $(LDFLAGS)
 
+resampler-sinc.o: ../resampler.c
+	$(CC) -c -o $@ $< $(CFLAGS) -DHAVE_SINC
+
+resampler-hermite.o: ../resampler.c
+	$(CC) -c -o $@ $< $(CFLAGS)
+
 %.o: %.c
 	$(CC) -c -o $@ $< $(CFLAGS)
 
diff --git a/audio/test/main.c b/audio/test/main.c
index 04d2145d04..b51cdb4e04 100644
--- a/audio/test/main.c
+++ b/audio/test/main.c
@@ -45,8 +45,9 @@ int main(int argc, char *argv[])
       return 1;
    }
 
-   rarch_resampler_t *resamp = resampler_new();
-   if (!resamp)
+   const rarch_resampler_t *resampler = NULL;
+   void *re = NULL;
+   if (!rarch_resampler_realloc(&re, &resampler, NULL))
    {
       fprintf(stderr, "Failed to allocate resampler ...\n");
       return 1;
@@ -66,7 +67,7 @@ int main(int argc, char *argv[])
          .ratio = ratio,
       };
 
-      resampler_process(resamp, &data);
+      rarch_resampler_process(resampler, re, &data);
 
       size_t output_samples = data.output_frames * 2;
 
@@ -76,6 +77,6 @@ int main(int argc, char *argv[])
          break;
    }
 
-   resampler_free(resamp);
+   rarch_resampler_freep(&resampler, &re);
 }
 
diff --git a/audio/test/snr.c b/audio/test/snr.c
index 0f65cb542c..ab55461528 100644
--- a/audio/test/snr.c
+++ b/audio/test/snr.c
@@ -270,8 +270,10 @@ int main(int argc, char *argv[])
    assert(input);
    assert(output);
 
-   rarch_resampler_t *re = resampler_new();
-   assert(re);
+   void *re = NULL;
+   const rarch_resampler_t *resampler = NULL;
+   if (!rarch_resampler_realloc(&re, &resampler, NULL))
+      return 1;
 
    test_fft();
 
@@ -289,7 +291,7 @@ int main(int argc, char *argv[])
          .ratio = ratio,
       };
 
-      resampler_process(re, &data);
+      rarch_resampler_process(resampler, re, &data);
 
       unsigned out_samples = data.output_frames * 2;
       assert(out_samples >= fft_samples * 2);
@@ -307,7 +309,7 @@ int main(int argc, char *argv[])
             res.alias_freq[2] / (float)in_rate, res.alias_power[2]);
    }
 
-   resampler_free(re);
+   rarch_resampler_freep(&resampler, &re);
    free(input);
    free(output);
    free(butterfly_buf);