mirror of
https://github.com/mozilla/DeepSpeech.git
synced 2025-10-26 11:19:39 +00:00
36 lines
1.2 KiB
C#
36 lines
1.2 KiB
C#
using System;
|
|
|
|
namespace DeepSpeechClient.Models
|
|
{
|
|
/// <summary>
|
|
/// Wrapper of the pointer used for the decoding stream.
|
|
/// </summary>
|
|
public class DeepSpeechStream : IDisposable
|
|
{
|
|
private unsafe IntPtr** _streamingStatePp;
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of <see cref="DeepSpeechStream"/>.
|
|
/// </summary>
|
|
/// <param name="streamingStatePP">Native pointer of the native stream.</param>
|
|
public unsafe DeepSpeechStream(IntPtr** streamingStatePP)
|
|
{
|
|
_streamingStatePp = streamingStatePP;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the native pointer.
|
|
/// </summary>
|
|
/// <exception cref="InvalidOperationException">Thrown when the stream has been disposed or not yet initialized.</exception>
|
|
/// <returns>Native pointer of the stream.</returns>
|
|
internal unsafe IntPtr** GetNativePointer()
|
|
{
|
|
if (_streamingStatePp == null)
|
|
throw new InvalidOperationException("Cannot use a disposed or uninitialized stream.");
|
|
return _streamingStatePp;
|
|
}
|
|
|
|
public unsafe void Dispose() => _streamingStatePp = null;
|
|
}
|
|
}
|