예제 #1
0
        public Gst.Meta GetMeta(GLib.GType api)
        {
            IntPtr raw_ret = gst_buffer_get_meta(Handle, api.Val);

            Gst.Meta ret = Gst.Meta.New(raw_ret);
            return(ret);
        }
예제 #2
0
        void InvokeNative(Gst.Meta meta, Gst.Buffer buffer)
        {
            IntPtr native_meta = GLib.Marshaller.StructureToPtrAlloc(meta);

            native_cb(native_meta, buffer == null ? IntPtr.Zero : buffer.Handle);
            Marshal.FreeHGlobal(native_meta);
        }
        bool InvokeNative(Gst.Meta meta, IntPtr parms, Gst.Buffer buffer)
        {
            IntPtr native_meta = GLib.Marshaller.StructureToPtrAlloc(meta);
            bool   __result    = native_cb(native_meta, parms, buffer == null ? IntPtr.Zero : buffer.Handle);

            Marshal.FreeHGlobal(native_meta);
            return(__result);
        }
예제 #4
0
        bool InvokeNative(Gst.Buffer transbuf, Gst.Meta meta, Gst.Buffer buffer, uint type, IntPtr data)
        {
            IntPtr native_meta = GLib.Marshaller.StructureToPtrAlloc(meta);
            bool   __result    = native_cb(transbuf == null ? IntPtr.Zero : transbuf.Handle, native_meta, buffer == null ? IntPtr.Zero : buffer.Handle, type, __data);

            Marshal.FreeHGlobal(native_meta);
            return(__result);
        }
예제 #5
0
        public bool RemoveMeta(Gst.Meta meta)
        {
            IntPtr native_meta = GLib.Marshaller.StructureToPtrAlloc(meta);
            bool   raw_ret     = gst_buffer_remove_meta(Handle, native_meta);
            bool   ret         = raw_ret;

            Marshal.FreeHGlobal(native_meta);
            return(ret);
        }
예제 #6
0
        public Gst.Meta AddMeta(Gst.MetaInfo info, IntPtr parms)
        {
            IntPtr native_info = GLib.Marshaller.StructureToPtrAlloc(info);
            IntPtr raw_ret     = gst_buffer_add_meta(Handle, native_info, parms);

            Gst.Meta ret = Gst.Meta.New(raw_ret);
            Marshal.FreeHGlobal(native_info);
            return(ret);
        }
        bool InvokeNative(Gst.Buffer buffer, out Gst.Meta meta)
        {
            IntPtr native_meta = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Gst.Meta)));
            bool   __result    = native_cb(buffer == null ? IntPtr.Zero : buffer.Handle, native_meta, __data);

            meta = Gst.Meta.New(native_meta);
            Marshal.FreeHGlobal(native_meta);
            return(__result);
        }
예제 #8
0
        public int CompareSeqnum(Gst.Meta meta2)
        {
            IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal(System.Runtime.InteropServices.Marshal.SizeOf(this));

            System.Runtime.InteropServices.Marshal.StructureToPtr(this, this_as_native, false);
            IntPtr native_meta2 = GLib.Marshaller.StructureToPtrAlloc(meta2);
            int    raw_ret      = gst_meta_compare_seqnum(this_as_native, native_meta2);
            int    ret          = raw_ret;

            ReadNative(this_as_native, ref this);
            System.Runtime.InteropServices.Marshal.FreeHGlobal(this_as_native);
            Marshal.FreeHGlobal(native_meta2);
            return(ret);
        }
예제 #9
0
 static void ReadNative(IntPtr native, ref Gst.Meta target)
 {
     target = New(native);
 }