static IntPtr n_PrepareBufferForViewportSize_Lorg_webrtc_VideoFrame_Buffer_II(IntPtr jnienv, IntPtr native__this, IntPtr native_buffer, int width, int height)
        {
            global::Org.Webrtc.VideoFrameDrawer   __this = global::Java.Lang.Object.GetObject <global::Org.Webrtc.VideoFrameDrawer> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
            global::Org.Webrtc.VideoFrame.IBuffer buffer = (global::Org.Webrtc.VideoFrame.IBuffer)global::Java.Lang.Object.GetObject <global::Org.Webrtc.VideoFrame.IBuffer> (native_buffer, JniHandleOwnership.DoNotTransfer);
            IntPtr __ret = JNIEnv.ToLocalJniHandle(__this.PrepareBufferForViewportSize(buffer, width, height));

            return(__ret);
        }
        public virtual unsafe global::Org.Webrtc.VideoFrame.IBuffer PrepareBufferForViewportSize(global::Org.Webrtc.VideoFrame.IBuffer buffer, int width, int height)
        {
            const string __id = "prepareBufferForViewportSize.(Lorg/webrtc/VideoFrame$Buffer;II)Lorg/webrtc/VideoFrame$Buffer;";

            try {
                JniArgumentValue *__args = stackalloc JniArgumentValue [3];
                __args [0] = new JniArgumentValue((buffer == null) ? IntPtr.Zero : ((global::Java.Lang.Object)buffer).Handle);
                __args [1] = new JniArgumentValue(width);
                __args [2] = new JniArgumentValue(height);
                var __rm = _members.InstanceMethods.InvokeVirtualObjectMethod(__id, this, __args);
                return(global::Java.Lang.Object.GetObject <global::Org.Webrtc.VideoFrame.IBuffer> (__rm.Handle, JniHandleOwnership.TransferLocalRef));
            } finally {
            }
        }