private void FinishSample(AudioSample a, bool callback) { if (callback) { a.SampleOver(this); // let callers know a sample is over } a.FreeHandles(); ad.Dispose(a.audiodata); // tell the driver to clean up }