Package org.freedesktop.gstreamer.gst
Class Device
- All Implemented Interfaces:
Proxy
- Direct Known Subclasses:
Device.DeviceImpl
GstDevice
are objects representing a device, they contain
relevant metadata about the device, such as its class and the GstCaps
representing the media types it can produce or handle.
GstDevice
are created by GstDeviceProvider
objects which can be
aggregated by GstDeviceMonitor
objects.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Device.Builder<B extends Device.Builder<B>>
Inner class implementing a builder pattern to construct a GObject with properties.static class
The class structure for aGstDevice
object.static class
The DeviceImpl type represents a native instance of the abstract Device class.static interface
Functional interface declaration of theRemovedCallback
callback.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
ConstructorDescriptionDevice
(MemorySegment address) Create a Device proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected Device
asParent()
Returns this instance as if it were its parent type.static Device.Builder
<? extends Device.Builder> builder()
ADevice.Builder
object constructs aDevice
with the specified properties.createElement
(@Nullable String name) Creates the element with all of the required parameters set to use this device.void
getCaps()
Getter for theGstCaps
that this device supports.Gets the "class" of a device.Gets the user-friendly name of the device.static MemoryLayout
The memory layout of the native struct.Gets the extra properties of a device.static Type
getType()
Get the GType of the Device classboolean
hasClasses
(String classes) Check if this Device matches all of the given classesboolean
hasClassesv
(String[] classes) Check iffactory
matches all of the given classesonRemoved
(Device.RemovedCallback handler) boolean
reconfigureElement
(Element element) Tries to reconfigure an existing element to use the device.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
-
Device
Create a Device proxy instance for the provided memory address.- Parameters:
address
- the memory address of the native object
-
-
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. -
createElement
-
getCaps
Getter for theGstCaps
that this device supports.- Returns:
- The
GstCaps
supported by this device. Unref with gst_caps_unref() when done.
-
getDeviceClass
Gets the "class" of a device. This is a "/" separated list of classes that represent this device. They are a subset of the classes of theGstDeviceProvider
that produced this device.- Returns:
- The device class. Free with g_free() after use.
-
getDisplayName
Gets the user-friendly name of the device.- Returns:
- The device name. Free with g_free() after use.
-
getProperties
Gets the extra properties of a device.- Returns:
- The extra properties or
null
when there are none. Free with gst_structure_free() after use.
-
hasClasses
Check if this Device matches all of the given classes- Parameters:
classes
- a "/"-separated list of device classes to match, only match if all classes are matched- Returns:
true
if this Device matches.
-
hasClassesv
Check iffactory
matches all of the given classes- Parameters:
classes
- anull
terminated array of classes to match, only match if all classes are matched- Returns:
true
if this Device matches.
-
reconfigureElement
Tries to reconfigure an existing element to use the device. If this function fails, then one must destroy the element and create a new one using gst_device_create_element().Note: This should only be implemented for elements can change their device in the PLAYING state.
- Parameters:
element
- aGstElement
- Returns:
true
if the element could be reconfigured to use this device,false
otherwise.
-
onRemoved
- See Also:
-
emitRemoved
public void emitRemoved() -
builder
ADevice.Builder
object constructs aDevice
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withDevice.Builder.build()
.
-