示例#1
0
        public static bool QueryParseAngles(Gst.Query query, out uint cur_angle, out uint n_angles)
        {
            bool raw_ret = gst_navigation_query_parse_angles(query == null ? IntPtr.Zero : query.Handle, out cur_angle, out n_angles);
            bool ret     = raw_ret;

            return(ret);
        }
示例#2
0
        public static bool QueryParseCommandsLength(Gst.Query query, out uint n_cmds)
        {
            bool raw_ret = gst_navigation_query_parse_commands_length(query == null ? IntPtr.Zero : query.Handle, out n_cmds);
            bool ret     = raw_ret;

            return(ret);
        }
示例#3
0
        public static Gst.Query QueryNewCommands()
        {
            IntPtr raw_ret = gst_navigation_query_new_commands();

            Gst.Query ret = raw_ret == IntPtr.Zero ? null : (Gst.Query)GLib.Opaque.GetOpaque(raw_ret, typeof(Gst.Query), true);
            return(ret);
        }
示例#4
0
        public static Gst.Video.NavigationQueryType QueryGetType(Gst.Query query)
        {
            int raw_ret = gst_navigation_query_get_type(query == null ? IntPtr.Zero : query.Handle);

            Gst.Video.NavigationQueryType ret = (Gst.Video.NavigationQueryType)raw_ret;
            return(ret);
        }
        public static bool ParseCommands(Gst.Query query, out NavigationCommand[] cmds)
        {
            uint len;

            cmds = null;
            if (!QueryParseCommandsLength(query, out len))
            {
                return(false);
            }

            cmds = new NavigationCommand[len];

            for (uint i = 0; i < len; i++)
            {
                NavigationCommand cmd;

                if (!QueryParseCommandsNth(query, i, out cmd))
                {
                    return(false);
                }
                cmds[i] = cmd;
            }

            return(true);
        }
示例#6
0
        bool InvokeNative(Gst.Base.CollectPads pads, Gst.Base.CollectData pad, Gst.Query query)
        {
            IntPtr native_pad = GLib.Marshaller.StructureToPtrAlloc(pad);
            bool   __result   = native_cb(pads == null ? IntPtr.Zero : pads.Handle, native_pad, query == null ? IntPtr.Zero : query.Handle, __data);

            Marshal.FreeHGlobal(native_pad);
            return(__result);
        }
示例#7
0
        public bool QueryDefault(Gst.Base.CollectData data, Gst.Query query, bool discard)
        {
            IntPtr native_data = GLib.Marshaller.StructureToPtrAlloc(data);
            bool   raw_ret     = gst_collect_pads_query_default(Handle, native_data, query == null ? IntPtr.Zero : query.Handle, discard);
            bool   ret         = raw_ret;

            Marshal.FreeHGlobal(native_data);
            return(ret);
        }
示例#8
0
        public static bool QueryParseCommandsNth(Gst.Query query, uint nth, out Gst.Video.NavigationCommand cmd)
        {
            int  native_cmd;
            bool raw_ret = gst_navigation_query_parse_commands_nth(query == null ? IntPtr.Zero : query.Handle, nth, out native_cmd);
            bool ret     = raw_ret;

            cmd = (Gst.Video.NavigationCommand)native_cmd;
            return(ret);
        }
示例#9
0
        public static void QuerySetCommandsv(Gst.Query query, Gst.Video.NavigationCommand[] cmds)
        {
            int cnt_cmds = cmds == null ? 0 : cmds.Length;

            int[] native_cmds = new int [cnt_cmds];
            for (int i = 0; i < cnt_cmds; i++)
            {
                native_cmds [i] = (int)cmds[i];
            }
            gst_navigation_query_set_commandsv(query == null ? IntPtr.Zero : query.Handle, (cmds == null ? 0 : cmds.Length), native_cmds);
        }
        private bool InternalSrcQuery(Gst.Query query)
        {
            SrcQueryNativeDelegate unmanaged = null;

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

            bool __result = unmanaged(this.Handle, query == null ? IntPtr.Zero : query.Handle);

            return(__result);
        }
 protected virtual bool OnSrcQuery(Gst.Query query)
 {
     return(InternalSrcQuery(query));
 }
示例#12
0
 protected virtual bool OnQuery(Gst.Pad pad, Gst.Query query)
 {
     return(InternalQuery(pad, query));
 }
示例#13
0
 public static void QuerySetAngles(Gst.Query query, uint cur_angle, uint n_angles)
 {
     gst_navigation_query_set_angles(query == null ? IntPtr.Zero : query.Handle, cur_angle, n_angles);
 }
示例#14
0
 protected virtual bool OnDecideAllocation(Gst.Query query)
 {
     return(InternalDecideAllocation(query));
 }
示例#15
0
        bool InvokeNative(Gst.Pad pad, Gst.Object parent, Gst.Query query)
        {
            bool __result = native_cb(pad == null ? IntPtr.Zero : pad.Handle, parent == null ? IntPtr.Zero : parent.Handle, query == null ? IntPtr.Zero : query.Handle);

            return(__result);
        }