Finish/fix the Gst.Clock and related bindings and update docs
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 27 Apr 2009 09:32:58 +0000 (11:32 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 27 Apr 2009 09:32:58 +0000 (11:32 +0200)
19 files changed:
doc/en/Gst/Bus.xml
doc/en/Gst/Clock.xml
doc/en/Gst/ClockCallback.xml
doc/en/Gst/ClockEntry.xml
doc/en/Gst/ElementFactory.xml
doc/en/Gst/Index.xml
doc/en/Gst/Plugin.xml
doc/en/Gst/PluginFeature.xml
doc/en/Gst/Segment.xml
doc/en/Gst/TypeFindFactory.xml
doc/en/index.xml
gstreamer-sharp/Clock.custom
gstreamer-sharp/ClockEntry.custom [new file with mode: 0644]
gstreamer-sharp/Gstreamer.metadata
gstreamer-sharp/Makefile.am
gstreamer-sharp/Object.custom
gstreamer-sharp/glue/Makefile.am
gstreamer-sharp/glue/clock.c
gstreamer-sharp/glue/clockentry.c [new file with mode: 0644]

index 8eef0b8..dce2cd8 100644 (file)
       <ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue>
       <Parameters />
       <Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="SyncHandler">
-      <MemberSignature Language="C#" Value="public Gst.BusSyncHandler SyncHandler { set; }" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>Gst.BusSyncHandler</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="SyncMessage">
+    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="SyncHandler"><MemberSignature Language="C#" Value="public Gst.BusSyncHandler SyncHandler { set; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.BusSyncHandler</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="SyncMessage">
       <MemberSignature Language="C#" Value="public event Gst.SyncMessageHandler SyncMessage;" />
       <MemberType>Event</MemberType>
       <Attributes><Attribute><AttributeName>GLib.Signal("sync-message")</AttributeName></Attribute></Attributes>
index b8dc82e..fe57966 100644 (file)
     
     
     
-    <Member MemberName=".ctor">
+    <Member MemberName=".ctor"><MemberSignature Language="C#" Value="protected Clock ();" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Parameters /><Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName=".ctor">
       <MemberSignature Language="C#" Value="public Clock (IntPtr raw);" />
       <MemberType>Constructor</MemberType>
       <Parameters><Parameter Name="raw" Type="System.IntPtr" /></Parameters>
       <Docs><param name="raw">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Clock (Gst.Clock clock, ulong time);" />
-      <MemberType>Constructor</MemberType>
-      <Parameters><Parameter Name="clock" Type="Gst.Clock" /><Parameter Name="time" Type="System.UInt64" /></Parameters>
-      <Docs><param name="clock">To be added.</param><param name="time">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName=".ctor">
-      <MemberSignature Language="C#" Value="public Clock (Gst.Clock clock, ulong start_time, ulong interval);" />
-      <MemberType>Constructor</MemberType>
-      <Parameters><Parameter Name="clock" Type="Gst.Clock" /><Parameter Name="start_time" Type="System.UInt64" /><Parameter Name="interval" Type="System.UInt64" /></Parameters>
-      <Docs><param name="clock">To be added.</param><param name="start_time">To be added.</param><param name="interval">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
     <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="AddObservation">
       <MemberSignature Language="C#" Value="public bool AddObservation (ulong slave, ulong master, out double r_squared);" />
       <MemberType>Method</MemberType>
@@ -60,7 +50,7 @@
       <ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue>
       <Parameters><Parameter Name="_internal" Type="System.UInt64" /></Parameters>
       <Docs><param name="_internal">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="GetCalibration">
+    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Broadcast"><MemberSignature Language="C#" Value="public void Broadcast ();" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="ClockID"><MemberSignature Language="C#" Value="protected Gst.ClockEntry ClockID { set; get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.ClockEntry</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="Entries"><MemberSignature Language="C#" Value="protected Gst.ClockEntry[] Entries { get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.ClockEntry[]</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="ExternalCalibration"><MemberSignature Language="C#" Value="protected ulong ExternalCalibration { set; get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="Filling"><MemberSignature Language="C#" Value="protected bool Filling { set; get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="GetCalibration">
       <MemberSignature Language="C#" Value="public void GetCalibration (out ulong _internal, out ulong external, out ulong rate_num, out ulong rate_denom);" />
       <MemberType>Method</MemberType>
       <ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue>
       <MemberType>Property</MemberType>
       <ReturnValue><ReturnType>GLib.GType</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="IdCompareFunc">
-      <MemberSignature Language="C#" Value="public static int IdCompareFunc (IntPtr id1, IntPtr id2);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="id1" Type="System.IntPtr" /><Parameter Name="id2" Type="System.IntPtr" /></Parameters>
-      <Docs><param name="id1">To be added.</param><param name="id2">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="IdGetTime">
-      <MemberSignature Language="C#" Value="public static ulong IdGetTime (IntPtr id);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="id" Type="System.IntPtr" /></Parameters>
-      <Docs><param name="id">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="IdRef">
-      <MemberSignature Language="C#" Value="public static IntPtr IdRef (IntPtr id);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue><ReturnType>System.IntPtr</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="id" Type="System.IntPtr" /></Parameters>
-      <Docs><param name="id">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="IdUnref">
-      <MemberSignature Language="C#" Value="public static void IdUnref (IntPtr id);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="id" Type="System.IntPtr" /></Parameters>
-      <Docs><param name="id">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="IdUnschedule">
-      <MemberSignature Language="C#" Value="public static void IdUnschedule (IntPtr id);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="id" Type="System.IntPtr" /></Parameters>
-      <Docs><param name="id">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="IdWait">
-      <MemberSignature Language="C#" Value="public static Gst.ClockReturn IdWait (IntPtr id, out long jitter);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue><ReturnType>Gst.ClockReturn</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="id" Type="System.IntPtr" /><Parameter Name="jitter" Type="System.Int64&amp;" RefType="out" /></Parameters>
-      <Docs><param name="id">To be added.</param><param name="jitter">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="IdWaitAsync">
-      <MemberSignature Language="C#" Value="public static Gst.ClockReturn IdWaitAsync (IntPtr id, Gst.ClockCallback func);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue><ReturnType>Gst.ClockReturn</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="id" Type="System.IntPtr" /><Parameter Name="func" Type="Gst.ClockCallback" /></Parameters>
-      <Docs><param name="id">To be added.</param><param name="func">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="InternalTime">
+    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="InternalCalibration"><MemberSignature Language="C#" Value="protected ulong InternalCalibration { set; get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="InternalTime">
       <MemberSignature Language="C#" Value="public ulong InternalTime { get; }" />
       <MemberType>Property</MemberType>
       <ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Master">
-      <MemberSignature Language="C#" Value="public Gst.Clock Master { get; }" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>Gst.Clock</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="MSecond"><MemberSignature Language="C#" Value="public static readonly ulong MSecond = 1000000000;" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><MemberValue>1000000000</MemberValue><Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="NSecond"><MemberSignature Language="C#" Value="public static readonly ulong NSecond = 1000000000;" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><MemberValue>1000000000</MemberValue><Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="OnChangeResolution"><MemberSignature Language="C#" Value="protected virtual ulong OnChangeResolution (ulong old_resolution, ulong new_resolution);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideChangeResolution")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><Parameters><Parameter Name="old_resolution" Type="System.UInt64" /><Parameter Name="new_resolution" Type="System.UInt64" /></Parameters><Docs><param name="old_resolution">To be added.</param><param name="new_resolution">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="OnGetInternalTime"><MemberSignature Language="C#" Value="protected virtual ulong OnGetInternalTime ();" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideGetInternalTime")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="OnGetResolution"><MemberSignature Language="C#" Value="protected virtual ulong OnGetResolution ();" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideGetResolution")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="OnUnschedule"><MemberSignature Language="C#" Value="protected virtual void OnUnschedule (Gst.ClockEntry entry);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideUnschedule")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="entry" Type="Gst.ClockEntry" /></Parameters><Docs><param name="entry">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="OnWait"><MemberSignature Language="C#" Value="protected virtual Gst.ClockReturn OnWait (Gst.ClockEntry entry);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideWait")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>Gst.ClockReturn</ReturnType></ReturnValue><Parameters><Parameter Name="entry" Type="Gst.ClockEntry" /></Parameters><Docs><param name="entry">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="OnWaitAsync"><MemberSignature Language="C#" Value="protected virtual Gst.ClockReturn OnWaitAsync (Gst.ClockEntry entry);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideWaitAsync")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>Gst.ClockReturn</ReturnType></ReturnValue><Parameters><Parameter Name="entry" Type="Gst.ClockEntry" /></Parameters><Docs><param name="entry">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="OnWaitJitter"><MemberSignature Language="C#" Value="protected virtual Gst.ClockReturn OnWaitJitter (Gst.ClockEntry entry, out long jitter);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideWaitJitter")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>Gst.ClockReturn</ReturnType></ReturnValue><Parameters><Parameter Name="entry" Type="Gst.ClockEntry" /><Parameter Name="jitter" Type="System.Int64&amp;" RefType="out" /></Parameters><Docs><param name="entry">To be added.</param><param name="jitter">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="Resolution">
-      <MemberSignature Language="C#" Value="public ulong Resolution { get; }" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Second"><MemberSignature Language="C#" Value="public static readonly ulong Second = 1000000000;" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><MemberValue>1000000000</MemberValue><Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="SetCalibration">
+    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="LastTime"><MemberSignature Language="C#" Value="protected ulong LastTime { set; get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="Master"><MemberSignature Language="C#" Value="public Gst.Clock Master { set; get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.Clock</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="MSecond"><MemberSignature Language="C#" Value="public static readonly ulong MSecond = 1000000;" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><MemberValue>1000000</MemberValue><Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="NewPeriodicID"><MemberSignature Language="C#" Value="public Gst.ClockEntry NewPeriodicID (ulong start_time, ulong interval);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.ClockEntry</ReturnType></ReturnValue><Parameters><Parameter Name="start_time" Type="System.UInt64" /><Parameter Name="interval" Type="System.UInt64" /></Parameters><Docs><param name="start_time">To be added.</param><param name="interval">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="NewSingleShotID"><MemberSignature Language="C#" Value="public Gst.ClockEntry NewSingleShotID (ulong time);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.ClockEntry</ReturnType></ReturnValue><Parameters><Parameter Name="time" Type="System.UInt64" /></Parameters><Docs><param name="time">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="NSecond"><MemberSignature Language="C#" Value="public static readonly ulong NSecond = 1;" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><MemberValue>1</MemberValue><Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="OnChangeResolution"><MemberSignature Language="C#" Value="protected virtual ulong OnChangeResolution (ulong old_resolution, ulong new_resolution);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideChangeResolution")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><Parameters><Parameter Name="old_resolution" Type="System.UInt64" /><Parameter Name="new_resolution" Type="System.UInt64" /></Parameters><Docs><param name="old_resolution">To be added.</param><param name="new_resolution">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="OnGetInternalTime"><MemberSignature Language="C#" Value="protected virtual ulong OnGetInternalTime ();" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideGetInternalTime")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="OnGetResolution"><MemberSignature Language="C#" Value="protected virtual ulong OnGetResolution ();" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideGetResolution")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="OnUnschedule"><MemberSignature Language="C#" Value="protected virtual void OnUnschedule (Gst.ClockEntry entry);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideUnschedule")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="entry" Type="Gst.ClockEntry" /></Parameters><Docs><param name="entry">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="OnWaitAsync"><MemberSignature Language="C#" Value="protected virtual Gst.ClockReturn OnWaitAsync (Gst.ClockEntry entry);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideWaitAsync")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>Gst.ClockReturn</ReturnType></ReturnValue><Parameters><Parameter Name="entry" Type="Gst.ClockEntry" /></Parameters><Docs><param name="entry">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="OnWaitJitter"><MemberSignature Language="C#" Value="protected virtual Gst.ClockReturn OnWaitJitter (Gst.ClockEntry entry, out long jitter);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Attributes><Attribute><AttributeName>GLib.DefaultSignalHandler(Type=typeof(Gst.Clock), ConnectionMethod="OverrideWaitJitter")</AttributeName></Attribute></Attributes><ReturnValue><ReturnType>Gst.ClockReturn</ReturnType></ReturnValue><Parameters><Parameter Name="entry" Type="Gst.ClockEntry" /><Parameter Name="jitter" Type="System.Int64&amp;" RefType="out" /></Parameters><Docs><param name="entry">To be added.</param><param name="jitter">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="RateDenominator"><MemberSignature Language="C#" Value="protected ulong RateDenominator { set; get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="RateNumerator"><MemberSignature Language="C#" Value="protected ulong RateNumerator { set; get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="Resolution"><MemberSignature Language="C#" Value="public ulong Resolution { get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="Second"><MemberSignature Language="C#" Value="public static readonly ulong Second = 1000000000;" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><MemberValue>1000000000</MemberValue><Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="SetCalibration">
       <MemberSignature Language="C#" Value="public void SetCalibration (ulong _internal, ulong external, ulong rate_num, ulong rate_denom);" />
       <MemberType>Method</MemberType>
       <ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue>
       <Parameters><Parameter Name="_internal" Type="System.UInt64" /><Parameter Name="external" Type="System.UInt64" /><Parameter Name="rate_num" Type="System.UInt64" /><Parameter Name="rate_denom" Type="System.UInt64" /></Parameters>
       <Docs><param name="_internal">To be added.</param><param name="external">To be added.</param><param name="rate_num">To be added.</param><param name="rate_denom">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="SetMaster">
