public object this[string property] { get { Gst.GLib.Value v = GetProperty (property); object o = v.Val; v.Dispose (); return o; } set { Gst.GLib.Value v = new Gst.GLib.Value (this, property); v.Val = value; SetProperty (property, v); v.Dispose (); } }
public void Set (params object[] fields) { int i, length = fields.Length; if (length % 2 != 0) throw new ArgumentException (); for (i = 0; i < length; i += 2) { if (fields[i].GetType () != typeof (string)) throw new ArgumentException (); Gst.GLib.Value v = new Gst.GLib.Value (fields[i+1]); SetValue (fields[i] as string, v); v.Dispose (); } }
public void Set (string field, object value) { Gst.GLib.Value v = new Gst.GLib.Value (value); SetValue (field, v); v.Dispose (); }
public void Add (Gst.TagMergeMode mode, string tag, object value) { if (!Tag.Exists (tag)) throw new ArgumentException (String.Format ("Invalid tag name '{0}'", tag)); Gst.GLib.Value v = new Gst.GLib.Value (value); IntPtr raw_v = Gst.GLib.Marshaller.StructureToPtrAlloc (v); IntPtr raw_string = Gst.GLib.Marshaller.StringToPtrGStrdup (tag); gst_tag_list_add_value (Handle, (int) mode, raw_string, raw_v); Marshal.FreeHGlobal (raw_v); v.Dispose (); Gst.GLib.Marshaller.Free (raw_string); }