gi-gstaudio-1.0.25: GStreamerAudio bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.GstAudio.Objects.AudioBaseSink

Description

This is the base class for audio sinks. Subclasses need to implement the create_ringbuffer vmethod. This base class will then take care of writing samples to the ringbuffer, synchronisation, clipping and flushing.

Synopsis

Exported types

newtype AudioBaseSink Source #

Memory-managed wrapper type.

Constructors

AudioBaseSink (ManagedPtr AudioBaseSink) 

Instances

Instances details
Eq AudioBaseSink Source # 
Instance details

Defined in GI.GstAudio.Objects.AudioBaseSink

GObject AudioBaseSink Source # 
Instance details

Defined in GI.GstAudio.Objects.AudioBaseSink

ManagedPtrNewtype AudioBaseSink Source # 
Instance details

Defined in GI.GstAudio.Objects.AudioBaseSink

Methods

toManagedPtr :: AudioBaseSink -> ManagedPtr AudioBaseSink

TypedObject AudioBaseSink Source # 
Instance details

Defined in GI.GstAudio.Objects.AudioBaseSink

Methods

glibType :: IO GType

HasParentTypes AudioBaseSink Source # 
Instance details

Defined in GI.GstAudio.Objects.AudioBaseSink

IsGValue (Maybe AudioBaseSink) Source #

Convert AudioBaseSink to and from GValue. See toGValue and fromGValue.

Instance details

Defined in GI.GstAudio.Objects.AudioBaseSink

Methods

gvalueGType_ :: IO GType

gvalueSet_ :: Ptr GValue -> Maybe AudioBaseSink -> IO ()

gvalueGet_ :: Ptr GValue -> IO (Maybe AudioBaseSink)

type ParentTypes AudioBaseSink Source # 
Instance details

Defined in GI.GstAudio.Objects.AudioBaseSink

type ParentTypes AudioBaseSink = '[BaseSink, Element, Object, Object]

class (GObject o, IsDescendantOf AudioBaseSink o) => IsAudioBaseSink o Source #

Type class for types which can be safely cast to AudioBaseSink, for instance with toAudioBaseSink.

Instances

Instances details
(GObject o, IsDescendantOf AudioBaseSink o) => IsAudioBaseSink o Source # 
Instance details

Defined in GI.GstAudio.Objects.AudioBaseSink

toAudioBaseSink :: (MonadIO m, IsAudioBaseSink o) => o -> m AudioBaseSink Source #

Cast to AudioBaseSink, 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

Expand

Methods

abortState, addControlBinding, addPad, addPropertyDeepNotifyWatch, addPropertyNotifyWatch, bindProperty, bindPropertyFull, callAsync, changeState, continueState, createAllPads, createRingbuffer, defaultError, doPreroll, forceFloating, foreachPad, foreachSinkPad, foreachSrcPad, freezeNotify, getv, hasActiveControlBindings, hasAncestor, hasAsAncestor, hasAsParent, isAsyncEnabled, isFloating, isLastSampleEnabled, isLockedState, isQosEnabled, iteratePads, iterateSinkPads, iterateSrcPads, link, linkFiltered, linkPads, linkPadsFiltered, linkPadsFull, lostState, messageFull, messageFullWithDetails, noMorePads, notify, notifyByPspec, postMessage, provideClock, query, queryConvert, queryDuration, queryLatency, queryPosition, ref, refSink, releaseRequestPad, removeControlBinding, removePad, removePropertyNotifyWatch, reportDeviceFailure, requestPad, requestPadSimple, runDispose, seek, seekSimple, sendEvent, stealData, stealQdata, suggestNextSync, syncStateWithParent, syncValues, thawNotify, unlink, unlinkPads, unparent, unref, wait, waitClock, waitPreroll, watchClosure.

Getters