-      <MemberSignature Language="C#" Value="public bool SetMaster (Gst.Clock master);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="master" Type="Gst.Clock" /></Parameters>
-      <Docs><param name="master">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs>
     <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="SetResolution">
       <MemberSignature Language="C#" Value="public ulong SetResolution (ulong resolution);" />
       <MemberType>Method</MemberType>
       <ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue>
       <Parameters><Parameter Name="resolution" Type="System.UInt64" /></Parameters>
       <Docs><param name="resolution">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Stats">
+    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="SlaveLock"><MemberSignature Language="C#" Value="public void SlaveLock ();" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="SlaveUnlock"><MemberSignature Language="C#" Value="public void SlaveUnlock ();" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="Stats">
       <MemberSignature Language="C#" Value="public bool Stats { set; get; }" />
       <MemberType>Property</MemberType>
       <Attributes><Attribute><AttributeName>GLib.Property("stats")</AttributeName></Attribute></Attributes>
       <MemberType>Property</MemberType>
       <ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="TimeIsValid"><MemberSignature Language="C#" Value="public static bool TimeIsValid (ulong time);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="time" Type="System.UInt64" /></Parameters><Docs><param name="time">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="TimeNone"><MemberSignature Language="C#" Value="public static readonly ulong TimeNone = 18446744073709551615;" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><MemberValue>18446744073709551615</MemberValue><Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="Timeout">
