コード例 #1
0
        public Gst.ParseContext Copy()
        {
            IntPtr raw_ret = gst_parse_context_copy(Handle);

            Gst.ParseContext ret = raw_ret == IntPtr.Zero ? null : (Gst.ParseContext)GLib.Opaque.GetOpaque(raw_ret, typeof(Gst.ParseContext), true);
            return(ret);
        }
コード例 #2
0
ファイル: Parse.cs プロジェクト: thiblahute/gstreamer-sharp
        public static unsafe Gst.Element LaunchvFull(string[] argv, Gst.ParseContext context, Gst.ParseFlags flags)
        {
            int cnt_argv = argv == null ? 0 : argv.Length;

            IntPtr[] native_argv = new IntPtr [cnt_argv + 1];
            for (int i = 0; i < cnt_argv; i++)
            {
                native_argv [i] = GLib.Marshaller.StringToPtrGStrdup(argv[i]);
            }
            native_argv [cnt_argv] = IntPtr.Zero;
            IntPtr error   = IntPtr.Zero;
            IntPtr raw_ret = gst_parse_launchv_full(native_argv, context == null ? IntPtr.Zero : context.Handle, (int)flags, out error);

            Gst.Element ret = GLib.Object.GetObject(raw_ret) as Gst.Element;
            for (int i = 0; i < native_argv.Length - 1; i++)
            {
                argv [i] = GLib.Marshaller.Utf8PtrToString(native_argv[i]);
                GLib.Marshaller.Free(native_argv[i]);
            }
            if (error != IntPtr.Zero)
            {
                throw new GLib.GException(error);
            }
            return(ret);
        }
コード例 #3
0
        public static unsafe Gst.Element LaunchFull(string pipeline_description, Gst.ParseContext context, Gst.ParseFlags flags)
        {
            IntPtr native_pipeline_description = GLib.Marshaller.StringToPtrGStrdup(pipeline_description);
            IntPtr error   = IntPtr.Zero;
            IntPtr raw_ret = gst_parse_launch_full(native_pipeline_description, context == null ? IntPtr.Zero : context.Handle, (int)flags, out error);

            Gst.Element ret = GLib.Object.GetObject(raw_ret) as Gst.Element;
            GLib.Marshaller.Free(native_pipeline_description);
            if (error != IntPtr.Zero)
            {
                throw new GLib.GException(error);
            }
            return(ret);
        }
コード例 #4
0
        public static unsafe Gst.Element BinFromDescriptionFull(string bin_description, bool ghost_unlinked_pads, Gst.ParseContext context, Gst.ParseFlags flags)
        {
            IntPtr native_bin_description = GLib.Marshaller.StringToPtrGStrdup(bin_description);
            IntPtr error   = IntPtr.Zero;
            IntPtr raw_ret = gst_parse_bin_from_description_full(native_bin_description, ghost_unlinked_pads, context == null ? IntPtr.Zero : context.Handle, (int)flags, out error);

            Gst.Element ret = GLib.Object.GetObject(raw_ret) as Gst.Element;
            GLib.Marshaller.Free(native_bin_description);
            if (error != IntPtr.Zero)
            {
                throw new GLib.GException(error);
            }
            return(ret);
        }