Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
This is the base class for audio sources. Subclasses need to implement the create_ringbuffer vmethod. This base class will then take care of reading samples from the ringbuffer, synchronisation and flushing.
Synopsis
- newtype AudioBaseSrc = AudioBaseSrc (ManagedPtr AudioBaseSrc)
- class (GObject o, IsDescendantOf AudioBaseSrc o) => IsAudioBaseSrc o
- toAudioBaseSrc :: (MonadIO m, IsAudioBaseSrc o) => o -> m AudioBaseSrc
- audioBaseSrcCreateRingbuffer :: (HasCallStack, MonadIO m, IsAudioBaseSrc a) => a -> m (Maybe AudioRingBuffer)
- audioBaseSrcGetProvideClock :: (HasCallStack, MonadIO m, IsAudioBaseSrc a) => a -> m Bool
- audioBaseSrcGetSlaveMethod :: (HasCallStack, MonadIO m, IsAudioBaseSrc a) => a -> m AudioBaseSrcSlaveMethod
- audioBaseSrcSetProvideClock :: (HasCallStack, MonadIO m, IsAudioBaseSrc a) => a -> Bool -> m ()
- audioBaseSrcSetSlaveMethod :: (HasCallStack, MonadIO m, IsAudioBaseSrc a) => a -> AudioBaseSrcSlaveMethod -> m ()
- getAudioBaseSrcActualBufferTime :: (MonadIO m, IsAudioBaseSrc o) => o -> m Int64
- getAudioBaseSrcActualLatencyTime :: (MonadIO m, IsAudioBaseSrc o) => o -> m Int64
- constructAudioBaseSrcBufferTime :: (IsAudioBaseSrc o, MonadIO m) => Int64 -> m (GValueConstruct o)
- getAudioBaseSrcBufferTime :: (MonadIO m, IsAudioBaseSrc o) => o -> m Int64
- setAudioBaseSrcBufferTime :: (MonadIO m, IsAudioBaseSrc o) => o -> Int64 -> m ()
- constructAudioBaseSrcLatencyTime :: (IsAudioBaseSrc o, MonadIO m) => Int64 -> m (GValueConstruct o)
- getAudioBaseSrcLatencyTime :: (MonadIO m, IsAudioBaseSrc o) => o -> m Int64
- setAudioBaseSrcLatencyTime :: (MonadIO m, IsAudioBaseSrc o) => o -> Int64 -> m ()
- constructAudioBaseSrcProvideClock :: (IsAudioBaseSrc o, MonadIO m) => Bool -> m (GValueConstruct o)
- getAudioBaseSrcProvideClock :: (MonadIO m, IsAudioBaseSrc o) => o -> m Bool
- setAudioBaseSrcProvideClock :: (MonadIO m, IsAudioBaseSrc o) => o -> Bool -> m ()
- constructAudioBaseSrcSlaveMethod :: (IsAudioBaseSrc o, MonadIO m) => AudioBaseSrcSlaveMethod -> m (GValueConstruct o)
- getAudioBaseSrcSlaveMethod :: (MonadIO m, IsAudioBaseSrc o) => o -> m AudioBaseSrcSlaveMethod
- setAudioBaseSrcSlaveMethod :: (MonadIO m, IsAudioBaseSrc o) => o -> AudioBaseSrcSlaveMethod -> m ()
Exported types
newtype AudioBaseSrc Source #
Memory-managed wrapper type.
AudioBaseSrc (ManagedPtr AudioBaseSrc) |
Instances
Eq AudioBaseSrc Source # | |
Defined in GI.GstAudio.Objects.AudioBaseSrc (==) :: AudioBaseSrc -> AudioBaseSrc -> Bool # (/=) :: AudioBaseSrc -> AudioBaseSrc -> Bool # | |
GObject AudioBaseSrc Source # | |
Defined in GI.GstAudio.Objects.AudioBaseSrc | |
ManagedPtrNewtype AudioBaseSrc Source # | |
Defined in GI.GstAudio.Objects.AudioBaseSrc toManagedPtr :: AudioBaseSrc -> ManagedPtr AudioBaseSrc | |
TypedObject AudioBaseSrc Source # | |
Defined in GI.GstAudio.Objects.AudioBaseSrc | |
HasParentTypes AudioBaseSrc Source # | |
Defined in GI.GstAudio.Objects.AudioBaseSrc | |
IsGValue (Maybe AudioBaseSrc) Source # | Convert |
Defined in GI.GstAudio.Objects.AudioBaseSrc gvalueGType_ :: IO GType gvalueSet_ :: Ptr GValue -> Maybe AudioBaseSrc -> IO () gvalueGet_ :: Ptr GValue -> IO (Maybe AudioBaseSrc) | |
type ParentTypes AudioBaseSrc Source # | |
Defined in GI.GstAudio.Objects.AudioBaseSrc type ParentTypes AudioBaseSrc = '[PushSrc, BaseSrc, Element, Object, Object] |
class (GObject o, IsDescendantOf AudioBaseSrc o) => IsAudioBaseSrc o Source #
Type class for types which can be safely cast to AudioBaseSrc
, for instance with toAudioBaseSrc
.
Instances
(GObject o, IsDescendantOf AudioBaseSrc o) => IsAudioBaseSrc o Source # | |
Defined in GI.GstAudio.Objects.AudioBaseSrc |
toAudioBaseSrc :: (MonadIO m, IsAudioBaseSrc o) => o -> m AudioBaseSrc Source #
Cast to AudioBaseSrc
, for types for which this is known to be safe. For general casts, use castTo
.
Methods
Click to display all available methods, including inherited ones
Methods
abortState, addControlBinding, addPad, addPropertyDeepNotifyWatch, addPropertyNotifyWatch, bindProperty, bindPropertyFull, callAsync, changeState, continueState, createAllPads, createRingbuffer, defaultError, forceFloating, foreachPad, foreachSinkPad, foreachSrcPad, freezeNotify, getv, hasActiveControlBindings, hasAncestor, hasAsAncestor, hasAsParent, isAsync, isFloating, isLive, isLockedState, iteratePads, iterateSinkPads, iterateSrcPads, link, linkFiltered, linkPads, linkPadsFiltered, linkPadsFull, lostState, messageFull, messageFullWithDetails, negotiate, newSeamlessSegment, newSegment, noMorePads, notify, notifyByPspec, postMessage, provideClock, query, queryConvert, queryDuration, queryLatency, queryPosition, ref, refSink, releaseRequestPad, removeControlBinding, removePad, removePropertyNotifyWatch, requestPad, requestPadSimple, runDispose, seek, seekSimple, sendEvent, startComplete, startWait, stealData, stealQdata, submitBufferList, suggestNextSync, syncStateWithParent, syncValues, thawNotify, unlink, unlinkPads, unparent, unref, waitPlaying, watchClosure.
Getters
getAllocator, getBaseTime, getBlocksize, getBufferPool, getBus, getClock, getCompatiblePad, getCompatiblePadTemplate, getContext, getContextUnlocked, getContexts, getControlBinding, getControlRate, getCurrentClockTime, getCurrentRunningTime, getData, getDoTimestamp, getFactory, getGValueArray, getMetadata, getName, getPadTemplate, getPadTemplateList, getParent, getPathString, getProperty, getProvideClock, getQdata, getRequestPad, getSlaveMethod, getStartTime, getState, getStaticPad, getValue.
Setters
setAsync, setAutomaticEos, setBaseTime, setBlocksize, setBus, setCaps, setClock, setContext, setControlBindingDisabled, setControlBindingsDisabled, setControlRate, setData, setDataFull, setDoTimestamp, setDynamicSize, setFormat, setLive, setLockedState, setName, setParent, setProperty, setProvideClock, setSlaveMethod, setStartTime, setState.
createRingbuffer
audioBaseSrcCreateRingbuffer Source #
:: (HasCallStack, MonadIO m, IsAudioBaseSrc a) | |
=> a |
|
-> m (Maybe AudioRingBuffer) | Returns: The new ringbuffer of |
Create and return the AudioRingBuffer
for src
. This function will call
the create_ringbuffer vmethod and will set src
as the parent of the
returned buffer (see objectSetParent
).
getProvideClock
audioBaseSrcGetProvideClock Source #
:: (HasCallStack, MonadIO m, IsAudioBaseSrc a) | |
=> a |
|
-> m Bool | Returns: |
Queries whether src
will provide a clock or not. See also
gst_audio_base_src_set_provide_clock.
getSlaveMethod
audioBaseSrcGetSlaveMethod Source #
:: (HasCallStack, MonadIO m, IsAudioBaseSrc a) | |
=> a |
|
-> m AudioBaseSrcSlaveMethod | Returns: The current slave method used by |
Get the current slave method used by src
.
setProvideClock
audioBaseSrcSetProvideClock Source #
:: (HasCallStack, MonadIO m, IsAudioBaseSrc a) | |
=> a |
|
-> Bool |
|
-> m () |
Controls whether src
will provide a clock or not. If provide
is True
,
elementProvideClock
will return a clock that reflects the datarate
of src
. If provide
is False
, elementProvideClock
will return NULL.
setSlaveMethod
audioBaseSrcSetSlaveMethod Source #
:: (HasCallStack, MonadIO m, IsAudioBaseSrc a) | |
=> a |
|
-> AudioBaseSrcSlaveMethod |
|
-> m () |
Controls how clock slaving will be performed in src
.
Properties
actualBufferTime
Actual configured size of audio buffer in microseconds.
getAudioBaseSrcActualBufferTime :: (MonadIO m, IsAudioBaseSrc o) => o -> m Int64 Source #
Get the value of the “actual-buffer-time
” property.
When overloading is enabled, this is equivalent to
get
audioBaseSrc #actualBufferTime
actualLatencyTime
Actual configured audio latency in microseconds.
getAudioBaseSrcActualLatencyTime :: (MonadIO m, IsAudioBaseSrc o) => o -> m Int64 Source #
Get the value of the “actual-latency-time
” property.
When overloading is enabled, this is equivalent to
get
audioBaseSrc #actualLatencyTime
bufferTime
No description available in the introspection data.
constructAudioBaseSrcBufferTime :: (IsAudioBaseSrc o, MonadIO m) => Int64 -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “buffer-time
” property. This is rarely needed directly, but it is used by new
.
getAudioBaseSrcBufferTime :: (MonadIO m, IsAudioBaseSrc o) => o -> m Int64 Source #
Get the value of the “buffer-time
” property.
When overloading is enabled, this is equivalent to
get
audioBaseSrc #bufferTime
setAudioBaseSrcBufferTime :: (MonadIO m, IsAudioBaseSrc o) => o -> Int64 -> m () Source #
Set the value of the “buffer-time
” property.
When overloading is enabled, this is equivalent to
set
audioBaseSrc [ #bufferTime:=
value ]
latencyTime
No description available in the introspection data.
constructAudioBaseSrcLatencyTime :: (IsAudioBaseSrc o, MonadIO m) => Int64 -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “latency-time
” property. This is rarely needed directly, but it is used by new
.
getAudioBaseSrcLatencyTime :: (MonadIO m, IsAudioBaseSrc o) => o -> m Int64 Source #
Get the value of the “latency-time
” property.
When overloading is enabled, this is equivalent to
get
audioBaseSrc #latencyTime
setAudioBaseSrcLatencyTime :: (MonadIO m, IsAudioBaseSrc o) => o -> Int64 -> m () Source #
Set the value of the “latency-time
” property.
When overloading is enabled, this is equivalent to
set
audioBaseSrc [ #latencyTime:=
value ]
provideClock
No description available in the introspection data.
constructAudioBaseSrcProvideClock :: (IsAudioBaseSrc o, MonadIO m) => Bool -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “provide-clock
” property. This is rarely needed directly, but it is used by new
.
getAudioBaseSrcProvideClock :: (MonadIO m, IsAudioBaseSrc o) => o -> m Bool Source #
Get the value of the “provide-clock
” property.
When overloading is enabled, this is equivalent to
get
audioBaseSrc #provideClock
setAudioBaseSrcProvideClock :: (MonadIO m, IsAudioBaseSrc o) => o -> Bool -> m () Source #
Set the value of the “provide-clock
” property.
When overloading is enabled, this is equivalent to
set
audioBaseSrc [ #provideClock:=
value ]
slaveMethod
No description available in the introspection data.
constructAudioBaseSrcSlaveMethod :: (IsAudioBaseSrc o, MonadIO m) => AudioBaseSrcSlaveMethod -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “slave-method
” property. This is rarely needed directly, but it is used by new
.
getAudioBaseSrcSlaveMethod :: (MonadIO m, IsAudioBaseSrc o) => o -> m AudioBaseSrcSlaveMethod Source #
Get the value of the “slave-method
” property.
When overloading is enabled, this is equivalent to
get
audioBaseSrc #slaveMethod
setAudioBaseSrcSlaveMethod :: (MonadIO m, IsAudioBaseSrc o) => o -> AudioBaseSrcSlaveMethod -> m () Source #
Set the value of the “slave-method
” property.
When overloading is enabled, this is equivalent to
set
audioBaseSrc [ #slaveMethod:=
value ]