+    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="TimeIndex"><MemberSignature Language="C#" Value="protected int TimeIndex { set; get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="TimeIsValid"><MemberSignature Language="C#" Value="public static bool TimeIsValid (ulong time);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="time" Type="System.UInt64" /></Parameters><Docs><param name="time">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="TimeNone"><MemberSignature Language="C#" Value="public static readonly ulong TimeNone = 18446744073709551615;" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><MemberValue>18446744073709551615</MemberValue><Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="Timeout">
       <MemberSignature Language="C#" Value="public ulong Timeout { set; get; }" />
       <MemberType>Property</MemberType>
       <Attributes><Attribute><AttributeName>GLib.Property("timeout")</AttributeName></Attribute></Attributes>
       <ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="UnadjustUnlocked"><MemberSignature Language="C#" Value="public ulong UnadjustUnlocked (ulong external);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><Parameters><Parameter Name="external" Type="System.UInt64" /></Parameters><Docs><param name="external">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="USecond"><MemberSignature Language="C#" Value="public static readonly ulong USecond = 1000000000;" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><MemberValue>1000000000</MemberValue><Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="WindowSize">
+    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Times"><MemberSignature Language="C#" Value="protected ulong[] Times { get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64[]</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="TrySlaveLock"><MemberSignature Language="C#" Value="public bool TrySlaveLock ();" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="UnadjustUnlocked"><MemberSignature Language="C#" Value="public ulong UnadjustUnlocked (ulong external);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><Parameters><Parameter Name="external" Type="System.UInt64" /></Parameters><Docs><param name="external">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="USecond"><MemberSignature Language="C#" Value="public static readonly ulong USecond = 1000;" /><MemberType>Field</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><MemberValue>1000</MemberValue><Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="Wait"><MemberSignature Language="C#" Value="public void Wait ();" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="Wait"><MemberSignature Language="C#" Value="public bool Wait (TimeSpan timespan);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="timespan" Type="System.TimeSpan" /></Parameters><Docs><param name="timespan">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="Wait"><MemberSignature Language="C#" Value="public bool Wait (uint mseconds);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Parameters><Parameter Name="mseconds" Type="System.UInt32" /></Parameters><Docs><param name="mseconds">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="WindowSize">
       <MemberSignature Language="C#" Value="public int WindowSize { set; get; }" />
       <MemberType>Property</MemberType>
       <Attributes><Attribute><AttributeName>GLib.Property("window-size")</AttributeName></Attribute></Attributes>
index f45c270..be2b129 100644 (file)
@@ -1,5 +1,5 @@
 <Type Name="ClockCallback" FullName="Gst.ClockCallback">
-  <TypeSignature Language="C#" Value="public delegate bool ClockCallback(Clock clock, ulong time, IntPtr id);" />
+  <TypeSignature Language="C#" Value="public delegate bool ClockCallback(Clock clock, ulong time, ClockEntry id);" />
   <AssemblyInfo>
     <AssemblyName>gstreamer-sharp</AssemblyName>
     <AssemblyVersion>0.9.5.99</AssemblyVersion>
@@ -10,7 +10,7 @@
   <Parameters>
     <Parameter Name="clock" Type="Gst.Clock" />
     <Parameter Name="time" Type="System.UInt64" />
-    <Parameter Name="id" Type="System.IntPtr" />
+    <Parameter Name="id" Type="Gst.ClockEntry" />
   </Parameters>
   <ReturnValue>
     <ReturnType>System.Boolean</ReturnType>
index 7ef04ca..0a89685 100644 (file)
@@ -1,11 +1,11 @@
 <Type Name="ClockEntry" FullName="Gst.ClockEntry">
-  <TypeSignature Language="C#" Value="public struct ClockEntry" />
+  <TypeSignature Language="C#" Value="public class ClockEntry : GLib.Opaque" />
   <AssemblyInfo>
     <AssemblyName>gstreamer-sharp</AssemblyName>
     <AssemblyVersion>0.9.5.99</AssemblyVersion>
   </AssemblyInfo>
   <Base>
-    <BaseTypeName>System.ValueType</BaseTypeName>
+    <BaseTypeName>GLib.Opaque</BaseTypeName>
   </Base>
   <Interfaces />
   <Docs>
     
     
     
-    <Member MemberName="Clock">
+    
+    
+    
+    
+  <Member MemberName=".ctor"><MemberSignature Language="C#" Value="public ClockEntry (IntPtr raw);" /><MemberType>Constructor</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><Parameters><Parameter Name="raw" Type="System.IntPtr" /></Parameters><Docs><param name="raw">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="Clock">
       <MemberSignature Language="C#" Value="public Gst.Clock Clock { set; get; }" />
       <MemberType>Property</MemberType>
       <ReturnValue><ReturnType>Gst.Clock</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
     <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Func">
-      <MemberSignature Language="C#" Value="public Gst.ClockCallback Func { get; }" />
+      <MemberSignature Language="C#" Value="public Gst.ClockCallback Func { set; get; }" />
       <MemberType>Property</MemberType>
       <ReturnValue><ReturnType>Gst.ClockCallback</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Interval">
