public void retro_audio_sample_batch(void *data, int frames) { if (sampbuff.Length < frames * 2) { sampbuff = new short[frames * 2]; } Marshal.Copy(new IntPtr(data), sampbuff, 0, (int)(frames * 2)); resampler.EnqueueSamples(sampbuff, (int)frames); nsamprecv += (int)frames; }
uint retro_audio_sample_batch(IntPtr data, uint frames) { if (sampbuff.Length < frames * 2) { sampbuff = new short[frames * 2]; } Marshal.Copy(data, sampbuff, 0, (int)(frames * 2)); resampler.EnqueueSamples(sampbuff, (int)frames); nsamprecv += (int)frames; // what is the return from this used for? return(frames); }
public void GetSamplesSync(out short[] samples, out int nsamp) { nsamp = GetSampleCount(); samples = new short[nsamp * 2]; //*2 for stereo sound fixed(short *data = samples) { GetSamples(data, nsamp); } // BizHawk requires a sample rate of 44100 Hz. _resampler.EnqueueSamples(samples, nsamp); _resampler.GetSamplesSync(out samples, out nsamp); }