internal static extern int Flush(NativeEncoderHandle handle, [In, Out] byte[] buffer, int bufferSize);
internal static extern UIntPtr GetLameTagFrame(NativeEncoderHandle handle, [In, Out] byte[] buffer, UIntPtr bufferSize);
internal static extern int InitializeParams(NativeEncoderHandle handle);
internal static extern int EncodeBuffer(NativeEncoderHandle handle, float[] leftSamples, float[] rightSamples, int sampleCount, [In, Out] byte[] buffer, int bufferSize);
internal static extern void SetVbrQuality(NativeEncoderHandle handle, float quality);
internal static extern void SetMeanBitRate(NativeEncoderHandle handle, int bitRate);
internal static extern void SetVbr(NativeEncoderHandle handle, VbrMode vbrMode);
internal static extern void SetQuality(NativeEncoderHandle handle, int quality);
internal static extern void SetChannels(NativeEncoderHandle handle, int channels);
internal static extern void SetSampleRate(NativeEncoderHandle handle, int sampleRate);
internal static extern void SetSampleCount(NativeEncoderHandle handle, uint samples);