-      <MemberSignature Language="C#" Value="public ulong Interval;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="New">
-      <MemberSignature Language="C#" Value="public static Gst.ClockEntry New (IntPtr raw);" />
-      <MemberType>Method</MemberType>
-      <ReturnValue><ReturnType>Gst.ClockEntry</ReturnType></ReturnValue>
-      <Parameters><Parameter Name="raw" Type="System.IntPtr" /></Parameters>
-      <Docs><param name="raw">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Refcount">
-      <MemberSignature Language="C#" Value="public int Refcount;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Status">
-      <MemberSignature Language="C#" Value="public Gst.ClockReturn Status;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue><ReturnType>Gst.ClockReturn</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Time">
-      <MemberSignature Language="C#" Value="public ulong Time;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Type">
-      <MemberSignature Language="C#" Value="public Gst.ClockEntryType Type;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue><ReturnType>Gst.ClockEntryType</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Zero">
-      <MemberSignature Language="C#" Value="public static Gst.ClockEntry Zero;" />
-      <MemberType>Field</MemberType>
-      <ReturnValue><ReturnType>Gst.ClockEntry</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member>
-    
-    
-    
-  </Members>
+    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Interval"><MemberSignature Language="C#" Value="public ulong Interval { set; get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="Status"><MemberSignature Language="C#" Value="public Gst.ClockReturn Status { set; get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.ClockReturn</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="Time"><MemberSignature Language="C#" Value="public ulong Time { set; get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt64</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="Type"><MemberSignature Language="C#" Value="public Gst.ClockEntryType Type { set; get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.ClockEntryType</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="Unschedule"><MemberSignature Language="C#" Value="public void Unschedule ();" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="Wait"><MemberSignature Language="C#" Value="public Gst.ClockReturn Wait (out long jitter);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.ClockReturn</ReturnType></ReturnValue><Parameters><Parameter Name="jitter" Type="System.Int64&amp;" RefType="out" /></Parameters><Docs><param name="jitter">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="WaitAsync"><MemberSignature Language="C#" Value="public Gst.ClockReturn WaitAsync (Gst.ClockCallback func);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.ClockReturn</ReturnType></ReturnValue><Parameters><Parameter Name="func" Type="Gst.ClockCallback" /></Parameters><Docs><param name="func">To be added.</param><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member></Members>
 </Type>
index 1296347..6562fa4 100644 (file)
     
     
     
-    <Member MemberName=".ctor">
+    
+    
+    
+    
+    
+    
+    
+    
+    
+  <Member MemberName=".ctor">
       <MemberSignature Language="C#" Value="protected ElementFactory ();" />
       <MemberType>Constructor</MemberType>
       <Parameters />
       <MemberType>Property</MemberType>
       <ReturnValue><ReturnType>Gst.StaticPadTemplate[]</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="UriProtocols">
-      <MemberSignature Language="C#" Value="public string[] UriProtocols { get; }" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>System.String[]</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="UriType">
-      <MemberSignature Language="C#" Value="public int UriType { get; }" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member>
-    
-    
-    
-    
-    
-    
-    
-    
-  </Members>
+    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="UriProtocols"><MemberSignature Language="C#" Value="public string[] UriProtocols { get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String[]</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="UriType"><MemberSignature Language="C#" Value="public int UriType { get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member></Members>
 </Type>
index 90ea48b..5cbc5ff 100644 (file)
       <Attributes><Attribute><AttributeName>GLib.Signal("entry-added")</AttributeName></Attribute></Attributes>
       <ReturnValue><ReturnType>Gst.EntryAddedHandler</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Filter">
-      <MemberSignature Language="C#" Value="public Gst.IndexFilter Filter { set; }" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>Gst.IndexFilter</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="FilterFull">
+    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Filter"><MemberSignature Language="C#" Value="public Gst.IndexFilter Filter { set; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.IndexFilter</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="FilterFull">
       <MemberSignature Language="C#" Value="public Gst.IndexFilter FilterFull { set; }" />
       <MemberType>Property</MemberType>
       <ReturnValue><ReturnType>Gst.IndexFilter</ReturnType></ReturnValue>
index de1ac6b..66db07f 100644 (file)
       <ReturnValue><ReturnType>System.Int32</ReturnType></ReturnValue>
       <Parameters />
       <Docs><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Filename">
-      <MemberSignature Language="C#" Value="public string Filename { get; }" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>System.String</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="GType">
+    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Filename"><MemberSignature Language="C#" Value="public string Filename { get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="GType">
       <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
       <MemberType>Property</MemberType>
       <ReturnValue><ReturnType>GLib.GType</ReturnType></ReturnValue>
index 47e0cde..c42e491 100644 (file)
       <MemberType>Property</MemberType>
       <ReturnValue><ReturnType>GLib.GType</ReturnType></ReturnValue>
       <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Load"><MemberSignature Language="C#" Value="public Gst.PluginFeature Load ();" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.PluginFeature</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="Rank">
-      <MemberSignature Language="C#" Value="public uint Rank { set; get; }" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>System.UInt32</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="TypeNameFilter">
+    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Load"><MemberSignature Language="C#" Value="public Gst.PluginFeature Load ();" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.PluginFeature</ReturnType></ReturnValue><Parameters /><Docs><summary>To be added.</summary><returns>To be added.</returns><remarks>To be added.</remarks></Docs></Member><Member MemberName="Rank"><MemberSignature Language="C#" Value="public uint Rank { set; get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.UInt32</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="TypeNameFilter">
       <MemberSignature Language="C#" Value="public bool TypeNameFilter (Gst.TypeNameData data);" />
       <MemberType>Method</MemberType>
       <ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue>
index bdc0efd..2e67d80 100644 (file)
       <ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue>
       <Parameters><Parameter Name="update" Type="System.Boolean" /><Parameter Name="rate" Type="System.Double" /><Parameter Name="format" Type="Gst.Format" /><Parameter Name="start" Type="System.Int64" /><Parameter Name="stop" Type="System.Int64" /><Parameter Name="time" Type="System.Int64" /></Parameters>
       <Docs><param name="update">To be added.</param><param name="rate">To be added.</param><param name="format">To be added.</param><param name="start">To be added.</param><param name="stop">To be added.</param><param name="time">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="SetNewsegmentFull"><MemberSignature Language="C#" Value="public void SetNewsegmentFull (bool update, double rate, double applied_rate, Gst.Format format, long start, long stop, long time);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="update" Type="System.Boolean" /><Parameter Name="rate" Type="System.Double" /><Parameter Name="applied_rate" Type="System.Double" /><Parameter Name="format" Type="Gst.Format" /><Parameter Name="start" Type="System.Int64" /><Parameter Name="stop" Type="System.Int64" /><Parameter Name="time" Type="System.Int64" /></Parameters><Docs><param name="update">To be added.</param><param name="rate">To be added.</param><param name="applied_rate">To be added.</param><param name="format">To be added.</param><param name="start">To be added.</param><param name="stop">To be added.</param><param name="time">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="SetSeek">
