Beispiel #1
0
        public Gst.Memory MakeMapped(out Gst.MapInfo info, Gst.MapFlags flags)
        {
            IntPtr native_info = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(Gst.MapInfo)));
            IntPtr raw_ret     = gst_memory_make_mapped(Handle, native_info, (int)flags);

            Gst.Memory ret = raw_ret == IntPtr.Zero ? null : (Gst.Memory)GLib.Opaque.GetOpaque(raw_ret, typeof(Gst.Memory), true);
            info = Gst.MapInfo.New(native_info);
            Marshal.FreeHGlobal(native_info);
            return(ret);
        }
 public IntPtr NativeCallback(IntPtr mem, IntPtr offset, IntPtr size)
 {
     try {
         Gst.Memory __ret = managed(mem == IntPtr.Zero ? null : (Gst.Memory)GLib.Opaque.GetOpaque(mem, typeof(Gst.Memory), false), (long)offset, (long)size);
         if (release_on_call)
         {
             gch.Free();
         }
         return(__ret == null ? IntPtr.Zero : __ret.OwnedCopy);
     } catch (Exception e) {
         GLib.ExceptionManager.RaiseUnhandledException(e, true);
         // NOTREACHED: Above call does not return.
         throw e;
     }
 }
        private void InternalFree(Gst.Memory memory)
        {
            FreeNativeDelegate unmanaged = null;

            unsafe {
                IntPtr *raw_ptr = (IntPtr *)(((long)this.LookupGType().GetThresholdType().GetClassPtr()) + (long)class_abi.GetFieldOffset("free"));
                unmanaged = (FreeNativeDelegate)Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FreeNativeDelegate));
            }
            if (unmanaged == null)
            {
                return;
            }

            memory.Owned = false;
            unmanaged(this.Handle, memory == null ? IntPtr.Zero : memory.Handle);
        }
 Gst.Memory InvokeNative(Gst.Memory mem, long offset, long size)
 {
     Gst.Memory __result = native_cb(mem == null ? IntPtr.Zero : mem.Handle, new IntPtr(offset), new IntPtr(size)) == IntPtr.Zero ? null : (Gst.Memory)GLib.Opaque.GetOpaque(native_cb(mem == null ? IntPtr.Zero : mem.Handle, new IntPtr(offset), new IntPtr(size)), typeof(Gst.Memory), true);
     return(__result);
 }
Beispiel #5
0
 void InvokeNative(Gst.Memory mem)
 {
     native_cb(mem == null ? IntPtr.Zero : mem.Handle);
 }
Beispiel #6
0
 public void ReplaceMemoryRange(uint idx, int length, Gst.Memory mem)
 {
     mem.Owned = false;
     gst_buffer_replace_memory_range(Handle, idx, length, mem == null ? IntPtr.Zero : mem.Handle);
 }
Beispiel #7
0
 public void ReplaceMemory(uint idx, Gst.Memory mem)
 {
     mem.Owned = false;
     gst_buffer_replace_memory(Handle, idx, mem == null ? IntPtr.Zero : mem.Handle);
 }
Beispiel #8
0
 public void ReplaceAllMemory(Gst.Memory mem)
 {
     mem.Owned = false;
     gst_buffer_replace_all_memory(Handle, mem == null ? IntPtr.Zero : mem.Handle);
 }
Beispiel #9
0
 public void PrependMemory(Gst.Memory mem)
 {
     mem.Owned = false;
     gst_buffer_prepend_memory(Handle, mem == null ? IntPtr.Zero : mem.Handle);
 }
Beispiel #10
0
 public void InsertMemory(int idx, Gst.Memory mem)
 {
     mem.Owned = false;
     gst_buffer_insert_memory(Handle, idx, mem == null ? IntPtr.Zero : mem.Handle);
 }
 public void Free(Gst.Memory memory)
 {
     memory.Owned = false;
     gst_allocator_free(Handle, memory == null ? IntPtr.Zero : memory.Handle);
 }
 protected virtual void OnFree(Gst.Memory memory)
 {
     InternalFree(memory);
 }
Beispiel #13
0
        IntPtr InvokeNative(Gst.Memory mem, ulong maxsize, Gst.MapFlags flags)
        {
            IntPtr __result = native_cb(mem == null ? IntPtr.Zero : mem.Handle, new UIntPtr(maxsize), (int)flags);

            return(__result);
        }
        bool InvokeNative(Gst.Memory mem1, Gst.Memory mem2, ulong offset)
        {
            bool __result = native_cb(mem1 == null ? IntPtr.Zero : mem1.Handle, mem2 == null ? IntPtr.Zero : mem2.Handle, new UIntPtr(offset));

            return(__result);
        }