getAlignmentThreshold, getBaseTime, getBlocksize, getBus, getClock, getCompatiblePad, getCompatiblePadTemplate, getContext, getContextUnlocked, getContexts, getControlBinding, getControlRate, getCurrentClockTime, getCurrentRunningTime, getData, getDiscontWait, getDriftTolerance, getDropOutOfSegment, getFactory, getGValueArray, getLastSample, getLatency, getMaxBitrate, getMaxLateness, getMetadata, getName, getPadTemplate, getPadTemplateList, getParent, getPathString, getProcessingDeadline, getProperty, getProvideClock, getQdata, getRenderDelay, getRequestPad, getSlaveMethod, getStartTime, getState, getStaticPad, getStats, getSync, getThrottleTime, getTsOffset, getValue.

Setters

setAlignmentThreshold, setAsyncEnabled, setBaseTime, setBlocksize, setBus, setClock, setContext, setControlBindingDisabled, setControlBindingsDisabled, setControlRate, setCustomSlavingCallback, setData, setDataFull, setDiscontWait, setDriftTolerance, setDropOutOfSegment, setLastSampleEnabled, setLockedState, setMaxBitrate, setMaxLateness, setName, setParent, setProcessingDeadline, setProperty, setProvideClock, setQosEnabled, setRenderDelay, setSlaveMethod, setStartTime, setState, setSync, setThrottleTime, setTsOffset.

createRingbuffer

audioBaseSinkCreateRingbuffer Source #

Arguments

:: (HasCallStack, MonadIO m, IsAudioBaseSink a) 
=> a

sink: a AudioBaseSink.

-> m AudioRingBuffer

Returns: The new ringbuffer of sink.

Create and return the AudioRingBuffer for sink. This function will call the create_ringbuffer vmethod and will set sink as the parent of the returned buffer (see objectSetParent).

getAlignmentThreshold

audioBaseSinkGetAlignmentThreshold Source #

Arguments

:: (HasCallStack, MonadIO m, IsAudioBaseSink a) 
=> a

sink: a AudioBaseSink

-> m Word64

Returns: The current alignment threshold used by sink.

Get the current alignment threshold, in nanoseconds, used by sink.

getDiscontWait

audioBaseSinkGetDiscontWait Source #

Arguments

:: (HasCallStack, MonadIO m, IsAudioBaseSink a) 
=> a

sink: a AudioBaseSink

-> m Word64

Returns: The current discont wait used by sink.

Get the current discont wait, in nanoseconds, used by sink.

getDriftTolerance

audioBaseSinkGetDriftTolerance Source #

Arguments

:: (HasCallStack, MonadIO m, IsAudioBaseSink a) 
=> a

sink: a AudioBaseSink

-> m Int64

Returns: The current drift tolerance used by sink.

Get the current drift tolerance, in microseconds, used by sink.

getProvideClock

audioBaseSinkGetProvideClock Source #

Arguments

:: (HasCallStack, MonadIO m, IsAudioBaseSink a) 
=> a

sink: a AudioBaseSink

-> m Bool

Returns: True if sink will provide a clock.

Queries whether sink will provide a clock or not. See also gst_audio_base_sink_set_provide_clock.

getSlaveMethod

audioBaseSinkGetSlaveMethod Source #

Arguments

:: (HasCallStack, MonadIO m, IsAudioBaseSink a) 
=> a

sink: a AudioBaseSink

-> m AudioBaseSinkSlaveMethod

Returns: The current slave method used by sink.

Get the current slave method used by sink.

reportDeviceFailure

audioBaseSinkReportDeviceFailure Source #

Arguments

:: (HasCallStack, MonadIO m, IsAudioBaseSink a) 
=> a

sink: a AudioBaseSink

-> m () 

Informs this base class that the audio output device has failed for some reason, causing a discontinuity (for example, because the device recovered from the error, but lost all contents of its ring buffer). This function is typically called by derived classes, and is useful for the custom slave method.

Since: 1.6

setAlignmentThreshold

audioBaseSinkSetAlignmentThreshold Source #

Arguments

:: (HasCallStack, MonadIO m, IsAudioBaseSink a) 
=> a

sink: a AudioBaseSink