+    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="SetNewsegment"><MemberSignature Language="C#" Value="public void SetNewsegment (bool update, double rate, double applied_rate, Gst.Format format, long start, long stop, long time);" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters><Parameter Name="update" Type="System.Boolean" /><Parameter Name="rate" Type="System.Double" /><Parameter Name="applied_rate" Type="System.Double" /><Parameter Name="format" Type="Gst.Format" /><Parameter Name="start" Type="System.Int64" /><Parameter Name="stop" Type="System.Int64" /><Parameter Name="time" Type="System.Int64" /></Parameters><Docs><param name="update">To be added.</param><param name="rate">To be added.</param><param name="applied_rate">To be added.</param><param name="format">To be added.</param><param name="start">To be added.</param><param name="stop">To be added.</param><param name="time">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs></Member><Member MemberName="SetSeek">
       <MemberSignature Language="C#" Value="public bool SetSeek (double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, long start, Gst.SeekType stop_type, long stop);" />
       <MemberType>Method</MemberType>
       <ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue>
index 5d9137a..67c732f 100644 (file)
       <ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue>
       <Parameters><Parameter Name="find" Type="Gst.TypeFind" /></Parameters>
       <Docs><param name="find">To be added.</param><summary>To be added.</summary><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Caps">
-      <MemberSignature Language="C#" Value="public Gst.Caps Caps { get; }" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>Gst.Caps</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Extensions">
-      <MemberSignature Language="C#" Value="public string Extensions { get; }" />
-      <MemberType>Property</MemberType>
-      <ReturnValue><ReturnType>System.String</ReturnType></ReturnValue>
-      <Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs>
-    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="GType">
+    <AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo></Member><Member MemberName="Caps"><MemberSignature Language="C#" Value="public Gst.Caps Caps { get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>Gst.Caps</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="Extensions"><MemberSignature Language="C#" Value="public string Extensions { get; }" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>0.9.5.99</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.String</ReturnType></ReturnValue><Docs><summary>To be added.</summary><value>To be added.</value><remarks>To be added.</remarks></Docs></Member><Member MemberName="GType">
       <MemberSignature Language="C#" Value="public static GLib.GType GType { get; }" />
       <MemberType>Property</MemberType>
       <ReturnValue><ReturnType>GLib.GType</ReturnType></ReturnValue>
index d47dce5..179d1bb 100644 (file)
@@ -32,7 +32,7 @@
       <Type Name="ChildRemovedHandler" Kind="Delegate" />
       <Type Name="Clock" Kind="Class" />
       <Type Name="ClockCallback" Kind="Delegate" />
-      <Type Name="ClockEntry" Kind="Structure" />
+      <Type Name="ClockEntry" Kind="Class" />
       <Type Name="ClockEntryType" Kind="Enumeration" />
       <Type Name="ClockFlags" Kind="Enumeration" />
       <Type Name="ClockReturn" Kind="Enumeration" />
index 7507970..493946e 100644 (file)
+public static readonly ulong Second = 1000000000;
+public static readonly ulong MSecond = 1000000;
+public static readonly ulong USecond = 1000;
+public static readonly ulong NSecond = 1;
+public static readonly ulong TimeNone = 0xffffffffffffffff;
+
+public static bool TimeIsValid (ulong time) {
+  return (time != TimeNone);
+}
 
 [DllImport ("gstreamersharpglue-0.10") ]
-private extern static ulong gstsharp_gst_clock_get_gst_second();
+extern static uint gstsharp_gst_clock_get_entries_changed_offset ();
 
-public static readonly ulong Second = gstsharp_gst_clock_get_gst_second();
+static uint entries_changed_offset = gstsharp_gst_clock_get_entries_changed_offset ();
+private IntPtr EntriesChangedPtr {
+  get {
+    unsafe {
+      IntPtr* raw_ptr = (IntPtr*) ( ( (byte*) Handle) + entries_changed_offset);
+      return (*raw_ptr);
+    }
+  }
+}
 
-[DllImport ("gstreamersharpglue-0.10") ]
-private extern static ulong gstsharp_gst_clock_get_gst_msecond();
+[DllImport ("libglib-2.0-0.dll") ]
+static extern void g_cond_wait (IntPtr cond, IntPtr mutex);
+[DllImport ("libglib-2.0-0.dll") ]
+static extern bool g_cond_timed_wait (IntPtr cond, IntPtr mutex, ref _TimeVal abs_time);
+[DllImport ("libglib-2.0-0.dll") ]
+static extern void g_cond_broadcast (IntPtr cond);
 
-public static readonly ulong MSecond = gstsharp_gst_clock_get_gst_second();
+public void Wait () {
+  g_cond_wait (EntriesChangedPtr, LockPtr);
+}
 
-[DllImport ("gstreamersharpglue-0.10") ]
-private extern static ulong gstsharp_gst_clock_get_gst_usecond();
+[StructLayout (LayoutKind.Sequential) ]
+private struct _TimeVal {
+  public IntPtr sec;
+  public IntPtr usec;
+}
 
-public static readonly ulong USecond = gstsharp_gst_clock_get_gst_second();
+public bool Wait (uint mseconds) {
+  _TimeVal tv = new _TimeVal ();
+  long sec = mseconds / 1000;
+  long usec = 1000 * (mseconds - sec * 1000);
+  tv.sec = (IntPtr) (sec);
+  tv.usec = (IntPtr) (usec);
+  return g_cond_timed_wait (EntriesChangedPtr, LockPtr, ref tv);
+}
+
+public bool Wait (TimeSpan timespan) {
+  _TimeVal tv = new _TimeVal ();
+  long sec = (long) timespan.TotalSeconds;
+  long usec = 1000 * ( ( (long) timespan.TotalMilliseconds) - sec * 1000);
+  tv.sec = (IntPtr) (sec);
+  tv.usec = (IntPtr) (usec);
+  return g_cond_timed_wait (EntriesChangedPtr, LockPtr, ref tv);
+}
+
+public void Broadcast () {
+  g_cond_broadcast (EntriesChangedPtr);
+}
 
 [DllImport ("gstreamersharpglue-0.10") ]
-private extern static ulong gstsharp_gst_clock_get_gst_nsecond();
+extern static uint gstsharp_gst_clock_get_slave_lock_offset ();
+
+static uint slave_lock_offset = gstsharp_gst_clock_get_slave_lock_offset ();
+private IntPtr SlaveLockPtr {
+  get {
+    unsafe {
+      IntPtr* raw_ptr = (IntPtr*) ( ( (byte*) Handle) + slave_lock_offset);
+      return (*raw_ptr);
+    }
+  }
+}
 
