Class PushSrc
- All Implemented Interfaces:
Proxy
- Direct Known Subclasses:
AudioBaseSrc, AudioCdSrc
This class is mostly useful for elements that cannot do random access, or at least very slowly. The source usually prefers to push out a fixed size buffer.
Subclasses usually operate in a format that is different from the
default GST_FORMAT_BYTES format of GstBaseSrc.
Classes extending this base class will usually be scheduled in a push based mode. If the peer accepts to operate without offsets and within the limits of the allowed block size, this class can operate in getrange based mode automatically. To make this possible, the subclass should implement and override the SCHEDULING query.
The subclass should extend the methods from the baseclass in addition to the ::create method.
Seeking, flushing, scheduling and sync is all handled by this base class.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classPushSrc.Builder<B extends PushSrc.Builder<B>>Inner class implementing a builder pattern to construct a GObject with properties.static classSubclasses can override any of the available virtual methods or not, as needed.Nested 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
ConstructorsConstructorDescriptionPushSrc()Create a new PushSrc.PushSrc(MemorySegment address) Create a PushSrc instance for the provided memory address. -
Method Summary
Modifier and TypeMethodDescriptionprotected FlowReturnAllocate memory for a buffer.protected PushSrcasParent()Return this instance as if it were its parent type.static PushSrc.Builder<? extends PushSrc.Builder> builder()APushSrc.Builderobject constructs aPushSrcwith the specified properties.protected FlowReturnAsk the subclass to create a buffer, the default implementation will call alloc if no allocatedbufis provided and then call fill.protected FlowReturnAsk the subclass to fill the buffer with data.static MemoryLayoutThe memory layout of the native struct.static @Nullable TypegetType()Get the GType of the PushSrc class.Methods 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
-
PushSrc
Create a PushSrc instance for the provided memory address.- Parameters:
address- the memory address of the native object
-
PushSrc
public PushSrc()Create a new PushSrc.
-
-
Method Details
-
getType
-
getMemoryLayout
The memory layout of the native struct.- Returns:
- the memory layout
-
asParent
-
alloc
Allocate memory for a buffer. -
create
Ask the subclass to create a buffer, the default implementation will call alloc if no allocatedbufis provided and then call fill. -
fill
Ask the subclass to fill the buffer with data. -
builder
APushSrc.Builderobject constructs aPushSrcwith the specified properties. Use the variousset...()methods to set properties, and finish construction withPushSrc.Builder.build().- Returns:
- the builder object
-