[DllImport ("gstreamersharpglue-0.10.dll") ] extern static uint gstsharp_gst_task_get_cond_offset (); static uint cond_offset = gstsharp_gst_task_get_cond_offset (); private IntPtr CondPtr { get { unsafe { IntPtr* raw_ptr = (IntPtr*) ( ( (byte*) Handle) + cond_offset); return (*raw_ptr); } } } [DllImport ("libglib-2.0-0.dll") ] static extern void g_cond_wait (IntPtr cond, IntPtr mutex); [DllImport ("libglib-2.0-0.dll") ] static extern void g_cond_signal (IntPtr cond); public void Wait () { g_cond_wait (CondPtr, LockPtr); } public void Signal () { g_cond_signal (CondPtr); }