-public static readonly ulong NSecond = gstsharp_gst_clock_get_gst_second();
+[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 SlaveLock () {
+  g_mutex_lock (SlaveLockPtr);
+}
+
+public void SlaveUnlock () {
+  g_mutex_unlock (SlaveLockPtr);
+}
+
+public bool TrySlaveLock () {
+  return g_mutex_trylock (SlaveLockPtr);
+}
+
+[DllImport ("gstreamer-0.10.dll") ]
+static extern IntPtr gst_clock_get_master (IntPtr raw);
+[DllImport ("gstreamer-0.10.dll") ]
+static extern bool gst_clock_set_master (IntPtr raw, IntPtr master);
+public Gst.Clock Master {
+  get  {
+    IntPtr raw_ret = gst_clock_get_master (Handle);
+    Gst.Clock ret = GLib.Object.GetObject (raw_ret, true) as Gst.Clock;
+    return ret;
+  }
+  set {
+    if (!gst_clock_set_master (Handle, value == null ? IntPtr.Zero : value.Handle))
+      throw new Exception ();
+  }
+}
 
 [DllImport ("gstreamersharpglue-0.10") ]
-private extern static ulong gstsharp_gst_clock_get_time_none();
+extern static uint gstsharp_gst_clock_get_entries_offset ();
 
-public static readonly ulong TimeNone = gstsharp_gst_clock_get_time_none();
+static uint entries_offset = gstsharp_gst_clock_get_entries_offset ();
+private IntPtr EntriesPtr {
+  get {
+    unsafe {
+      IntPtr* raw_ptr = (IntPtr*) ( ( (byte*) Handle) + entries_offset);
+      return (*raw_ptr);
+    }
+  }
+}
+
+protected Gst.ClockEntry[] Entries {
+  get {
+    return (Gst.ClockEntry[]) GLib.Marshaller.ListPtrToArray (EntriesPtr, typeof(GLib.List), false, false, typeof(Gst.ClockEntry));
+  }
+}
 
 [DllImport ("gstreamersharpglue-0.10") ]
-private extern static bool gstsharp_gst_clock_time_is_valid (ulong time);
+extern static uint gstsharp_gst_clock_get_times_offset ();
 
-public static bool TimeIsValid (ulong time) {
-  return gstsharp_gst_clock_time_is_valid (time);
+static uint times_offset = gstsharp_gst_clock_get_times_offset ();
+private IntPtr TimesPtr {
+  get {
+    unsafe {
+      IntPtr* raw_ptr = (IntPtr*) ( ( (byte*) Handle) + times_offset);
+      return (*raw_ptr);
+    }
+  }
 }
 
+protected ulong[] Times {
+  get {
+    ulong[] ret = new ulong[4 * WindowSize];
+    for (int i = 0; i < 4 * WindowSize; i++)
+      ret[i] = (ulong) Marshal.ReadInt64 (TimesPtr, 8 * i);
+    return ret;
+  }
+}
+
+
diff --git a/gstreamer-sharp/ClockEntry.custom b/gstreamer-sharp/ClockEntry.custom
new file mode 100644 (file)
index 0000000..e412d13
--- /dev/null
@@ -0,0 +1,18 @@
+[DllImport ("gstreamersharpglue-0.10") ]
+static extern GstSharp.ClockCallbackNative gstsharp_gst_clock_entry_get_func (IntPtr raw);
+[DllImport ("gstreamersharpglue-0.10") ]
+static extern void gstsharp_gst_clock_entry_set_func (IntPtr raw, GstSharp.ClockCallbackNative func);
+
+private GstSharp.ClockCallbackWrapper wrapper;
+
+public Gst.ClockCallback Func {
+  set {
+    wrapper = new GstSharp.ClockCallbackWrapper (value);
+    gstsharp_gst_clock_entry_set_func (Handle, wrapper.NativeDelegate);
+  }
+
+  get {
+    return GstSharp.ClockCallbackWrapper.GetManagedDelegate (gstsharp_gst_clock_entry_get_func (Handle));
+  }
+}
+
index 53e0785..2be8c03 100644 (file)
@@ -75,6 +75,8 @@
   <attr path="/api/namespace/enum[@name='BufferFlags']/member[@cname='GST_BUFFER_FLAG_LAST']" name="value">MiniObjectFlags.Last &lt;&lt; 8</attr>
 
   <attr path="/api/namespace/object[@name='Bus']/method[@name='AddWatch']" name="hidden">true</attr>
+  <!-- FIXME: Bug https://bugzilla.novell.com/show_bug.cgi?id=323372 -->
+  <attr path="/api/namespace/object[@name='Bus']/field[@name='SyncHandler']" name="hidden">true</attr>
 
   <attr path="/api/namespace/enum[@name='BusFlags']/member[@cname='GST_BUS_FLAG_LAST']" name="name">Last</attr>
   <attr path="/api/namespace/enum[@name='BusFlags']/member[@cname='GST_BUS_FLUSHING']" name="value">MiniObjectFlags.Last &lt;&lt; 0</attr>
   <attr path="/api/namespace/interface[@name='ChildProxy']/method[@name='ChildAdded']" name="name">EmitChildAdded</attr>
   <attr path="/api/namespace/interface[@name='ChildProxy']/method[@name='ChildRemoved']" name="name">EmitChildRemoved</attr>
 
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='InternalCalibration']" name="access">protected</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='InternalCalibration']" name="readable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='InternalCalibration']" name="writeable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='ExternalCalibration']" name="access">protected</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='ExternalCalibration']" name="readable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='ExternalCalibration']" name="writeable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='RateNumerator']" name="access">protected</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='RateNumerator']" name="readable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='RateNumerator']" name="writeable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='RateDenominator']" name="access">protected</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='RateDenominator']" name="readable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='RateDenominator']" name="writeable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='LastTime']" name="access">protected</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='LastTime']" name="readable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='LastTime']" name="writeable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='Entries']" name="hidden">1</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='Master']" name="hidden">1</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='Filling']" name="access">protected</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='Filling']" name="readable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='Filling']" name="writeable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='WindowSize']" name="access">protected</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='WindowSize']" name="readable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='WindowSize']" name="writeable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='WindowThreshold']" name="access">protected</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='WindowThreshold']" name="readable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='WindowThreshold']" name="writeable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='TimeIndex']" name="access">protected</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='TimeIndex']" name="readable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='TimeIndex']" name="writeable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='Clockid']" name="name">ClockID</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='ClockID']" name="access">protected</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='ClockID']" name="readable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='ClockID']" name="writeable">true</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='Times']" name="hidden">1</attr>
+  <!-- FIXME: Bug https://bugzilla.novell.com/show_bug.cgi?id=323372 -->
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='Resolution']" name="hidden">1</attr>
+  <attr path="/api/namespace/object[@name='Clock']/virtual_method[@name='Wait']" name="hidden">1</attr>
+  <attr path="/api/namespace/object[@name='Clock']/method[@cname='gst_clock_set_master']" name="hidden">1</attr>
+  <attr path="/api/namespace/object[@name='Clock']/method[@cname='gst_clock_get_master']" name="hidden">1</attr>
+  <attr path="/api/namespace/object[@name='Clock']/field[@name='ClockID']" name="type">GstClockEntry*</attr>
+  <attr path="/api/namespace/object[@name='Clock']/method[@cname='gst_clock_id_get_time']" name="hidden">1</attr>
+  <attr path="/api/namespace/object[@name='Clock']/method[@cname='gst_clock_id_compare_func']" name="hidden">1</attr>
+  <move-node path="/api/namespace/object[@name='Clock']/method[@cname='gst_clock_id_ref']">/api/namespace/struct[@name='ClockEntry']</move-node>
+  <move-node path="/api/namespace/object[@name='Clock']/method[@cname='gst_clock_id_unref']">/api/namespace/struct[@name='ClockEntry']</move-node>
+  <move-node path="/api/namespace/object[@name='Clock']/method[@cname='gst_clock_id_unschedule']">/api/namespace/struct[@name='ClockEntry']</move-node>
+  <move-node path="/api/namespace/object[@name='Clock']/method[@cname='gst_clock_id_wait']">/api/namespace/struct[@name='ClockEntry']</move-node>
+  <move-node path="/api/namespace/object[@name='Clock']/method[@cname='gst_clock_id_wait_async']">/api/namespace/struct[@name='ClockEntry']</move-node>
+  <remove-node path="/api/namespace/object[@name='Clock']/constructor[@cname='gst_clock_new_periodic_id']" />
+  <remove-node path="/api/namespace/object[@name='Clock']/constructor[@cname='gst_clock_new_single_shot_id']" />
+  <add-node path="/api/namespace/object[@name='Clock']">
+      <method name="NewPeriodicID" cname="gst_clock_new_periodic_id">
+        <return-type type="GstClockEntry*" owned="true" />
+        <parameters>
+          <parameter type="GstClockTime" name="start_time" />
+          <parameter type="GstClockTime" name="interval" />
+        </parameters>
+      </method>
+  </add-node>
+  <add-node path="/api/namespace/object[@name='Clock']">
+      <method name="NewSingleShotID" cname="gst_clock_new_single_shot_id">
+        <return-type type="GstClockEntry*" owned="true" />
+        <parameters>
+          <parameter type="GstClockTime" name="time" />
+        </parameters>
+      </method>
+  </add-node>
+
+  <attr path="/api/namespace/struct[@name='ClockEntry']" name="opaque">true</attr>
+  <attr path="/api/namespace/struct[@name='ClockEntry']/field[@name='Refcount']" name="access">private</attr>
+  <attr path="/api/namespace/struct[@name='ClockEntry']/field[@name='Clock']" name="access">public</attr>
+  <attr path="/api/namespace/struct[@name='ClockEntry']/field[@name='Clock']" name="writeable">true</attr>
+  <attr path="/api/namespace/struct[@name='ClockEntry']/field[@name='Type']" name="access">public</attr>
+  <attr path="/api/namespace/struct[@name='ClockEntry']/field[@name='Type']" name="writeable">true</attr>
+  <attr path="/api/namespace/struct[@name='ClockEntry']/field[@name='Time']" name="access">public</attr>
+  <attr path="/api/namespace/struct[@name='ClockEntry']/field[@name='Time']" name="writeable">true</attr>
+  <attr path="/api/namespace/struct[@name='ClockEntry']/field[@name='Interval']" name="access">public</attr>
+  <attr path="/api/namespace/struct[@name='ClockEntry']/field[@name='Interval']" name="writeable">true</attr>
+  <attr path="/api/namespace/struct[@name='ClockEntry']/field[@name='Status']" name="access">public</attr>
+  <attr path="/api/namespace/struct[@name='ClockEntry']/field[@name='Status']" name="writeable">true</attr>
+  <attr path="/api/namespace/struct[@name='ClockEntry']/field[@name='Func']" name="hidden">1</attr>
+  <attr path="/api/namespace/struct[@name='ClockEntry']/method/*/*[@type='GstClockID']" name="type">GstClockEntry*</attr>
+  <attr path="/api/namespace/struct[@name='ClockEntry']/method/*[@type='GstClockID']" name="type">GstClockEntry*</attr>
+  <attr path="/api/namespace/struct[@name='ClockEntry']/method[@cname='gst_clock_id_ref']" name="name">Ref</attr>
+  <remove-attr path="/api/namespace/struct[@name='ClockEntry']/method[@cname='gst_clock_id_ref']" name="shared"/>
+  <remove-node path="/api/namespace/struct[@name='ClockEntry']/method[@cname='gst_clock_id_ref']/parameters" />
+  <attr path="/api/namespace/struct[@name='ClockEntry']/method[@cname='gst_clock_id_unref']" name="name">Unref</attr>
+  <remove-node path="/api/namespace/struct[@name='ClockEntry']/method[@cname='gst_clock_id_unref']/parameters" />
+  <remove-attr path="/api/namespace/struct[@name='ClockEntry']/method[@cname='gst_clock_id_unref']" name="shared"/>
+  <attr path="/api/namespace/struct[@name='ClockEntry']/method[@cname='gst_clock_id_unschedule']" name="name">Unschedule</attr>
+  <remove-attr path="/api/namespace/struct[@name='ClockEntry']/method[@cname='gst_clock_id_unschedule']" name="shared"/>
+  <remove-node path="/api/namespace/struct[@name='ClockEntry']/method[@cname='gst_clock_id_unschedule']/*/parameter[@name='id']" />
+  <attr path="/api/namespace/struct[@name='ClockEntry']/method[@cname='gst_clock_id_wait']" name="name">Wait</attr>
+  <remove-attr path="/api/namespace/struct[@name='ClockEntry']/method[@cname='gst_clock_id_wait']" name="shared"/>
+  <remove-node path="/api/namespace/struct[@name='ClockEntry']/method[@cname='gst_clock_id_wait']/*/parameter[@name='id']" />
+  <attr path="/api/namespace/struct[@name='ClockEntry']/method[@cname='gst_clock_id_wait_async']" name="name">WaitAsync</attr>
+  <remove-attr path="/api/namespace/struct[@name='ClockEntry']/method[@cname='gst_clock_id_wait_async']" name="shared"/>
+  <remove-node path="/api/namespace/struct[@name='ClockEntry']/method[@cname='gst_clock_id_wait_async']/*/parameter[@name='id']" />
+
+  <attr path="/api/namespace/callback[@name='ClockCallback']/parameters/parameter[@type='GstClockID']" name="type">GstClockEntry*</attr>
+
+  <attr path="/api/namespace/alias[@name='ClockID']" name="type">GstClockEntry*</attr>
+
   <attr path="/api/namespace/enum[@name='ClockFlags']/member[@cname='GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC']" name="value">MiniObjectFlags.Last &lt;&lt; 0</attr>
   <attr path="/api/namespace/enum[@name='ClockFlags']/member[@cname='GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC']" name="value">MiniObjectFlags.Last &lt;&lt; 1</attr>
   <attr path="/api/namespace/enum[@name='ClockFlags']/member[@cname='GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC']" name="value">MiniObjectFlags.Last &lt;&lt; 2</attr>
   <attr path="/api/namespace/object[@name='ElementFactory']/method[@cname='gst_element_factory_get_static_pad_templates']/return-type" name="element_type">GstStaticPadTemplate</attr>
   <attr path="/api/namespace/object[@name='ElementFactory']/method[@cname='gst_element_factory_get_static_pad_templates']/return-type" name="elements_owned">false</attr>
   <attr path="/api/namespace/object[@name='ElementFactory']/method[@cname='gst_element_factory_get_static_pad_templates']/return-type" name="owned">false</attr>
