private static void HandleStatusCode(OpusStatusCode statusCode) { if (statusCode != OpusStatusCode.OK) { throw new OpusException(statusCode, opus_strerror(statusCode)); } }
private static void HandleStatusCode(OpusStatusCode statusCode) { if (statusCode != OpusStatusCode.OK) { throw new OpusException(statusCode, Marshal.PtrToStringAnsi(opus_strerror(statusCode))); } }
public static void set_opus_decoder_ctl(IntPtr st, OpusCtlSetRequest request, int value) { if (st == IntPtr.Zero) { throw new ObjectDisposedException("OpusDecoder"); } OpusStatusCode statusCode = (OpusStatusCode)opus_decoder_ctl_set(st, request, value); HandleStatusCode(statusCode); }
public static int get_opus_decoder_ctl(IntPtr st, OpusCtlGetRequest request) { if (st == IntPtr.Zero) { throw new ObjectDisposedException("OpusDcoder"); } int value = 0; OpusStatusCode statusCode = (OpusStatusCode)opus_decoder_ctl_get(st, request, ref value); HandleStatusCode(statusCode); return(value); }
public static IntPtr opus_decoder_create(SamplingRate Fs, Channels channels) { int size = Wrapper.opus_decoder_get_size(channels); IntPtr ptr = Marshal.AllocHGlobal(size); OpusStatusCode statusCode = Wrapper.opus_decoder_init(ptr, Fs, channels); try { HandleStatusCode(statusCode); } catch (Exception ex) { if (ptr != IntPtr.Zero) { Wrapper.opus_decoder_destroy(ptr); ptr = IntPtr.Zero; } throw ex; } return(ptr); }
private static extern IntPtr opus_strerror(OpusStatusCode error);
public OpusException(OpusStatusCode statusCode, string message) : base(message) { _statusCode = statusCode; }
private static extern string opus_strerror(OpusStatusCode error);
private static string opus_error(OpusStatusCode error) { return(Marshal.PtrToStringAuto(opus_strerror(error))); }
opus_encoder_create( [In] SamplingRate Fs, [In] Channels channels, [In] OpusApplicationType application, [Out] out OpusStatusCode error );