public unsafe MPSPacket(global::Org.Jcodec.Movtool.Streaming.Tracks.MPSTrackFactory.Stream __self, int p1, long p2, int p3, int p4)
                    : base(IntPtr.Zero, JniHandleOwnership.DoNotTransfer)
                {
                    if (((global::Java.Lang.Object) this).Handle != IntPtr.Zero)
                    {
                        return;
                    }

                    try {
                        JValue *__args = stackalloc JValue [5];
                        __args [0] = new JValue(__self);
                        __args [1] = new JValue(p1);
                        __args [2] = new JValue(p2);
                        __args [3] = new JValue(p3);
                        __args [4] = new JValue(p4);
                        if (GetType() != typeof(MPSPacket))
                        {
                            SetHandle(
                                global::Android.Runtime.JNIEnv.StartCreateInstance(GetType(), "(L" + global::Android.Runtime.JNIEnv.GetJniName(GetType().DeclaringType) + ";IJII)V", __args),
                                JniHandleOwnership.TransferLocalRef);
                            global::Android.Runtime.JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, "(L" + global::Android.Runtime.JNIEnv.GetJniName(GetType().DeclaringType) + ";IJII)V", __args);
                            return;
                        }

                        if (id_ctor_Lorg_jcodec_movtool_streaming_tracks_MPSTrackFactory_Stream_IJII == IntPtr.Zero)
                        {
                            id_ctor_Lorg_jcodec_movtool_streaming_tracks_MPSTrackFactory_Stream_IJII = JNIEnv.GetMethodID(class_ref, "<init>", "(Lorg/jcodec/movtool/streaming/tracks/MPSTrackFactory$Stream;IJII)V");
                        }
                        SetHandle(
                            global::Android.Runtime.JNIEnv.StartCreateInstance(class_ref, id_ctor_Lorg_jcodec_movtool_streaming_tracks_MPSTrackFactory_Stream_IJII, __args),
                            JniHandleOwnership.TransferLocalRef);
                        JNIEnv.FinishCreateInstance(((global::Java.Lang.Object) this).Handle, class_ref, id_ctor_Lorg_jcodec_movtool_streaming_tracks_MPSTrackFactory_Stream_IJII, __args);
                    } finally {
                    }
                }
 static void n_ParseIndex_Ljava_nio_ByteBuffer_(IntPtr jnienv, IntPtr native__this, IntPtr native_p0)
 {
     global::Org.Jcodec.Movtool.Streaming.Tracks.MPSTrackFactory.Stream __this = global::Java.Lang.Object.GetObject <global::Org.Jcodec.Movtool.Streaming.Tracks.MPSTrackFactory.Stream> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     global::Java.Nio.ByteBuffer p0 = global::Java.Lang.Object.GetObject <global::Java.Nio.ByteBuffer> (native_p0, JniHandleOwnership.DoNotTransfer);
     __this.ParseIndex(p0);
 }
 static void n_Close(IntPtr jnienv, IntPtr native__this)
 {
     global::Org.Jcodec.Movtool.Streaming.Tracks.MPSTrackFactory.Stream __this = global::Java.Lang.Object.GetObject <global::Org.Jcodec.Movtool.Streaming.Tracks.MPSTrackFactory.Stream> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     __this.Close();
 }
 static int n_GetPreferredTimescale(IntPtr jnienv, IntPtr native__this)
 {
     global::Org.Jcodec.Movtool.Streaming.Tracks.MPSTrackFactory.Stream __this = global::Java.Lang.Object.GetObject <global::Org.Jcodec.Movtool.Streaming.Tracks.MPSTrackFactory.Stream> (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
     return(__this.PreferredTimescale);
 }