+  <!-- FIXME: Bug https://bugzilla.novell.com/show_bug.cgi?id=323372 -->
+  <attr path="/api/namespace/object[@name='ElementFactory']/field[@name='UriProtocols']" name="hidden">1</attr>
+  <!-- FIXME: Bug https://bugzilla.novell.com/show_bug.cgi?id=323372 -->
+  <attr path="/api/namespace/object[@name='ElementFactory']/field[@name='UriType']" name="hidden">1</attr>
   <!-- FIXME: Add this once we bind gsturi.h
   <attr path="/api/namespace/object[@name='ElementFactory']/method[@cname='gst_element_factory_get_uri_type']/return-type" name="type">GstURIType</attr>-->
 
 
   <attr path="/api/namespace/object[@name='Index']/field[@cname='resolver']" name="hidden">1</attr>
   <attr path="/api/namespace/object[@name='Index']/property[@cname='resolver']" name="hidden">1</attr>
+  <!-- FIXME: Bug https://bugzilla.novell.com/show_bug.cgi?id=323372 -->
+  <attr path="/api/namespace/object[@name='Index']/field[@name='Filter']" name="hidden">1</attr>
 
   <attr path="/api/namespace/class[@name='Iterator']" name="hidden">1</attr>
 
   <attr path="/api/namespace/enum[@name='PipelineFlags']/member[@cname='GST_PIPELINE_FLAG_LAST']" name="value">BinFlags.Last &lt;&lt; 4</attr>
 
   <attr path="/api/namespace/object[@name='Plugin']/method[@name='LoadFile']" name="hidden">1</attr>