-> Word64

alignmentThreshold: the new alignment threshold in nanoseconds

-> m () 

Controls the sink's alignment threshold.

setCustomSlavingCallback

audioBaseSinkSetCustomSlavingCallback Source #

Sets the custom slaving callback. This callback will be invoked if the slave-method property is set to GST_AUDIO_BASE_SINK_SLAVE_CUSTOM and the audio sink receives and plays samples.

Setting the callback to NULL causes the sink to behave as if the GST_AUDIO_BASE_SINK_SLAVE_NONE method were used.

Since: 1.6

setDiscontWait

audioBaseSinkSetDiscontWait Source #

Arguments

:: (HasCallStack, MonadIO m, IsAudioBaseSink a) 
=> a

sink: a AudioBaseSink

-> Word64

discontWait: the new discont wait in nanoseconds

-> m () 

Controls how long the sink will wait before creating a discontinuity.

setDriftTolerance

audioBaseSinkSetDriftTolerance Source #

Arguments

:: (HasCallStack, MonadIO m, IsAudioBaseSink a) 
=> a

sink: a AudioBaseSink

-> Int64

driftTolerance: the new drift tolerance in microseconds

-> m () 

Controls the sink's drift tolerance.

setProvideClock

audioBaseSinkSetProvideClock Source #

Arguments

:: (HasCallStack, MonadIO m, IsAudioBaseSink a) 
=> a

sink: a AudioBaseSink

-> Bool

provide: new state

-> m () 

Controls whether sink will provide a clock or not. If provide is True, elementProvideClock will return a clock that reflects the datarate of sink. If provide is False, elementProvideClock will return NULL.

setSlaveMethod

audioBaseSinkSetSlaveMethod Source #

Arguments

:: (HasCallStack, MonadIO m, IsAudioBaseSink a) 
=> a

sink: a AudioBaseSink

-> AudioBaseSinkSlaveMethod

method: the new slave method

-> m () 

Controls how clock slaving will be performed in sink.

Properties

alignmentThreshold

No description available in the introspection data.

constructAudioBaseSinkAlignmentThreshold :: (IsAudioBaseSink o, MonadIO m) => Word64 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “alignment-threshold” property. This is rarely needed directly, but it is used by new.

getAudioBaseSinkAlignmentThreshold :: (MonadIO m, IsAudioBaseSink o) => o -> m Word64 Source #

Get the value of the “alignment-threshold” property. When overloading is enabled, this is equivalent to

get audioBaseSink #alignmentThreshold

setAudioBaseSinkAlignmentThreshold :: (MonadIO m, IsAudioBaseSink o) => o -> Word64 -> m () Source #

Set the value of the “alignment-threshold” property. When overloading is enabled, this is equivalent to

