Package org.freedesktop.gstreamer.audio
Class AudioSrc
java.lang.Object
- All Implemented Interfaces:
Proxy
This is the most simple base class for audio sources that only requires
subclasses to implement a set of simple functions:
open()
:Open the device.prepare()
:Configure the device with the specified format.read()
:Read samples from the device.reset()
:Unblock reads and flush the device.delay()
:Get the number of samples in the device but not yet read.unprepare()
:Undo operations done by prepare.close()
:Close the device.
All scheduling of samples and timestamps is done in this base class
together with GstAudioBaseSrc
using a default implementation of a
GstAudioRingBuffer
that uses threads.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
GstAudioSrc
class.static class
AudioSrc.Builder<B extends AudioSrc.Builder<B>>
Inner class implementing a builder pattern to construct a GObject with properties.Nested classes/interfaces inherited from class org.freedesktop.gstreamer.audio.AudioBaseSrc
AudioBaseSrc.AudioBaseSrcClass
Nested classes/interfaces inherited from class org.freedesktop.gstreamer.base.PushSrc
PushSrc.PushSrcClass
Nested classes/interfaces inherited from class org.freedesktop.gstreamer.base.BaseSrc
BaseSrc.BaseSrcClass, BaseSrc.BaseSrcImpl
Nested classes/interfaces inherited from class org.freedesktop.gstreamer.gst.Element
Element.ElementClass, Element.ElementImpl, Element.NoMorePadsCallback, Element.PadAddedCallback, Element.PadRemovedCallback
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
ConstructorDescriptionAudioSrc
(MemorySegment address) Create a AudioSrc proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected AudioSrc
asParent()
Returns this instance as if it were its parent type.static AudioSrc.Builder
<? extends AudioSrc.Builder> builder()
AAudioSrc.Builder
object constructs aAudioSrc
with the specified properties.protected boolean
close()
close the deviceprotected int
delay()
the number of frames queued in the devicestatic MemoryLayout
The memory layout of the native struct.static Type
getType()
Get the GType of the AudioSrc classprotected boolean
open()
open the device with the specified capsprotected boolean
prepare
(AudioRingBufferSpec spec) configure device with formatprotected int
Read samples from the device.protected void
reset()
unblock a read to the device and reset.protected boolean
undo the configurationMethods inherited from class org.freedesktop.gstreamer.audio.AudioBaseSrc
createRingbuffer, getProvideClock, getSlaveMethod, setProvideClock, setSlaveMethod
Methods inherited from class org.freedesktop.gstreamer.base.BaseSrc
alloc, create, decideAllocation, doSeek, event, fill, fixate, getAllocator, getBlocksize, getBufferPool, getCaps, getDoTimestamp, getSize, getTimes, isAsync, isLive, isSeekable, negotiate, newSeamlessSegment, newSegment, prepareSeekSegment, pushSegment, query, queryLatency, setAsync, setAutomaticEos, setBlocksize, setCaps, setDoTimestamp, setDynamicSize, setFormat, setLive, start, startComplete, startWait, stop, submitBufferList, unlock, unlockStop, waitPlaying
Methods inherited from class org.freedesktop.gstreamer.gst.Element
abortState, addPad, addPropertyDeepNotifyWatch, addPropertyNotifyWatch, callAsync, changeState, continueState, createAllPads, decorateStreamId, decorateStreamIdPrintf, emitNoMorePads, emitPadAdded, emitPadRemoved, foreachPad, foreachSinkPad, foreachSrcPad, getBaseTime, getBus, getClock, getCompatiblePad, getCompatiblePadTemplate, getContext, getContexts, getContextUnlocked, getCurrentClockTime, getCurrentRunningTime, getFactory, getMetadata, getPadTemplate, getPadTemplateList, getRequestPad, getStartTime, getState, getStaticPad, isLockedState, iteratePads, iterateSinkPads, iterateSrcPads, link, linkFiltered, linkMany, linkPads, linkPadsFiltered, linkPadsFull, linkPadsFull, lostState, makeFromUri, messageFull, messageFull, messageFullWithDetails, messageFullWithDetails, noMorePads, onNoMorePads, onPadAdded, onPadRemoved, padAdded, padRemoved, postMessage, provideClock, queryConvert, queryDuration, queryPosition, register, releasePad, releaseRequestPad, removePad, removePropertyNotifyWatch, requestPad, requestPadSimple, seek, seek, seekSimple, seekSimple, sendEvent, setBaseTime, setBus, setClock, setContext, setLockedState, setStartTime, setState, stateChanged, stateChangeReturnGetName, stateGetName, syncStateWithParent, typeSetSkipDocumentation, unlink, unlinkMany, unlinkPads
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
-
AudioSrc
Create a AudioSrc 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.- Overrides:
asParent
in classAudioBaseSrc
-
close
protected boolean close()close the device -
delay
protected int delay()the number of frames queued in the device -
open
protected boolean open()open the device with the specified caps -
prepare
configure device with format -
read
Read samples from the device.- Parameters:
data
- the sample datatimestamp
- aGstClockTime
-
reset
protected void reset()unblock a read to the device and reset. -
unprepare
protected boolean unprepare()undo the configuration -
builder
AAudioSrc.Builder
object constructs aAudioSrc
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withAudioSrc.Builder.build()
.
-