+  <!-- FIXME: Bug https://bugzilla.novell.com/show_bug.cgi?id=323372 -->
+  <attr path="/api/namespace/object[@name='Plugin']/field[@name='Filename']" name="hidden">1</attr>
 
   <attr path="/api/namespace/object[@name='PluginFeature']/method[@cname='gst_plugin_feature_set_name']" name="name">SetFeatureName</attr>
   <attr path="/api/namespace/object[@name='PluginFeature']/method[@cname='gst_plugin_feature_get_name']" name="name">GetFeatureName</attr>
   <attr path="/api/namespace/object[@name='PluginFeature']" name="abstract">1</attr>
+  <!-- FIXME: Bug https://bugzilla.novell.com/show_bug.cgi?id=323372 -->
+  <attr path="/api/namespace/object[@name='PluginFeature']/field[@name='Rank']" name="hidden">1</attr>
   <add-node path="/api/namespace/object[@name='PluginFeature']">
         <method cname="gst_plugin_feature_load" name="Load">
         <return-type type="GstPluginFeature*" owned="true" />
 
   <attr path="/api/namespace/struct[@name='TypeFind']/method[@name='Register']" name="hidden">1</attr>
 
+  <!-- FIXME: Bug https://bugzilla.novell.com/show_bug.cgi?id=323372 -->
+  <attr path="/api/namespace/object[@name='TypeFindFactory']/field[@name='Caps']" name="hidden">1</attr>
+  <!-- FIXME: Bug https://bugzilla.novell.com/show_bug.cgi?id=323372 -->
+  <attr path="/api/namespace/object[@name='TypeFindFactory']/field[@name='Extensions']" name="hidden">1</attr>
+
   <attr path="/api/namespace/class[@name='Util']/method[@cname='gst_util_array_binary_search']" name="hidden">1</attr>
 
   <!-- We implement this ourselves -->
index 4c3a127..5f5f967 100644 (file)
@@ -56,6 +56,7 @@ customs =                     \
        Bus.custom              \
        Caps.custom             \
        Clock.custom            \
+       ClockEntry.custom               \
        Debug.custom            \
        Element.custom          \
        Message.custom          \
index b00e0d1..b1e76e2 100644 (file)
@@ -39,7 +39,7 @@ public Gst.Object Parent {
 extern static uint gstsharp_gst_object_get_lock_offset ();
 
 static uint lock_offset = gstsharp_gst_object_get_lock_offset ();
-private IntPtr LockPtr {
+internal IntPtr LockPtr {
   get {
     unsafe {
       IntPtr* raw_ptr = (IntPtr*) ( ( (byte*) Handle) + lock_offset);
index 0e706d9..06676d1 100644 (file)
@@ -3,7 +3,8 @@ lib_LTLIBRARIES = libgstreamersharpglue-0.10.la
 libgstreamersharpglue_0_10_la_SOURCES =        \
        buffer.c        \
        caps.c          \
-       clock.c \
+       clock.c         \
+       clockentry.c    \
        message.c \
        event.c \
        bin.c \
index 414ad60..a459708 100644 (file)
@@ -1,38 +1,22 @@
-#include <glib.h>
-#include <gst/gstclock.h>
+#include <gst/gst.h>
 
-guint64
-gstsharp_gst_clock_get_gst_second ()
-{
-  return GST_SECOND;
+uint
+gstsharp_gst_clock_get_entries_changed_offset (void) {
+  return (uint) G_STRUCT_OFFSET (GstClock, entries_changed);
 }
 
-guint64
-gstsharp_gst_clock_get_gst_msecond ()
-{
-  return GST_MSECOND;
+uint
+gstsharp_gst_clock_get_slave_lock_offset (void) {
+  return (uint) G_STRUCT_OFFSET (GstClock, slave_lock);
 }
 
-guint64
-gstsharp_gst_clock_get_gst_usecond ()
-{
-  return GST_USECOND;
+uint
+gstsharp_gst_clock_get_entries_offset (void) {
+  return (uint) G_STRUCT_OFFSET (GstClock, entries);
 }
 
-guint64
-gstsharp_gst_clock_get_gst_nsecond ()
-{
-  return GST_NSECOND;
+uint
+gstsharp_gst_clock_get_times_offset (void) {
+  return (uint) G_STRUCT_OFFSET (GstClock, times);
 }
 
-guint64
-gstsharp_gst_clock_get_time_none ()
-{
-  return GST_CLOCK_TIME_NONE;
-}
-
-gboolean
-gstsharp_gst_clock_time_is_valid (GstClockTime time)
-{
-  return GST_CLOCK_TIME_IS_VALID (time);
-}
diff --git a/gstreamer-sharp/glue/clockentry.c b/gstreamer-sharp/glue/clockentry.c
new file mode 100644 (file)
index 0000000..cc6d05c
--- /dev/null
@@ -0,0 +1,13 @@
+#include <gst/gst.h>
+
+GstClockCallback
+gstsharp_gst_clock_entry_get_func (GstClockEntry * entry)
+{
+  return entry->func;
+}
+
+void
+gstsharp_gst_clock_entry_set_func (GstClockEntry * entry, GstClockCallback func)
+{
+  entry->func = func;
+}