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
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 org.freedesktop.gstreamer.audio.AudioBaseSrc
AudioBaseSrc.AudioBaseSrcClassNested classes/interfaces inherited from class org.freedesktop.gstreamer.base.PushSrc
PushSrc.PushSrcClassNested classes/interfaces inherited from class org.freedesktop.gstreamer.base.BaseSrc
BaseSrc.BaseSrc$Impl, BaseSrc.BaseSrcClassNested classes/interfaces inherited from class org.freedesktop.gstreamer.gst.Element
Element.Element$Impl, Element.ElementClass, Element.NoMorePadsCallback, Element.PadAddedCallback, Element.PadRemovedCallbackNested 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
ConstructorsConstructorDescriptionAudioSrc()Creates a new AudioSrc.AudioSrc(MemorySegment address) Create a AudioSrc proxy instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected AudioSrcasParent()Returns 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 classprotected 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 org.freedesktop.gstreamer.audio.AudioBaseSrc
createRingbuffer, getProvideClock, getSlaveMethod, setProvideClock, setSlaveMethodMethods 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, waitPlayingMethods 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, unlinkPadsMethods 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
-
AudioSrc
Create a AudioSrc proxy instance for the provided memory address.- Parameters:
address- the memory address of the native object
-
AudioSrc
public AudioSrc()Creates a new AudioSrc.
-
-
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.- Overrides:
asParentin 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.Builderobject constructs aAudioSrcwith the specified properties. Use the variousset...()methods to set properties, and finish construction withAudioSrc.Builder.build().- Returns:
- the builder object
-