Package org.freedesktop.gstreamer.gst
Class TaskPool
java.lang.Object
org.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
Nested ClassesModifier and TypeClassDescriptionstatic classTaskPool.Builder<B extends TaskPool.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.static classTheGstTaskPoolClassobject.Nested classes/interfaces inherited from class org.freedesktop.gstreamer.gst.GstObject
GstObject.DeepNotifyCallback, GstObject.Object$Impl, GstObject.ObjectClassNested classes/interfaces inherited from class org.gnome.gobject.InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClassNested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback -
Constructor Summary
ConstructorsConstructorDescriptionTaskPool()Creates a new TaskPool.TaskPool(MemorySegment address) Create a TaskPool proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected TaskPoolasParent()Returns this instance as if it were its parent type.static TaskPool.Builder<? extends TaskPool.Builder> builder()ATaskPool.Builderobject constructs aTaskPoolwith the specified properties.voidcleanup()Wait for all tasks to be stopped.voiddisposeHandle(@Nullable MemorySegment id) Dispose of the handle returned by gst_task_pool_push().static MemoryLayoutThe memory layout of the native struct.static @Nullable TypegetType()Get the GType of the TaskPool classvoidjoin(@Nullable MemorySegment id) Join a task and/or return it to the pool.voidprepare()Prepare the taskpool for accepting gst_task_pool_push() operations.@Nullable MemorySegmentpush(@Nullable TaskPoolFunction func) Start the execution of a new thread frompool.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, unrefMethods 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, 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, withPropertiesMethods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, cast, getPrivate, readGClass, writeGClassMethods inherited from class org.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()Creates a new TaskPool.
-
-
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 Javasuperkeyword, 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-nullvalue.This method should only be called with the same this TaskPool instance that provided
id.- Parameters:
id- the id- Since:
- 1.20
-
join
Join a task and/or return it to the pool.idis 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 frompool.- 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 checkerrorto detect errors. If the pointer is notnulland gst_task_pool_join() is not used, call gst_task_pool_dispose_handle() instead. - Throws:
GErrorException- seeGError
-
builder
ATaskPool.Builderobject constructs aTaskPoolwith the specified properties. Use the variousset...()methods to set properties, and finish construction withTaskPool.Builder.build().- Returns:
- the builder object
-