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
Nested ClassesModifier and TypeClassDescriptionstatic classGstAudioSrcclass.static classAudioSrc.Builder<B extends AudioSrc.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.Nested classes/interfaces inherited from class AudioBaseSrc
AudioBaseSrc.AudioBaseSrcClassNested classes/interfaces inherited from class PushSrc
PushSrc.PushSrcClassNested classes/interfaces inherited from class BaseSrc
BaseSrc.BaseSrc$Impl, BaseSrc.BaseSrcClassNested classes/interfaces inherited from class Element
Element.Element$Impl, Element.ElementClass, Element.NoMorePadsCallback, Element.PadAddedCallback, Element.PadRemovedCallbackNested classes/interfaces inherited from class GstObject
GstObject.DeepNotifyCallback, GstObject.Object$Impl, GstObject.ObjectClassNested classes/interfaces inherited from class InitiallyUnowned
InitiallyUnowned.InitiallyUnownedClassNested classes/interfaces inherited from class GObject
GObject.NotifyCallback -
Constructor Summary
ConstructorsConstructorDescriptionAudioSrc()Create a new AudioSrc.AudioSrc(MemorySegment address) Create a AudioSrc instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected AudioSrcasParent()Return this instance as if it were its parent type.static AudioSrc.Builder<? extends AudioSrc.Builder> builder()AAudioSrc.Builderobject constructs aAudioSrcwith the specified properties.protected booleanclose()close the deviceprotected intdelay()the number of frames queued in the devicestatic MemoryLayoutThe memory layout of the native struct.static @Nullable TypegetType()Get the GType of the AudioSrc class.protected booleanopen()open the device with the specified capsprotected booleanprepare(AudioRingBufferSpec spec) configure device with formatprotected intRead samples from the device.protected voidreset()unblock a read to the device and reset.protected booleanundo the configurationMethods inherited from class AudioBaseSrc
createRingbuffer, getProvideClock, getSlaveMethod, setProvideClock, setSlaveMethodMethods inherited from class 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, waitPlayingMethods inherited from class 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, unlinkPadsMethods inherited from class 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 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 TypeInstance
callParent, callParent, cast, getPrivate, readGClass, writeGClassMethods inherited from class ProxyInstance
equals, handle, hashCode
-
Constructor Details
-
AudioSrc
Create a AudioSrc instance for the provided memory address.- Parameters:
address- the memory address of the native object
-
AudioSrc
public AudioSrc()Create a new AudioSrc.
-
-
Method Details
-
getType
-
getMemoryLayout
The memory layout of the native struct.- Returns:
- the memory layout
-
asParent
Return this instance as if it were its parent type. Comparable to the Javasuperkeyword, but ensures the parent typeclass is also used in native code.- Overrides:
asParentin classAudioBaseSrc- Returns:
- the instance as if it were its parent type
-
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.Builderobject constructs aAudioSrcwith the specified properties. Use the variousset...()methods to set properties, and finish construction withAudioSrc.Builder.build().- Returns:
- the builder object
-