| Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
| Safe Haskell | None |
| Language | Haskell2010 |
GI.GstAudio.Objects.AudioBaseSink
Contents
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.
- newtype AudioBaseSink = AudioBaseSink (ManagedPtr AudioBaseSink)
- class GObject o => IsAudioBaseSink o
- toAudioBaseSink :: (MonadIO m, IsAudioBaseSink o) => o -> m AudioBaseSink
- noAudioBaseSink :: Maybe AudioBaseSink
- audioBaseSinkCreateRingbuffer :: (HasCallStack, MonadIO m, IsAudioBaseSink a) => a -> m AudioRingBuffer
- audioBaseSinkGetAlignmentThreshold :: (HasCallStack, MonadIO m, IsAudioBaseSink a) => a -> m Word64
- audioBaseSinkGetDiscontWait :: (HasCallStack, MonadIO m, IsAudioBaseSink a) => a -> m Word64
- audioBaseSinkGetDriftTolerance :: (HasCallStack, MonadIO m, IsAudioBaseSink a) => a -> m Int64
- audioBaseSinkGetProvideClock :: (HasCallStack, MonadIO m, IsAudioBaseSink a) => a -> m Bool
- audioBaseSinkGetSlaveMethod :: (HasCallStack, MonadIO m, IsAudioBaseSink a) => a -> m AudioBaseSinkSlaveMethod
- audioBaseSinkReportDeviceFailure :: (HasCallStack, MonadIO m, IsAudioBaseSink a) => a -> m ()
- audioBaseSinkSetAlignmentThreshold :: (HasCallStack, MonadIO m, IsAudioBaseSink a) => a -> Word64 -> m ()
- audioBaseSinkSetCustomSlavingCallback :: (HasCallStack, MonadIO m, IsAudioBaseSink a) => a -> AudioBaseSinkCustomSlavingCallback -> m ()
- audioBaseSinkSetDiscontWait :: (HasCallStack, MonadIO m, IsAudioBaseSink a) => a -> Word64 -> m ()
- audioBaseSinkSetDriftTolerance :: (HasCallStack, MonadIO m, IsAudioBaseSink a) => a -> Int64 -> m ()
- audioBaseSinkSetProvideClock :: (HasCallStack, MonadIO m, IsAudioBaseSink a) => a -> Bool -> m ()
- audioBaseSinkSetSlaveMethod :: (HasCallStack, MonadIO m, IsAudioBaseSink a) => a -> AudioBaseSinkSlaveMethod -> m ()
- constructAudioBaseSinkAlignmentThreshold :: IsAudioBaseSink o => Word64 -> IO (GValueConstruct o)
- getAudioBaseSinkAlignmentThreshold :: (MonadIO m, IsAudioBaseSink o) => o -> m Word64
- setAudioBaseSinkAlignmentThreshold :: (MonadIO m, IsAudioBaseSink o) => o -> Word64 -> m ()
- constructAudioBaseSinkBufferTime :: IsAudioBaseSink o => Int64 -> IO (GValueConstruct o)
- getAudioBaseSinkBufferTime :: (MonadIO m, IsAudioBaseSink o) => o -> m Int64
- setAudioBaseSinkBufferTime :: (MonadIO m, IsAudioBaseSink o) => o -> Int64 -> m ()
- constructAudioBaseSinkCanActivatePull :: IsAudioBaseSink o => Bool -> IO (GValueConstruct o)
- getAudioBaseSinkCanActivatePull :: (MonadIO m, IsAudioBaseSink o) => o -> m Bool
- setAudioBaseSinkCanActivatePull :: (MonadIO m, IsAudioBaseSink o) => o -> Bool -> m ()
- constructAudioBaseSinkDiscontWait :: IsAudioBaseSink o => Word64 -> IO (GValueConstruct o)
- getAudioBaseSinkDiscontWait :: (MonadIO m, IsAudioBaseSink o) => o -> m Word64
- setAudioBaseSinkDiscontWait :: (MonadIO m, IsAudioBaseSink o) => o -> Word64 -> m ()
- constructAudioBaseSinkDriftTolerance :: IsAudioBaseSink o => Int64 -> IO (GValueConstruct o)
- getAudioBaseSinkDriftTolerance :: (MonadIO m, IsAudioBaseSink o) => o -> m Int64
- setAudioBaseSinkDriftTolerance :: (MonadIO m, IsAudioBaseSink o) => o -> Int64 -> m ()
- constructAudioBaseSinkLatencyTime :: IsAudioBaseSink o => Int64 -> IO (GValueConstruct o)
- getAudioBaseSinkLatencyTime :: (MonadIO m, IsAudioBaseSink o) => o -> m Int64
- setAudioBaseSinkLatencyTime :: (MonadIO m, IsAudioBaseSink o) => o -> Int64 -> m ()
- constructAudioBaseSinkProvideClock :: IsAudioBaseSink o => Bool -> IO (GValueConstruct o)
- getAudioBaseSinkProvideClock :: (MonadIO m, IsAudioBaseSink o) => o -> m Bool
- setAudioBaseSinkProvideClock :: (MonadIO m, IsAudioBaseSink o) => o -> Bool -> m ()
- constructAudioBaseSinkSlaveMethod :: IsAudioBaseSink o => AudioBaseSinkSlaveMethod -> IO (GValueConstruct o)
- getAudioBaseSinkSlaveMethod :: (MonadIO m, IsAudioBaseSink o) => o -> m AudioBaseSinkSlaveMethod
- setAudioBaseSinkSlaveMethod :: (MonadIO m, IsAudioBaseSink o) => o -> AudioBaseSinkSlaveMethod -> m ()
Exported types
newtype AudioBaseSink Source #
Constructors
| AudioBaseSink (ManagedPtr AudioBaseSink) |
class GObject o => IsAudioBaseSink o Source #
Instances
toAudioBaseSink :: (MonadIO m, IsAudioBaseSink o) => o -> m AudioBaseSink Source #
Methods
createRingbuffer
audioBaseSinkCreateRingbuffer Source #
Arguments
| :: (HasCallStack, MonadIO m, IsAudioBaseSink a) | |
| => a |
|
| -> m AudioRingBuffer | Returns: The new ringbuffer of |
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 |
|
| -> m Word64 | Returns: The current alignment threshold used by |
Get the current alignment threshold, in nanoseconds, used by sink.
getDiscontWait
audioBaseSinkGetDiscontWait Source #
Arguments
| :: (HasCallStack, MonadIO m, IsAudioBaseSink a) | |
| => a |
|
| -> m Word64 | Returns: The current discont wait used by |
Get the current discont wait, in nanoseconds, used by sink.
getDriftTolerance
audioBaseSinkGetDriftTolerance Source #
Arguments
| :: (HasCallStack, MonadIO m, IsAudioBaseSink a) | |
| => a |
|
| -> m Int64 | Returns: The current drift tolerance used by |
Get the current drift tolerance, in microseconds, used by sink.
getProvideClock
audioBaseSinkGetProvideClock Source #
Arguments
| :: (HasCallStack, MonadIO m, IsAudioBaseSink a) | |
| => a |
|
| -> m Bool | Returns: |
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 |
|
| -> m AudioBaseSinkSlaveMethod | Returns: The current slave method used by |
Get the current slave method used by sink.
reportDeviceFailure
audioBaseSinkReportDeviceFailure Source #
Arguments
| :: (HasCallStack, MonadIO m, IsAudioBaseSink a) | |
| => a |
|
| -> 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 |
|
| -> Word64 |
|
| -> m () |
Controls the sink's alignment threshold.
setCustomSlavingCallback
audioBaseSinkSetCustomSlavingCallback Source #
Arguments
| :: (HasCallStack, MonadIO m, IsAudioBaseSink a) | |
| => a |
|
| -> AudioBaseSinkCustomSlavingCallback |
|
| -> m () |
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 |
|
| -> Word64 |
|
| -> m () |
Controls how long the sink will wait before creating a discontinuity.
setDriftTolerance
audioBaseSinkSetDriftTolerance Source #
Arguments
| :: (HasCallStack, MonadIO m, IsAudioBaseSink a) | |
| => a |
|
| -> Int64 |
|
| -> m () |
Controls the sink's drift tolerance.
setProvideClock
audioBaseSinkSetProvideClock Source #
Arguments
| :: (HasCallStack, MonadIO m, IsAudioBaseSink a) | |
| => a |
|
| -> Bool |
|
| -> 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 |
|
| -> AudioBaseSinkSlaveMethod |
|
| -> m () |
Controls how clock slaving will be performed in sink.
Properties
alignmentThreshold
constructAudioBaseSinkAlignmentThreshold :: IsAudioBaseSink o => Word64 -> IO (GValueConstruct o) Source #
getAudioBaseSinkAlignmentThreshold :: (MonadIO m, IsAudioBaseSink o) => o -> m Word64 Source #
setAudioBaseSinkAlignmentThreshold :: (MonadIO m, IsAudioBaseSink o) => o -> Word64 -> m () Source #
bufferTime
constructAudioBaseSinkBufferTime :: IsAudioBaseSink o => Int64 -> IO (GValueConstruct o) Source #
getAudioBaseSinkBufferTime :: (MonadIO m, IsAudioBaseSink o) => o -> m Int64 Source #
setAudioBaseSinkBufferTime :: (MonadIO m, IsAudioBaseSink o) => o -> Int64 -> m () Source #
canActivatePull
constructAudioBaseSinkCanActivatePull :: IsAudioBaseSink o => Bool -> IO (GValueConstruct o) Source #
getAudioBaseSinkCanActivatePull :: (MonadIO m, IsAudioBaseSink o) => o -> m Bool Source #
setAudioBaseSinkCanActivatePull :: (MonadIO m, IsAudioBaseSink o) => o -> Bool -> m () Source #
discontWait
constructAudioBaseSinkDiscontWait :: IsAudioBaseSink o => Word64 -> IO (GValueConstruct o) Source #
getAudioBaseSinkDiscontWait :: (MonadIO m, IsAudioBaseSink o) => o -> m Word64 Source #
setAudioBaseSinkDiscontWait :: (MonadIO m, IsAudioBaseSink o) => o -> Word64 -> m () Source #
driftTolerance
constructAudioBaseSinkDriftTolerance :: IsAudioBaseSink o => Int64 -> IO (GValueConstruct o) Source #
getAudioBaseSinkDriftTolerance :: (MonadIO m, IsAudioBaseSink o) => o -> m Int64 Source #
setAudioBaseSinkDriftTolerance :: (MonadIO m, IsAudioBaseSink o) => o -> Int64 -> m () Source #
latencyTime
constructAudioBaseSinkLatencyTime :: IsAudioBaseSink o => Int64 -> IO (GValueConstruct o) Source #
getAudioBaseSinkLatencyTime :: (MonadIO m, IsAudioBaseSink o) => o -> m Int64 Source #
setAudioBaseSinkLatencyTime :: (MonadIO m, IsAudioBaseSink o) => o -> Int64 -> m () Source #
provideClock
constructAudioBaseSinkProvideClock :: IsAudioBaseSink o => Bool -> IO (GValueConstruct o) Source #
getAudioBaseSinkProvideClock :: (MonadIO m, IsAudioBaseSink o) => o -> m Bool Source #
setAudioBaseSinkProvideClock :: (MonadIO m, IsAudioBaseSink o) => o -> Bool -> m () Source #
slaveMethod
constructAudioBaseSinkSlaveMethod :: IsAudioBaseSink o => AudioBaseSinkSlaveMethod -> IO (GValueConstruct o) Source #
getAudioBaseSinkSlaveMethod :: (MonadIO m, IsAudioBaseSink o) => o -> m AudioBaseSinkSlaveMethod Source #
setAudioBaseSinkSlaveMethod :: (MonadIO m, IsAudioBaseSink o) => o -> AudioBaseSinkSlaveMethod -> m () Source #