コード例 #1
0
ファイル: Layer.cs プロジェクト: nimeshgit/gstreamer-sharp
        public GES.Clip AddAsset(GES.Asset asset, ulong start, ulong inpoint, ulong duration, GES.TrackType track_types)
        {
            IntPtr raw_ret = ges_layer_add_asset(Handle, asset == null ? IntPtr.Zero : asset.Handle, start, inpoint, duration, (int)track_types);

            GES.Clip ret = GLib.Object.GetObject(raw_ret) as GES.Clip;
            return(ret);
        }
コード例 #2
0
ファイル: Layer.cs プロジェクト: nimeshgit/gstreamer-sharp
        public bool RemoveClip(GES.Clip clip)
        {
            bool raw_ret = ges_layer_remove_clip(Handle, clip == null ? IntPtr.Zero : clip.Handle);
            bool ret     = raw_ret;

            return(ret);
        }
コード例 #3
0
        public GES.Clip Split(ulong position)
        {
            IntPtr raw_ret = ges_clip_split(Handle, position);

            GES.Clip ret = GLib.Object.GetObject(raw_ret) as GES.Clip;
            return(ret);
        }
コード例 #4
0
ファイル: Layer.cs プロジェクト: nimeshgit/gstreamer-sharp
        public unsafe bool AddClipFull(GES.Clip clip)
        {
            IntPtr error   = IntPtr.Zero;
            bool   raw_ret = ges_layer_add_clip_full(Handle, clip == null ? IntPtr.Zero : clip.Handle, out error);
            bool   ret     = raw_ret;

            if (error != IntPtr.Zero)
            {
                throw new GLib.GException(error);
            }
            return(ret);
        }
コード例 #5
0
ファイル: Layer.cs プロジェクト: nimeshgit/gstreamer-sharp
        public unsafe GES.Clip AddAssetFull(GES.Asset asset, ulong start, ulong inpoint, ulong duration, GES.TrackType track_types)
        {
            IntPtr error   = IntPtr.Zero;
            IntPtr raw_ret = ges_layer_add_asset_full(Handle, asset == null ? IntPtr.Zero : asset.Handle, start, inpoint, duration, (int)track_types, out error);

            GES.Clip ret = GLib.Object.GetObject(raw_ret) as GES.Clip;
            if (error != IntPtr.Zero)
            {
                throw new GLib.GException(error);
            }
            return(ret);
        }
コード例 #6
0
ファイル: Clip.cs プロジェクト: nimeshgit/gstreamer-sharp
        public unsafe GES.Clip SplitFull(ulong position)
        {
            IntPtr error   = IntPtr.Zero;
            IntPtr raw_ret = ges_clip_split_full(Handle, position, out error);

            GES.Clip ret = GLib.Object.GetObject(raw_ret) as GES.Clip;
            if (error != IntPtr.Zero)
            {
                throw new GLib.GException(error);
            }
            return(ret);
        }
コード例 #7
0
ファイル: Layer.cs プロジェクト: nimeshgit/gstreamer-sharp
        private void InternalObjectRemoved(GES.Clip _object)
        {
            ObjectRemovedNativeDelegate unmanaged = null;

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

            unmanaged(this.Handle, _object == null ? IntPtr.Zero : _object.Handle);
        }
コード例 #8
0
ファイル: Layer.cs プロジェクト: nimeshgit/gstreamer-sharp
 private void InternalClipRemoved(GES.Clip clip)
 {
     GLib.Value      ret             = GLib.Value.Empty;
     GLib.ValueArray inst_and_params = new GLib.ValueArray(2);
     GLib.Value[]    vals            = new GLib.Value [2];
     vals [0] = new GLib.Value(this);
     inst_and_params.Append(vals [0]);
     vals [1] = new GLib.Value(clip);
     inst_and_params.Append(vals [1]);
     g_signal_chain_from_overridden(inst_and_params.ArrayPtr, ref ret);
     foreach (GLib.Value v in vals)
     {
         v.Dispose();
     }
 }
コード例 #9
0
ファイル: Layer.cs プロジェクト: nimeshgit/gstreamer-sharp
 protected virtual void OnObjectRemoved(GES.Clip _object)
 {
     InternalObjectRemoved(_object);
 }
コード例 #10
0
ファイル: Layer.cs プロジェクト: nimeshgit/gstreamer-sharp
 protected virtual void OnClipRemoved(GES.Clip clip)
 {
     InternalClipRemoved(clip);
 }
 IntPtr[] InvokeNative(GES.Clip clip, GES.TrackType type)
 {
     IntPtr[] __result = (IntPtr[])GLib.Marshaller.ListPtrToArray(native_cb(clip == null ? IntPtr.Zero : clip.Handle, (int)type), typeof(GLib.List), false, false, typeof(IntPtr));
     return(__result);
 }
 GES.TrackElement InvokeNative(GES.Clip clip, GES.TrackType type)
 {
     GES.TrackElement __result = GLib.Object.GetObject(native_cb(clip == null ? IntPtr.Zero : clip.Handle, (int)type)) as GES.TrackElement;
     return(__result);
 }
コード例 #13
0
        bool InvokeNative(GES.Clip clip, GES.TrackElement track_element, Gst.Element nleobj)
        {
            bool __result = native_cb(clip == null ? IntPtr.Zero : clip.Handle, track_element == null ? IntPtr.Zero : track_element.Handle, nleobj == null ? IntPtr.Zero : nleobj.Handle);

            return(__result);
        }