set audioBaseSink [ #alignmentThreshold := value ]

bufferTime

No description available in the introspection data.

constructAudioBaseSinkBufferTime :: (IsAudioBaseSink 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.

getAudioBaseSinkBufferTime :: (MonadIO m, IsAudioBaseSink o) => o -> m Int64 Source #

Get the value of the “buffer-time” property. When overloading is enabled, this is equivalent to

get audioBaseSink #bufferTime

setAudioBaseSinkBufferTime :: (MonadIO m, IsAudioBaseSink o) => o -> Int64 -> m () Source #

Set the value of the “buffer-time” property. When overloading is enabled, this is equivalent to

set audioBaseSink [ #bufferTime := value ]

canActivatePull

No description available in the introspection data.

constructAudioBaseSinkCanActivatePull :: (IsAudioBaseSink o, MonadIO m) => Bool -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “can-activate-pull” property. This is rarely needed directly, but it is used by new.

getAudioBaseSinkCanActivatePull :: (MonadIO m, IsAudioBaseSink o) => o -> m Bool Source #

Get the value of the “can-activate-pull” property. When overloading is enabled, this is equivalent to

get audioBaseSink #canActivatePull

setAudioBaseSinkCanActivatePull :: (MonadIO m, IsAudioBaseSink o) => o -> Bool -> m () Source #

Set the value of the “can-activate-pull” property. When overloading is enabled, this is equivalent to

set audioBaseSink [ #canActivatePull := value ]

discontWait

A window of time in nanoseconds to wait before creating a discontinuity as a result of breaching the drift-tolerance.

constructAudioBaseSinkDiscontWait :: (IsAudioBaseSink o, MonadIO m) => Word64 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “discont-wait” property. This is rarely needed directly, but it is used by new.

getAudioBaseSinkDiscontWait :: (MonadIO m, IsAudioBaseSink o) => o -> m Word64 Source #

Get the value of the “discont-wait” property. When overloading is enabled, this is equivalent to

get audioBaseSink #discontWait

setAudioBaseSinkDiscontWait :: (MonadIO m, IsAudioBaseSink o) => o -> Word64 -> m () Source #

Set the value of the “discont-wait” property. When overloading is enabled, this is equivalent to

set audioBaseSink [ #discontWait := value ]

driftTolerance

Controls the amount of time in microseconds that clocks are allowed to drift before resynchronisation happens.

constructAudioBaseSinkDriftTolerance :: (IsAudioBaseSink o, MonadIO m) => Int64 -> m (GValueConstruct o) Source #

Construct a GValueConstruct with valid value for the “drift-tolerance” property. This is rarely needed directly, but it is used by new.

getAudioBaseSinkDriftTolerance :: (MonadIO m, IsAudioBaseSink o) => o -> m Int64 Source #

Get the value of the “drift-tolerance” property. When overloading is enabled, this is equivalent to

get audioBaseSink #driftTolerance

setAudioBaseSinkDriftTolerance :: (MonadIO m, IsAudioBaseSink o) => o -> Int64 -> m () Source #

Set the value of the “drift-tolerance” property. When overloading is enabled, this is equivalent to

set audioBaseSink [ #driftTolerance := value ]

latencyTime

No description available in the introspection data.

constructAudioBaseSinkLatencyTime :: (IsAudioBaseSink 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.

getAudioBaseSinkLatencyTime :: (MonadIO m, IsAudioBaseSink o) => o -> m Int64 Source #

Get the value of the “latency-time” property. When overloading is enabled, this is equivalent to

get audioBaseSink #latencyTime

setAudioBaseSinkLatencyTime :: (MonadIO m, IsAudioBaseSink o) => o -> Int64 -> m () Source #

Set the value of the “latency-time” property. When overloading is enabled, this is equivalent to

set audioBaseSink [ #latencyTime := value ]

provideClock

No description available in the introspection data.

constructAudioBaseSinkProvideClock :: (IsAudioBaseSink 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.

getAudioBaseSinkProvideClock :: (MonadIO m, IsAudioBaseSink o) => o -> m Bool Source #

Get the value of the “provide-clock” property. When overloading is enabled, this is equivalent to

get audioBaseSink #provideClock

setAudioBaseSinkProvideClock :: (MonadIO m, IsAudioBaseSink o) => o -> Bool -> m () Source #

Set the value of the “provide-clock” property. When overloading is enabled, this is equivalent to

set audioBaseSink [ #provideClock := value ]

slaveMethod

No description available in the introspection data.

constructAudioBaseSinkSlaveMethod :: (IsAudioBaseSink o, MonadIO m) => AudioBaseSinkSlaveMethod -> 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.

getAudioBaseSinkSlaveMethod :: (MonadIO m, IsAudioBaseSink o) => o -> m AudioBaseSinkSlaveMethod Source #

Get the value of the “slave-method” property. When overloading is enabled, this is equivalent to

get audioBaseSink #slaveMethod

setAudioBaseSinkSlaveMethod :: (MonadIO m, IsAudioBaseSink o) => o -> AudioBaseSinkSlaveMethod -> m () Source #

Set the value of the “slave-method” property. When overloading is enabled, this is equivalent to

set audioBaseSink [ #slaveMethod := value ]