Пример #1
0
		static GstBufferClass GetClassStruct (Gst.GLib.GType gtype, bool use_cache)
		{
			if (class_structs == null)
				class_structs = new Hashtable ();

			if (use_cache && class_structs.Contains (gtype))
				return (GstBufferClass) class_structs [gtype];
			else {
				IntPtr class_ptr = new IntPtr (gtype.GetClassPtr ().ToInt64 () + class_offset);
				GstBufferClass class_struct = (GstBufferClass) Marshal.PtrToStructure (class_ptr, typeof (GstBufferClass));
				if (use_cache)
					class_structs.Add (gtype, class_struct);
				return class_struct;
			}
		}
Пример #2
0
		static void OverrideClassStruct (Gst.GLib.GType gtype, GstMixerTrackClass class_struct)
		{
			IntPtr class_ptr = new IntPtr (gtype.GetClassPtr ().ToInt64 () + class_offset);
			Marshal.StructureToPtr (class_struct, class_ptr, false);
		}
Пример #3
0
		static void OverrideParentSet (Gst.GLib.GType gtype, ParentSetNativeDelegate callback)
		{
			gstsharp_object_override_parent_set (gtype.GetClassPtr (), callback);
		}
Пример #4
0
		static void OverrideHandleMessage (Gst.GLib.GType gtype, HandleMessageNativeDelegate callback)
		{
			gstsharp_bin_override_handle_message (gtype.GetClassPtr (), callback);
		}
Пример #5
0
		static void OverrideDoLatency (Gst.GLib.GType gtype, DoLatencyNativeDelegate callback)
		{
			gstsharp_bin_override_do_latency (gtype.GetClassPtr (), callback);
		}
Пример #6
0
		static void OverrideAddElement (Gst.GLib.GType gtype, AddElementNativeDelegate callback)
		{
			gstsharp_bin_override_add_element (gtype.GetClassPtr (), callback);
		}
Пример #7
0
		static void OverrideRemoveElement (Gst.GLib.GType gtype, RemoveElementNativeDelegate callback)
		{
			gstsharp_bin_override_remove_element (gtype.GetClassPtr (), callback);
		}
Пример #8
0
		static void OverrideElementAdded (Gst.GLib.GType gtype, ElementAddedNativeDelegate callback)
		{
			gstsharp_bin_override_element_added (gtype.GetClassPtr (), callback);
		}
Пример #9
0
		static void OverrideClassStruct (Gst.GLib.GType gtype, GstInterpolationControlSourceClass class_struct)
		{
			IntPtr class_ptr = new IntPtr (gtype.GetClassPtr ().ToInt64 () + class_offset);
			Marshal.StructureToPtr (class_struct, class_ptr, false);
		}
Пример #10
0
 static void OverrideClassStruct (Gst.GLib.GType gtype, GstMiniObjectClass class_struct) {
   IntPtr class_ptr = gtype.GetClassPtr ();
   Marshal.StructureToPtr (class_struct, class_ptr, false);
 }
Пример #11
0
protected static void SetDetails (Gst.GLib.GType gtype, string longname, string klass, string description, string author) {
  IntPtr class_ptr = new IntPtr (gtype.GetClassPtr ().ToInt64 ());
  IntPtr native_longname = Gst.GLib.Marshaller.StringToPtrGStrdup (longname);
  IntPtr native_klass = Gst.GLib.Marshaller.StringToPtrGStrdup (klass);
  IntPtr native_desc = Gst.GLib.Marshaller.StringToPtrGStrdup (description);
  IntPtr native_author = Gst.GLib.Marshaller.StringToPtrGStrdup (author);
  gst_element_class_set_details_simple (class_ptr, native_longname, native_klass, native_desc, native_author);

  Gst.GLib.Marshaller.Free (native_longname);
  Gst.GLib.Marshaller.Free (native_klass);
  Gst.GLib.Marshaller.Free (native_desc);
  Gst.GLib.Marshaller.Free (native_author);
}
Пример #12
0
protected static void AddPadTemplate (Gst.GLib.GType gtype, Gst.PadTemplate templ) {
  IntPtr class_ptr = new IntPtr (gtype.GetClassPtr ().ToInt64 ());
  gst_element_class_add_pad_template (class_ptr, templ.Handle);
}