diff --git a/doc/en/Gst/DeepNotifyArgs.xml b/doc/en/Gst/DeepNotifyArgs.xml deleted file mode 100644 index 5ee39d36a3..0000000000 --- a/doc/en/Gst/DeepNotifyArgs.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - gstreamer-sharp - 0.9.5.99 - - - GLib.SignalArgs - - - - To be added. - To be added. - - - - - - - Constructor - - To be added.To be added. - 0.9.5.99 - - Property - Gst.Object - To be added.To be added.To be added. - 0.9.5.99 - - Property - System.IntPtr - To be added.To be added.To be added. - 0.9.5.99 - - diff --git a/doc/en/Gst/DeepNotifyHandler.xml b/doc/en/Gst/DeepNotifyHandler.xml deleted file mode 100644 index 55a40fb9f8..0000000000 --- a/doc/en/Gst/DeepNotifyHandler.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - gstreamer-sharp - 0.9.5.99 - - - System.Delegate - - - - - - - System.Void - - - To be added. - To be added. - To be added. - To be added. - - diff --git a/doc/en/Gst/Event.xml b/doc/en/Gst/Event.xml index 65fcb16116..d3e98190ce 100644 --- a/doc/en/Gst/Event.xml +++ b/doc/en/Gst/Event.xml @@ -30,100 +30,32 @@ - - + + + + + + + + + + + Constructor To be added.To be added. - 0.9.5.99 - - Constructor - - To be added.To be added.To be added. - 0.9.5.99 - - Constructor - - To be added.To be added.To be added. - 0.9.5.99 + 0.9.5.99Constructor0.9.5.99To be added.To be added.To be added. Constructor To be added.To be added.To be added. - 0.9.5.99Constructor0.9.5.99To be added.To be added.To be added. - - Constructor - - To be added.To be added.To be added.To be added. - 0.9.5.99 - - Constructor - - To be added.To be added.To be added.To be added.To be added. - 0.9.5.99 - - Constructor - - To be added.To be added.To be added.To be added.To be added.To be added. - 0.9.5.99 - - Constructor - - To be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added. - 0.9.5.99Constructor0.9.5.99To be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added. - - Constructor - - To be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added. - 0.9.5.99 + 0.9.5.99Method0.9.5.99Gst.EventTypeFlagsTo be added.To be added.To be added.To be added.Method0.9.5.99System.StringTo be added.To be added.To be added.To be added.Method0.9.5.99System.UInt32To be added.To be added.To be added.To be added. Property GLib.GType To be added.To be added.To be added. - 0.9.5.99Method0.9.5.99System.BooleanTo be added.To be added.To be added.To be added. - - Method - Gst.Event - - To be added.To be added.To be added. - 0.9.5.99 - - Method - Gst.Event - - To be added.To be added.To be added. - 0.9.5.99 - - Method - System.Void - - To be added.To be added.To be added.To be added.To be added.To be added. - 0.9.5.99Method0.9.5.99System.UInt64To be added.To be added.To be added. - - Method - System.Void - - To be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added. - 0.9.5.99Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added. - - Method - System.Void - - To be added.To be added.To be added.To be added.To be added. - 0.9.5.99 - - Method - System.Void - - To be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added. - 0.9.5.99 - - Method - System.Void - - To be added.To be added.To be added. - 0.9.5.99Property0.9.5.99System.UInt32To be added.To be added.To be added. - + 0.9.5.99Property0.9.5.99System.BooleanTo be added.To be added.To be added.Property0.9.5.99System.BooleanTo be added.To be added.To be added.Property0.9.5.99System.BooleanTo be added.To be added.To be added.Method0.9.5.99Gst.EventTypeTo be added.To be added.To be added.To be added.To be added.Method0.9.5.99Gst.EventTo be added.To be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99Gst.EventTo be added.To be added.To be added.To be added.To be added.Method0.9.5.99Gst.EventTo be added.To be added.To be added.Method0.9.5.99Gst.EventTo be added.To be added.To be added.Method0.9.5.99Gst.EventTo be added.To be added.To be added.Method0.9.5.99Gst.EventTo be added.To be added.To be added.To be added.Method0.9.5.99Gst.EventTo be added.To be added.To be added.To be added.Method0.9.5.99Gst.EventTo be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99Gst.EventTo be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99Gst.EventTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99Gst.EventTo be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99Gst.EventTo be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.Property0.9.5.99System.UInt32To be added.To be added.To be added. + Property Gst.Object To be added.To be added.To be added. @@ -133,7 +65,7 @@ Gst.Structure To be added.To be added.To be added. 0.9.5.99 - + Property System.UInt64 To be added.To be added.To be added. @@ -142,26 +74,5 @@ Property Gst.EventType To be added.To be added.To be added. - 0.9.5.99 - - Method - System.String - - To be added.To be added.To be added.To be added. - 0.9.5.99 - - Method - System.Int32 - - To be added.To be added.To be added.To be added. - 0.9.5.99 - - - - - - - - - + 0.9.5.99Property0.9.5.99System.StringTo be added.To be added.To be added. diff --git a/doc/en/Gst/EventType.xml b/doc/en/Gst/EventType.xml index aaf36a0aac..9362f17c69 100644 --- a/doc/en/Gst/EventType.xml +++ b/doc/en/Gst/EventType.xml @@ -22,32 +22,12 @@ - - - Field - Gst.EventType - To be added. - 0.9.5.99 - - Field - Gst.EventType - To be added. - 0.9.5.99 + Field Gst.EventType To be added. - 0.9.5.99 - - Field - Gst.EventType - To be added. - 0.9.5.99 - - Field - Gst.EventType - To be added. - 0.9.5.99 + 0.9.5.99Field0.9.5.99Gst.EventTypeTo be added.Field0.9.5.99Gst.EventTypeTo be added.Field0.9.5.99Gst.EventTypeTo be added.Field0.9.5.99Gst.EventTypeTo be added.Field0.9.5.99Gst.EventTypeTo be added. Field Gst.EventType @@ -92,11 +72,6 @@ Field Gst.EventType To be added. - 0.9.5.99 - - Field - Gst.EventType - To be added. 0.9.5.99 diff --git a/doc/en/Gst/EventTypeFlags.xml b/doc/en/Gst/EventTypeFlags.xml index 0956bb29c4..75f4b071d4 100644 --- a/doc/en/Gst/EventTypeFlags.xml +++ b/doc/en/Gst/EventTypeFlags.xml @@ -20,7 +20,7 @@ To be added. - + Field0.9.5.99Gst.EventTypeFlagsTo be added. Field Gst.EventTypeFlags diff --git a/doc/en/Gst/Object.xml b/doc/en/Gst/Object.xml index d2b321f7bc..69972afa46 100644 --- a/doc/en/Gst/Object.xml +++ b/doc/en/Gst/Object.xml @@ -1,5 +1,5 @@ - + gstreamer-sharp 0.9.5.99 @@ -39,28 +39,10 @@ Constructor To be added.To be added.To be added. - 0.9.5.99 - - Method - System.Boolean - - To be added.To be added.To be added.To be added.To be added. - 0.9.5.99 - - Event - GLib.Signal("deep-notify") - Gst.DeepNotifyHandler - To be added.To be added. - 0.9.5.99 - - Method - System.Void - - To be added.To be added.To be added.To be added.To be added.To be added. - 0.9.5.99 - + 0.9.5.99Method0.9.5.99System.BooleanTo be added.To be added.To be added.To be added.To be added. + Property - System.UInt32 + Gst.ObjectFlags To be added.To be added.To be added. 0.9.5.99 @@ -73,7 +55,7 @@ System.Boolean To be added.To be added.To be added.To be added. - 0.9.5.99 + 0.9.5.99Method0.9.5.99System.VoidTo be added.To be added. Property GLib.Property("name") @@ -84,13 +66,7 @@ Property System.String To be added.To be added.To be added. - 0.9.5.99 - - Method - System.Void - - To be added.To be added.To be added.To be added. - 0.9.5.99GLib.DefaultSignalHandler(Type=typeof(Gst.Object), ConnectionMethod="OverrideDeepNotify") + 0.9.5.99 Method System.Void @@ -103,7 +79,7 @@ To be added.To be added.To be added. 0.9.5.99GLib.DefaultSignalHandler(Type=typeof(Gst.Object), ConnectionMethod="OverrideParentUnset") - + Property Gst.Object To be added.To be added.To be added. @@ -124,53 +100,12 @@ Property System.String To be added.To be added.To be added. - 0.9.5.99 - - Method - System.IntPtr - - To be added.To be added.To be added.To be added. - 0.9.5.99 - - Property - System.Int32 - To be added.To be added.To be added. - 0.9.5.99 - - Method - System.Void - - To be added.To be added.To be added. - 0.9.5.99 - - Method - System.Boolean - - To be added.To be added.To be added.To be added. - 0.9.5.99 - - Method - System.Boolean - - To be added.To be added.To be added.To be added. - 0.9.5.99 - - Method - System.Void - - To be added.To be added.To be added. - 0.9.5.99 + 0.9.5.99Property0.9.5.99System.IntPtrTo be added.To be added.To be added.Method0.9.5.99System.BooleanTo be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added. Method System.Void To be added.To be added. - 0.9.5.99 - - Method - System.Void - - To be added.To be added.To be added. 0.9.5.99 diff --git a/doc/en/Gst/Query.xml b/doc/en/Gst/Query.xml index 16ce63233f..e9c99c1ec0 100644 --- a/doc/en/Gst/Query.xml +++ b/doc/en/Gst/Query.xml @@ -52,7 +52,7 @@ Property GLib.GType To be added.To be added.To be added. - 0.9.5.99Property0.9.5.99System.StringTo be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.Method0.9.5.99Gst.QueryTypeTo be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added. + 0.9.5.99Method0.9.5.99Gst.QueryTo be added.To be added.To be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.To be added.Method0.9.5.99Gst.QueryTo be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.Method0.9.5.99Gst.QueryTypeTo be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added.To be added.To be added.To be added.Method0.9.5.99System.VoidTo be added.To be added.To be added. Property Gst.Structure @@ -62,5 +62,5 @@ Property Gst.QueryType To be added.To be added.To be added. - 0.9.5.99 + 0.9.5.99Property0.9.5.99System.StringTo be added.To be added.To be added. diff --git a/doc/en/index.xml b/doc/en/index.xml index 668059d69a..d47dce52e0 100644 --- a/doc/en/index.xml +++ b/doc/en/index.xml @@ -40,8 +40,6 @@ - - diff --git a/gstreamer-sharp/Bin.custom b/gstreamer-sharp/Bin.custom index 93267088ff..83b7830e65 100644 --- a/gstreamer-sharp/Bin.custom +++ b/gstreamer-sharp/Bin.custom @@ -26,11 +26,14 @@ public Element [] Children { [DllImport ("gstreamer-0.10.dll") ] static extern bool gst_bin_add (IntPtr raw, IntPtr element); +[DllImport ("gobject-2.0-0.dll") ] +static extern IntPtr g_object_ref (IntPtr raw); + public bool Add (Gst.Element element) { bool raw_ret = gst_bin_add (Handle, element == null ? IntPtr.Zero : element.Handle); if (raw_ret) { // Incrmenting the refcount of the element. - Gst.Object.Ref (element.Handle); + g_object_ref (element.Handle); } bool ret = raw_ret; return ret; diff --git a/gstreamer-sharp/DynamicSignal.cs b/gstreamer-sharp/DynamicSignal.cs index 91ca549325..0848be1aee 100644 --- a/gstreamer-sharp/DynamicSignal.cs +++ b/gstreamer-sharp/DynamicSignal.cs @@ -305,7 +305,7 @@ namespace Gst { [DllImport ("gobject-2.0.dll") ] static extern uint g_signal_lookup (IntPtr name, IntPtr itype); - [DllImport ("glib-2.0.dll") ] + [DllImport ("libglib-2.0.dll") ] static extern uint g_quark_from_string (IntPtr str); [DllImport ("gobject-2.0.dll") ] diff --git a/gstreamer-sharp/Element.custom b/gstreamer-sharp/Element.custom index bcfb6c04e6..c39fcf8895 100644 --- a/gstreamer-sharp/Element.custom +++ b/gstreamer-sharp/Element.custom @@ -58,10 +58,13 @@ public object Emit (string signal, params object[] parameters) { return DynamicSignal.Emit (this, signal, parameters); } +[DllImport ("gobject-2.0-0.dll")] +static extern IntPtr g_object_ref (IntPtr raw); + public bool AddPad (Pad p) { bool ret = gst_element_add_pad (this.Handle, p == null ? IntPtr.Zero : p.Handle); if (ret) - Gst.Object.Ref (p.Handle); + g_object_ref (p.Handle); return ret; } diff --git a/gstreamer-sharp/Gstreamer.metadata b/gstreamer-sharp/Gstreamer.metadata index 6b743326ca..1a22d0824f 100644 --- a/gstreamer-sharp/Gstreamer.metadata +++ b/gstreamer-sharp/Gstreamer.metadata @@ -267,8 +267,26 @@ 1 + 1 1 - 1 + 1 + 1 + 1 + 1 + true + GstObjectFlags + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 Last diff --git a/gstreamer-sharp/Object.custom b/gstreamer-sharp/Object.custom index c60f0e8f62..b00e0d1393 100644 --- a/gstreamer-sharp/Object.custom +++ b/gstreamer-sharp/Object.custom @@ -1,8 +1,80 @@ +[DllImport ("gstreamer-0.10.dll") ] +static extern void gst_object_sink (IntPtr raw); +[DllImport ("gstreamer-0.10.dll") ] +static extern IntPtr gst_object_ref (IntPtr raw); -public int Refcount { +protected override IntPtr Raw { get { - return this.RefCount; + return base.Raw; + } + set { + if (value != IntPtr.Zero) { + gst_object_ref (value); + gst_object_sink (value); + } + base.Raw = value; } } +[DllImport ("gstreamer-0.10.dll") ] +static extern bool gst_object_set_parent (IntPtr raw, IntPtr parent); +[DllImport ("gstreamer-0.10.dll") ] +static extern IntPtr gst_object_get_parent (IntPtr raw); + +public Gst.Object Parent { + set { + bool raw_ret = gst_object_set_parent (Handle, value == null ? IntPtr.Zero : value.Handle); + if (!raw_ret) + throw new ApplicationException (); + } + get { + IntPtr raw_ret = gst_object_get_parent (Handle); + Gst.Object ret = GLib.Object.GetObject (raw_ret, true) as Gst.Object; + return ret; + } +} + +[DllImport ("gstreamersharpglue-0.10") ] +extern static uint gstsharp_gst_object_get_lock_offset (); + +static uint lock_offset = gstsharp_gst_object_get_lock_offset (); +private IntPtr LockPtr { + get { + unsafe { + IntPtr* raw_ptr = (IntPtr*) ( ( (byte*) Handle) + lock_offset); + return (*raw_ptr); + } + } +} + +[DllImport ("libglib-2.0-0.dll") ] +static extern void g_mutex_lock (IntPtr mutex); +[DllImport ("libglib-2.0-0.dll") ] +static extern void g_mutex_unlock (IntPtr mutex); +[DllImport ("libglib-2.0-0.dll") ] +static extern bool g_mutex_trylock (IntPtr mutex); + +public void Lock () { + g_mutex_lock (LockPtr); +} + +public void Unlock () { + g_mutex_unlock (LockPtr); +} + +public bool TryLock () { + return g_mutex_trylock (LockPtr); +} + +[DllImport ("gstreamer-0.10.dll") ] +static extern bool gst_object_check_uniqueness (IntPtr list, IntPtr name); + +public static bool CheckUniqueness (Gst.Object[] objects, string name) { + GLib.List list = new GLib.List (objects, typeof (Gst.Object), false, false); + IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name); + bool raw_ret = gst_object_check_uniqueness (list.Handle, native_name); + bool ret = raw_ret; + GLib.Marshaller.Free (native_name); + return ret; +} diff --git a/gstreamer-sharp/glue/Makefile.am b/gstreamer-sharp/glue/Makefile.am index cb0d75424a..0e706d921d 100644 --- a/gstreamer-sharp/glue/Makefile.am +++ b/gstreamer-sharp/glue/Makefile.am @@ -9,6 +9,7 @@ libgstreamersharpglue_0_10_la_SOURCES = \ bin.c \ structure.c \ taglist.c \ + object.c \ gobject.c nodist_libgstreamersharpglue_0_10_la_SOURCES = generated.c diff --git a/gstreamer-sharp/glue/object.c b/gstreamer-sharp/glue/object.c new file mode 100644 index 0000000000..e059ca5e6a --- /dev/null +++ b/gstreamer-sharp/glue/object.c @@ -0,0 +1,7 @@ +#include + +guint +gstsharp_gst_object_get_lock_offset (void) +{ + return (guint) G_STRUCT_OFFSET (GstObject, lock); +} diff --git a/gstreamer-sharp/glue/taglist.c b/gstreamer-sharp/glue/taglist.c index db6aa603ce..09ab2da054 100644 --- a/gstreamer-sharp/glue/taglist.c +++ b/gstreamer-sharp/glue/taglist.c @@ -1,6 +1,8 @@ #include void -gstsharp_gst_tag_list_add_value (GstTagList *list, GstTagMergeMode mode, const gchar * tag, const GValue *v) { +gstsharp_gst_tag_list_add_value (GstTagList * list, GstTagMergeMode mode, + const gchar * tag, const GValue * v) +{ gst_tag_list_add_values (list, mode, tag, v, NULL); }