Package org.freedesktop.gstreamer.gst
Class TaskPool
java.lang.Object
io.github.jwharm.javagi.base.ProxyInstance
org.gnome.gobject.TypeInstance
org.gnome.gobject.GObject
org.gnome.gobject.InitiallyUnowned
org.freedesktop.gstreamer.gst.GstObject
org.freedesktop.gstreamer.gst.TaskPool
- All Implemented Interfaces:
Proxy
- Direct Known Subclasses:
SharedTaskPool
This object provides an abstraction for creating threads. The default
implementation uses a regular GThreadPool to start tasks.
Subclasses can be made to create custom threads.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
TaskPool.Builder<B extends TaskPool.Builder<B>>
Inner class implementing a builder pattern to construct a GObject with properties.static class
TheGstTaskPoolClass
object.Nested classes/interfaces inherited from class org.freedesktop.gstreamer.gst.GstObject
GstObject.DeepNotifyCallback, GstObject.ObjectClass, GstObject.ObjectImpl
Nested classes/interfaces inherited from class org.gnome.gobject.InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClass
Nested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback
-
Constructor Summary
ConstructorDescriptionTaskPool()
Create a new default task pool.TaskPool
(MemorySegment address) Create a TaskPool proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected TaskPool
asParent()
Returns this instance as if it were its parent type.static TaskPool.Builder
<? extends TaskPool.Builder> builder()
ATaskPool.Builder
object constructs aTaskPool
with the specified properties.void
cleanup()
Wait for all tasks to be stopped.void
disposeHandle
(@Nullable MemorySegment id) Dispose of the handle returned by gst_task_pool_push().static MemoryLayout
The memory layout of the native struct.static Type
getType()
Get the GType of the TaskPool classvoid
join
(@Nullable MemorySegment id) Join a task and/or return it to the pool.void
prepare()
Prepare the taskpool for accepting gst_task_pool_push() operations.push
(TaskPoolFunction func) Start the execution of a new thread from this TaskPool.Methods inherited from class org.freedesktop.gstreamer.gst.GstObject
addControlBinding, checkUniqueness, deepNotify, defaultDeepNotify, defaultError, emitDeepNotify, getControlBinding, getControlRate, getGValueArray, getName, getParent, getPathString, getValue, getValueArray, hasActiveControlBindings, hasAncestor, hasAsAncestor, hasAsParent, onDeepNotify, ref, refSink, removeControlBinding, replace, setControlBindingDisabled, setControlBindingsDisabled, setControlRate, setName, setParent, suggestNextSync, syncValues, unparent, unref
Methods inherited from class org.gnome.gobject.GObject
addToggleRef, addWeakPointer, bindProperty, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, connect, constructed, disconnect, dispatchPropertiesChanged, dispose, dupData, dupQdata, emit, emitNotify, finalize_, forceFloating, freezeNotify, get, getData, getProperty, getProperty, getProperty, getQdata, getv, interfaceFindProperty, interfaceInstallProperty, interfaceListProperties, isFloating, newInstance, newInstance, newInstance, newInstance, newv, notify_, notify_, notifyByPspec, onNotify, refSink, removeToggleRef, removeWeakPointer, replaceData, replaceQdata, runDispose, set, setData, setDataFull, setProperty, setProperty, setProperty, setQdata, setQdataFull, setv, stealData, stealQdata, takeRef, thawNotify, watchClosure, weakRef, weakUnref, withProperties
Methods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, getPrivate, readGClass, writeGClass
Methods inherited from class io.github.jwharm.javagi.base.ProxyInstance
equals, handle, hashCode
-
Constructor Details
-
TaskPool
Create a TaskPool proxy instance for the provided memory address.- Parameters:
address
- the memory address of the native object
-
TaskPool
public TaskPool()Create a new default task pool. The default task pool will use a regular GThreadPool for threads.
-
-
Method Details
-
getType
-
getMemoryLayout
The memory layout of the native struct.- Returns:
- the memory layout
-
asParent
Returns this instance as if it were its parent type. This is mostly synonymous to the Javasuper
keyword, but will set the native typeclass function pointers to the parent type. When overriding a native virtual method in Java, "chaining up" withsuper.methodName()
doesn't work, because it invokes the overridden function pointer again. To chain up, callasParent().methodName()
. This will call the native function pointer of this virtual method in the typeclass of the parent type. -
cleanup
public void cleanup()Wait for all tasks to be stopped. This is mainly used internally to ensure proper cleanup of internal data structures in test suites.MT safe.
-
disposeHandle
Dispose of the handle returned by gst_task_pool_push(). This does not need to be called with the default implementation as the defaultGstTaskPoolClass
::push implementation always returnsnull
. This does not need to be called either when calling gst_task_pool_join(), but should be called when joining is not necessary, but gst_task_pool_push() returned a non-null
value.This method should only be called with the same this TaskPool instance that provided
id
.- Parameters:
id
- the id
-
join
Join a task and/or return it to the pool.id
is the id obtained from gst_task_pool_push(). The default implementation does nothing, as the defaultGstTaskPoolClass
::push implementation always returnsnull
.This method should only be called with the same this TaskPool instance that provided
id
.- Parameters:
id
- the id
-
prepare
Prepare the taskpool for accepting gst_task_pool_push() operations.MT safe.
- Throws:
GErrorException
- seeGError
-
push
Start the execution of a new thread from this TaskPool.- Parameters:
func
- the function to call- Returns:
- a pointer that should be used
for the gst_task_pool_join function. This pointer can be
null
, you must checkerror
to detect errors. If the pointer is notnull
and gst_task_pool_join() is not used, call gst_task_pool_dispose_handle() instead. - Throws:
GErrorException
- seeGError
-
builder
ATaskPool.Builder
object constructs aTaskPool
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withTaskPool.Builder.build()
.
-