Beispiel #1
0
 private static void HandleStatusCode(OpusStatusCode statusCode)
 {
     if (statusCode != OpusStatusCode.OK)
     {
         throw new OpusException(statusCode, opus_strerror(statusCode));
     }
 }
Beispiel #2
0
 private static void HandleStatusCode(OpusStatusCode statusCode)
 {
     if (statusCode != OpusStatusCode.OK)
     {
         throw new OpusException(statusCode, Marshal.PtrToStringAnsi(opus_strerror(statusCode)));
     }
 }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
 private static extern IntPtr opus_strerror(OpusStatusCode error);
 public OpusException(OpusStatusCode statusCode, string message)
     : base(message)
 {
     _statusCode = statusCode;
 }
Beispiel #8
0
 private static extern string opus_strerror(OpusStatusCode error);
Beispiel #9
0
 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
     );