public unsafe MPEGES(global::Java.Nio.Channels.IReadableByteChannel p0, int p1)
            : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
        {
            if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
            {
                return;
            }

            try {
                JValue *__args = stackalloc JValue [2];
                __args [0] = new JValue(p0);
                __args [1] = new JValue(p1);
                if (GetType() != typeof(MPEGES))
                {
                    SetHandle(
                        global::Android.Runtime.JNIEnv.StartCreateInstance(GetType(), "(Ljava/nio/channels/ReadableByteChannel;I)V", __args),
                        JniHandleOwnership.TransferLocalRef);
                    global::Android.Runtime.JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, "(Ljava/nio/channels/ReadableByteChannel;I)V", __args);
                    return;
                }

                if (id_ctor_Ljava_nio_channels_ReadableByteChannel_I == IntPtr.Zero)
                {
                    id_ctor_Ljava_nio_channels_ReadableByteChannel_I = JNIEnv.GetMethodID(class_ref, "<init>", "(Ljava/nio/channels/ReadableByteChannel;I)V");
                }
                SetHandle(
                    global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Ljava_nio_channels_ReadableByteChannel_I, __args),
                    JniHandleOwnership.TransferLocalRef);
                JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, class_ref, id_ctor_Ljava_nio_channels_ReadableByteChannel_I, __args);
            } finally {
            }
        }
            static IntPtr n_GetPacket_Ljava_nio_channels_ReadableByteChannel_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
            {
                global::Org.Jcodec.Containers.Mps.MTSDemuxer.TSChannel __this = global::Java.Lang.Object.GetObject <global::Org.Jcodec.Containers.Mps.MTSDemuxer.TSChannel> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
                global::Java.Nio.Channels.IReadableByteChannel         p0     = (global::Java.Nio.Channels.IReadableByteChannel)global::Java.Lang.Object.GetObject <global::Java.Nio.Channels.IReadableByteChannel> (native_p0, JniHandleOwnership.DoNotTransfer);
                IntPtr __ret = JNIEnv.ToLocalJniHandle(__this.GetPacket(p0));

                return(__ret);
            }
 public static unsafe global::Org.Jcodec.Containers.Mps.MTSDemuxer.MTSPacket ReadPacket(global::Java.Nio.Channels.IReadableByteChannel p0)
 {
     if (id_readPacket_Ljava_nio_channels_ReadableByteChannel_ == IntPtr.Zero)
     {
         id_readPacket_Ljava_nio_channels_ReadableByteChannel_ = JNIEnv.GetStaticMethodID(class_ref, "readPacket", "(Ljava/nio/channels/ReadableByteChannel;)Lorg/jcodec/containers/mps/MTSDemuxer$MTSPacket;");
     }
     try {
         JValue *__args = stackalloc JValue [1];
         __args [0] = new JValue(p0);
         global::Org.Jcodec.Containers.Mps.MTSDemuxer.MTSPacket __ret = global::Java.Lang.Object.GetObject <global::Org.Jcodec.Containers.Mps.MTSDemuxer.MTSPacket> (JNIEnv.CallStaticObjectMethod(class_ref, id_readPacket_Ljava_nio_channels_ReadableByteChannel_, __args), JniHandleOwnership.TransferLocalRef);
         return(__ret);
     } finally {
     }
 }
            protected virtual unsafe global::Org.Jcodec.Containers.Mps.MTSDemuxer.MTSPacket GetPacket(global::Java.Nio.Channels.IReadableByteChannel p0)
            {
                if (id_getPacket_Ljava_nio_channels_ReadableByteChannel_ == IntPtr.Zero)
                {
                    id_getPacket_Ljava_nio_channels_ReadableByteChannel_ = JNIEnv.GetMethodID(class_ref, "getPacket", "(Ljava/nio/channels/ReadableByteChannel;)Lorg/jcodec/containers/mps/MTSDemuxer$MTSPacket;");
                }
                try {
                    JValue *__args = stackalloc JValue [1];
                    __args [0] = new JValue(p0);

                    global::Org.Jcodec.Containers.Mps.MTSDemuxer.MTSPacket __ret;
                    if (GetType() == ThresholdType)
                    {
                        __ret = global::Java.Lang.Object.GetObject <global::Org.Jcodec.Containers.Mps.MTSDemuxer.MTSPacket> (JNIEnv.CallObjectMethod(((global::Java.Lang.Object) this).Handle, id_getPacket_Ljava_nio_channels_ReadableByteChannel_, __args), JniHandleOwnership.TransferLocalRef);
                    }
                    else
                    {
                        __ret = global::Java.Lang.Object.GetObject <global::Org.Jcodec.Containers.Mps.MTSDemuxer.MTSPacket> (JNIEnv.CallNonvirtualObjectMethod(((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID(ThresholdClass, "getPacket", "(Ljava/nio/channels/ReadableByteChannel;)Lorg/jcodec/containers/mps/MTSDemuxer$MTSPacket;"), __args), JniHandleOwnership.TransferLocalRef);
                    }
                    return(__ret);
                } finally {
                }
            }