The prototype for a task function to be run in a thread via Task.runInThread or Task.runInThreadSync.

If the return-on-cancel flag is set on task, and cancellable gets cancelled, then the gstreamer.Task will be completed immediately (as though Task.returnErrorIfCancelled had been called), without waiting for the task function to complete. However, the task function will continue running in its thread in the background. The function therefore needs to be careful about how it uses externally-visible state in this case. See Task.setReturnOnCancel for more details.

Other than in that case, task will be completed when the GTaskThreadFunc returns, not when it calls a g_task_return_ function.

alias GTaskThreadFunc = void function(GTask* task, void* sourceObject, void* taskData, GCancellable* cancellable)