internal static extern StreamRecorderErrorCode SetNotifiedCallback(StreamRecorderHandle handle, NotifiedCallback callback, IntPtr userData = default(IntPtr));
internal static extern int GetVideoEncoderBitrate(StreamRecorderHandle handle, out int bitrate);
internal static extern int GetAudioChannel(StreamRecorderHandle handle, out int channel);
internal static extern int GetRecordingLimit(StreamRecorderHandle handle, int type, out int format);
internal static extern int GetAudioSampleRate(StreamRecorderHandle handle, out int samplerate);
internal static extern int GetVideoFramerate(StreamRecorderHandle handle, out int framerate);
internal static extern int GetVideoSourceFormat(StreamRecorderHandle handle, out int format);
internal static extern int UnsetErrorCallback(StreamRecorderHandle handle);
internal static extern StreamRecorderErrorCode SetBufferConsumedCallback(StreamRecorderHandle handle, BufferConsumedCallback callback, IntPtr userData = default(IntPtr));
internal static extern StreamRecorderErrorCode SetLimitReachedCallback(StreamRecorderHandle handle, RecordingLimitReachedCallback callback, IntPtr userData = default(IntPtr));
internal static extern int UnsetLimitReachedCallback(StreamRecorderHandle handle);
internal static extern int UnsetStatusChangedCallback(StreamRecorderHandle handle);
internal static extern StreamRecorderErrorCode SetStatusChangedCallback(StreamRecorderHandle handle, RecordingStatusCallback callback, IntPtr userData = default(IntPtr));
internal static extern int UnsetNotifiedCallback(StreamRecorderHandle handle);
internal static extern StreamRecorderErrorCode GetVideoResolution(StreamRecorderHandle handle, out int width, out int height);
internal static extern int UnsetBufferConsumedCallback(StreamRecorderHandle handle);
internal static extern StreamRecorderErrorCode SetVideoFrameRate(StreamRecorderHandle handle, int framerate);
internal static extern int GetFileName(StreamRecorderHandle handle, out IntPtr path);
internal static extern StreamRecorderErrorCode SetVideoSourceFormat(StreamRecorderHandle handle, StreamRecorderVideoFormat format);
internal static extern StreamRecorderErrorCode SetFileFormat(StreamRecorderHandle handle, StreamRecorderFileFormat format);
internal static extern StreamRecorderErrorCode SetRecordingLimit(StreamRecorderHandle handle, RecordingLimitType type, int limit);
internal static extern int GetFileFormat(StreamRecorderHandle handle, out int format);
internal static extern StreamRecorderErrorCode SetAudioSampleRate(StreamRecorderHandle handle, int samplerate);
internal static extern StreamRecorderErrorCode SetAudioEncoder(StreamRecorderHandle handle, StreamRecorderAudioCodec codec);
internal static extern StreamRecorderErrorCode SetVideoEncoderBitRate(StreamRecorderHandle handle, int bitrate);
internal static extern StreamRecorderErrorCode SetVideoEncoder(StreamRecorderHandle handle, StreamRecorderVideoCodec codec);
internal static extern StreamRecorderErrorCode SetAudioChannel(StreamRecorderHandle handle, int channel);
internal static extern int GetVideoEncoder(StreamRecorderHandle handle, out int codec);
internal static extern StreamRecorderErrorCode SetFileName(StreamRecorderHandle handle, string path);
internal static extern StreamRecorderErrorCode VideoResolution(StreamRecorderHandle handle, VideoResolutionCallback callback, IntPtr userData = default(IntPtr));