Index: virtual_audio_delay.c =================================================================== --- virtual_audio_delay.c +++ virtual_audio_delay.c @@ -146,6 +146,18 @@ } } +void +voss_ad_destroy(void) +{ + free(voss_ad.wave); + free(voss_ad.sin_a); + free(voss_ad.cos_a); + free(voss_ad.buf_a); + free(voss_ad.sin_b); + free(voss_ad.cos_b); + free(voss_ad.buf_b); +} + static double voss_add_decode_offset(double x /* cos */, double y /* sin */) { Index: virtual_int.h =================================================================== --- virtual_int.h +++ virtual_int.h @@ -282,6 +282,7 @@ extern uint8_t voss_ad_output_channel; extern void voss_ad_reset(void); extern void voss_ad_init(uint32_t); +extern void voss_ad_destroy(void); extern double voss_ad_getput_sample(double); /* Add audio options prototype */ Index: virtual_main.c =================================================================== --- virtual_main.c +++ virtual_main.c @@ -2685,6 +2685,7 @@ } atomic_destroy(); + voss_ad_destroy(); return (0); }