public void NativeCallback(IntPtr task, out GLib.Thread thread, IntPtr user_data) { try { managed(GLib.Object.GetObject(task) as Gst.Task, out thread); if (release_on_call) { gch.Free(); } } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException(e, true); // NOTREACHED: Above call does not return. throw e; } }
void InvokeNative(Gst.Task task, out GLib.Thread thread) { native_cb(task == null ? IntPtr.Zero : task.Handle, out thread, __data); }