static IntPtr n_InitDecode_Lorg_webrtc_VideoDecoder_Settings_Lorg_webrtc_VideoDecoder_Callback_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1)
        {
            global::Org.Webrtc.IVideoDecoder         __this = global::Java.Lang.Object.GetObject <global::Org.Webrtc.IVideoDecoder> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            global::Org.Webrtc.VideoDecoderSettings  p0     = global::Java.Lang.Object.GetObject <global::Org.Webrtc.VideoDecoderSettings> (native_p0, JniHandleOwnership.DoNotTransfer);
            global::Org.Webrtc.IVideoDecoderCallback p1     = (global::Org.Webrtc.IVideoDecoderCallback)global::Java.Lang.Object.GetObject <global::Org.Webrtc.IVideoDecoderCallback> (native_p1, JniHandleOwnership.DoNotTransfer);
            IntPtr __ret = JNIEnv.ToLocalJniHandle(__this.InitDecode(p0, p1));

            return(__ret);
        }
        static IntPtr n_Decode_Lorg_webrtc_EncodedImage_Lorg_webrtc_VideoDecoder_DecodeInfo_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0, IntPtr native_p1)
        {
            global::Org.Webrtc.IVideoDecoder          __this = global::Java.Lang.Object.GetObject <global::Org.Webrtc.IVideoDecoder> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            global::Org.Webrtc.EncodedImage           p0     = global::Java.Lang.Object.GetObject <global::Org.Webrtc.EncodedImage> (native_p0, JniHandleOwnership.DoNotTransfer);
            global::Org.Webrtc.VideoDecoderDecodeInfo p1     = global::Java.Lang.Object.GetObject <global::Org.Webrtc.VideoDecoderDecodeInfo> (native_p1, JniHandleOwnership.DoNotTransfer);
            IntPtr __ret = JNIEnv.ToLocalJniHandle(__this.Decode(p0, p1));

            return(__ret);
        }
        public unsafe VideoDecoderFallback(global::Org.Webrtc.IVideoDecoder fallback, global::Org.Webrtc.IVideoDecoder primary)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            const string __id = "(Lorg/webrtc/VideoDecoder;Lorg/webrtc/VideoDecoder;)V";

            if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
            {
                return;
            }

            try {
                JniArgumentValue *__args = stackalloc JniArgumentValue [2];
                __args [0] = new JniArgumentValue((fallback == null) ? IntPtr.Zero : ((global::Java.Lang.Object)fallback).Handle);
                __args [1] = new JniArgumentValue((primary == null) ? IntPtr.Zero : ((global::Java.Lang.Object)primary).Handle);
                var __r = _members.InstanceMethods.StartCreateInstance(__id, ((object)this).GetType(), __args);
                SetHandle(__r.Handle, JniHandleOwnership.TransferLocalRef);
                _members.InstanceMethods.FinishCreateInstance(__id, this, __args);
            } finally {
            }
        }
 static IntPtr n_Release(IntPtr jnienv, IntPtr native__this)
 {
     global::Org.Webrtc.IVideoDecoder __this = global::Java.Lang.Object.GetObject <global::Org.Webrtc.IVideoDecoder> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(JNIEnv.ToLocalJniHandle(__this.Release()));
 }
 static bool n_GetPrefersLateDecoding(IntPtr jnienv, IntPtr native__this)
 {
     global::Org.Webrtc.IVideoDecoder __this = global::Java.Lang.Object.GetObject <global::Org.Webrtc.IVideoDecoder> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(__this.PrefersLateDecoding);
 }
 static IntPtr n_GetImplementationName(IntPtr jnienv, IntPtr native__this)
 {
     global::Org.Webrtc.IVideoDecoder __this = global::Java.Lang.Object.GetObject <global::Org.Webrtc.IVideoDecoder> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(JNIEnv.NewString(__this.ImplementationName));
 }