internal static extern int StreamDecoderInitStream( [NotNull] StreamDecoderHandle handle, [NotNull] NativeCallbacks.StreamDecoderReadCallback readCallback, [CanBeNull] NativeCallbacks.StreamDecoderSeekCallback seekCallback, [CanBeNull] NativeCallbacks.StreamDecoderTellCallback tellCallback, [CanBeNull] NativeCallbacks.StreamDecoderLengthCallback lengthCallback, [CanBeNull] NativeCallbacks.StreamDecoderEofCallback eofCallback, [NotNull] NativeCallbacks.StreamDecoderWriteCallback writeCallback, [CanBeNull] NativeCallbacks.StreamDecoderMetadataCallback metadataCallback, [NotNull] NativeCallbacks.StreamDecoderErrorCallback errorCallback, IntPtr userData);
internal static extern int StreamDecoderInitStream( StreamDecoderHandle handle, NativeCallbacks.StreamDecoderReadCallback readCallback, NativeCallbacks.StreamDecoderSeekCallback?seekCallback, NativeCallbacks.StreamDecoderTellCallback?tellCallback, NativeCallbacks.StreamDecoderLengthCallback?lengthCallback, NativeCallbacks.StreamDecoderEofCallback?eofCallback, NativeCallbacks.StreamDecoderWriteCallback writeCallback, NativeCallbacks.StreamDecoderMetadataCallback?metadataCallback, NativeCallbacks.StreamDecoderErrorCallback errorCallback, IntPtr userData);
internal static extern bool StreamDecoderSetMetadataRespond( StreamDecoderHandle handle, MetadataType metadataType);
internal static extern bool StreamDecoderFinish( StreamDecoderHandle handle);
internal static extern DecoderState StreamDecoderGetState( StreamDecoderHandle handle);
internal static extern bool StreamDecoderProcessSingle( StreamDecoderHandle handle);
internal static extern bool StreamDecoderProcessUntilEndOfMetadata( StreamDecoderHandle handle);
internal static extern bool StreamDecoderFinish( [NotNull] StreamDecoderHandle handle);