[DllImport ("gstreamersharpglue-0.10") ] 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); } [DllImport ("gstreamersharpglue-0.10") ] extern static uint gstsharp_gst_task_get_running_offset (); static uint running_offset = gstsharp_gst_task_get_running_offset (); public bool IsRunning { get { unsafe { bool* raw_ptr = (bool*) ( ( (byte*) Handle) + running_offset); return (*raw_ptr); } } }