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 |
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.
- newtype AudioBaseSrc = AudioBaseSrc (ManagedPtr AudioBaseSrc)
- class GObject o => IsAudioBaseSrc o
- toAudioBaseSrc :: IsAudioBaseSrc o => o -> IO AudioBaseSrc
- noAudioBaseSrc :: Maybe AudioBaseSrc
- data AudioBaseSrcCreateRingbufferMethodInfo
- audioBaseSrcCreateRingbuffer :: (HasCallStack, MonadIO m, IsAudioBaseSrc a) => a -> m AudioRingBuffer
- data AudioBaseSrcGetProvideClockMethodInfo
- audioBaseSrcGetProvideClock :: (HasCallStack, MonadIO m, IsAudioBaseSrc a) => a -> m Bool
- data AudioBaseSrcGetSlaveMethodMethodInfo
- audioBaseSrcGetSlaveMethod :: (HasCallStack, MonadIO m, IsAudioBaseSrc a) => a -> m AudioBaseSrcSlaveMethod
- data AudioBaseSrcSetProvideClockMethodInfo
- audioBaseSrcSetProvideClock :: (HasCallStack, MonadIO m, IsAudioBaseSrc a) => a -> Bool -> m ()
- data AudioBaseSrcSetSlaveMethodMethodInfo
- audioBaseSrcSetSlaveMethod :: (HasCallStack, MonadIO m, IsAudioBaseSrc a) => a -> AudioBaseSrcSlaveMethod -> m ()
- data AudioBaseSrcActualBufferTimePropertyInfo
- audioBaseSrcActualBufferTime :: AttrLabelProxy "actualBufferTime"
- getAudioBaseSrcActualBufferTime :: (MonadIO m, IsAudioBaseSrc o) => o -> m Int64
- data AudioBaseSrcActualLatencyTimePropertyInfo
- audioBaseSrcActualLatencyTime :: AttrLabelProxy "actualLatencyTime"
- getAudioBaseSrcActualLatencyTime :: (MonadIO m, IsAudioBaseSrc o) => o -> m Int64
- data AudioBaseSrcBufferTimePropertyInfo
- audioBaseSrcBufferTime :: AttrLabelProxy "bufferTime"
- constructAudioBaseSrcBufferTime :: IsAudioBaseSrc o => Int64 -> IO (GValueConstruct o)
- getAudioBaseSrcBufferTime :: (MonadIO m, IsAudioBaseSrc o) => o -> m Int64
- setAudioBaseSrcBufferTime :: (MonadIO m, IsAudioBaseSrc o) => o -> Int64 -> m ()
- data AudioBaseSrcLatencyTimePropertyInfo
- audioBaseSrcLatencyTime :: AttrLabelProxy "latencyTime"
- constructAudioBaseSrcLatencyTime :: IsAudioBaseSrc o => Int64 -> IO (GValueConstruct o)
- getAudioBaseSrcLatencyTime :: (MonadIO m, IsAudioBaseSrc o) => o -> m Int64
- setAudioBaseSrcLatencyTime :: (MonadIO m, IsAudioBaseSrc o) => o -> Int64 -> m ()
- data AudioBaseSrcProvideClockPropertyInfo
- audioBaseSrcProvideClock :: AttrLabelProxy "provideClock"
- constructAudioBaseSrcProvideClock :: IsAudioBaseSrc o => Bool -> IO (GValueConstruct o)
- getAudioBaseSrcProvideClock :: (MonadIO m, IsAudioBaseSrc o) => o -> m Bool
- setAudioBaseSrcProvideClock :: (MonadIO m, IsAudioBaseSrc o) => o -> Bool -> m ()
- data AudioBaseSrcSlaveMethodPropertyInfo
- audioBaseSrcSlaveMethod :: AttrLabelProxy "slaveMethod"
- constructAudioBaseSrcSlaveMethod :: IsAudioBaseSrc o => AudioBaseSrcSlaveMethod -> IO (GValueConstruct o)
- getAudioBaseSrcSlaveMethod :: (MonadIO m, IsAudioBaseSrc o) => o -> m AudioBaseSrcSlaveMethod
- setAudioBaseSrcSlaveMethod :: (MonadIO m, IsAudioBaseSrc o) => o -> AudioBaseSrcSlaveMethod -> m ()
Exported types
newtype AudioBaseSrc Source #
GObject AudioBaseSrc Source # | |
IsObject AudioBaseSrc Source # | |
IsElement AudioBaseSrc Source # | |
IsObject AudioBaseSrc Source # | |
IsPushSrc AudioBaseSrc Source # | |
IsBaseSrc AudioBaseSrc Source # | |
IsAudioBaseSrc AudioBaseSrc Source # | |
((~) * info (ResolveAudioBaseSrcMethod t AudioBaseSrc), MethodInfo * info AudioBaseSrc p) => IsLabel t (AudioBaseSrc -> p) Source # | |
((~) * info (ResolveAudioBaseSrcMethod t AudioBaseSrc), MethodInfo * info AudioBaseSrc p) => IsLabelProxy t (AudioBaseSrc -> p) Source # | |
HasAttributeList * AudioBaseSrc Source # | |
type AttributeList AudioBaseSrc Source # | |
type SignalList AudioBaseSrc Source # | |
class GObject o => IsAudioBaseSrc o Source #
toAudioBaseSrc :: IsAudioBaseSrc o => o -> IO AudioBaseSrc Source #
Methods
createRingbuffer
data AudioBaseSrcCreateRingbufferMethodInfo Source #
((~) * signature (m AudioRingBuffer), MonadIO m, IsAudioBaseSrc a) => MethodInfo * AudioBaseSrcCreateRingbufferMethodInfo a signature Source # | |
audioBaseSrcCreateRingbuffer Source #
:: (HasCallStack, MonadIO m, IsAudioBaseSrc a) | |
=> a |
|
-> m 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
data AudioBaseSrcGetProvideClockMethodInfo Source #
((~) * signature (m Bool), MonadIO m, IsAudioBaseSrc a) => MethodInfo * AudioBaseSrcGetProvideClockMethodInfo a signature Source # | |
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
data AudioBaseSrcGetSlaveMethodMethodInfo Source #
((~) * signature (m AudioBaseSrcSlaveMethod), MonadIO m, IsAudioBaseSrc a) => MethodInfo * AudioBaseSrcGetSlaveMethodMethodInfo a signature Source # | |
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
data AudioBaseSrcSetProvideClockMethodInfo Source #
((~) * signature (Bool -> m ()), MonadIO m, IsAudioBaseSrc a) => MethodInfo * AudioBaseSrcSetProvideClockMethodInfo a signature Source # | |
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
data AudioBaseSrcSetSlaveMethodMethodInfo Source #
((~) * signature (AudioBaseSrcSlaveMethod -> m ()), MonadIO m, IsAudioBaseSrc a) => MethodInfo * AudioBaseSrcSetSlaveMethodMethodInfo a signature Source # | |
audioBaseSrcSetSlaveMethod Source #
:: (HasCallStack, MonadIO m, IsAudioBaseSrc a) | |
=> a |
|
-> AudioBaseSrcSlaveMethod |
|
-> m () |
Controls how clock slaving will be performed in src
.
Properties
actualBufferTime
data AudioBaseSrcActualBufferTimePropertyInfo Source #
audioBaseSrcActualBufferTime :: AttrLabelProxy "actualBufferTime" Source #
getAudioBaseSrcActualBufferTime :: (MonadIO m, IsAudioBaseSrc o) => o -> m Int64 Source #
actualLatencyTime
data AudioBaseSrcActualLatencyTimePropertyInfo Source #
audioBaseSrcActualLatencyTime :: AttrLabelProxy "actualLatencyTime" Source #
getAudioBaseSrcActualLatencyTime :: (MonadIO m, IsAudioBaseSrc o) => o -> m Int64 Source #
bufferTime
data AudioBaseSrcBufferTimePropertyInfo Source #
audioBaseSrcBufferTime :: AttrLabelProxy "bufferTime" Source #
constructAudioBaseSrcBufferTime :: IsAudioBaseSrc o => Int64 -> IO (GValueConstruct o) Source #
getAudioBaseSrcBufferTime :: (MonadIO m, IsAudioBaseSrc o) => o -> m Int64 Source #
setAudioBaseSrcBufferTime :: (MonadIO m, IsAudioBaseSrc o) => o -> Int64 -> m () Source #
latencyTime
data AudioBaseSrcLatencyTimePropertyInfo Source #
audioBaseSrcLatencyTime :: AttrLabelProxy "latencyTime" Source #
constructAudioBaseSrcLatencyTime :: IsAudioBaseSrc o => Int64 -> IO (GValueConstruct o) Source #
getAudioBaseSrcLatencyTime :: (MonadIO m, IsAudioBaseSrc o) => o -> m Int64 Source #
setAudioBaseSrcLatencyTime :: (MonadIO m, IsAudioBaseSrc o) => o -> Int64 -> m () Source #
provideClock
data AudioBaseSrcProvideClockPropertyInfo Source #
audioBaseSrcProvideClock :: AttrLabelProxy "provideClock" Source #
constructAudioBaseSrcProvideClock :: IsAudioBaseSrc o => Bool -> IO (GValueConstruct o) Source #
getAudioBaseSrcProvideClock :: (MonadIO m, IsAudioBaseSrc o) => o -> m Bool Source #
setAudioBaseSrcProvideClock :: (MonadIO m, IsAudioBaseSrc o) => o -> Bool -> m () Source #
slaveMethod
data AudioBaseSrcSlaveMethodPropertyInfo Source #
audioBaseSrcSlaveMethod :: AttrLabelProxy "slaveMethod" Source #
constructAudioBaseSrcSlaveMethod :: IsAudioBaseSrc o => AudioBaseSrcSlaveMethod -> IO (GValueConstruct o) Source #
getAudioBaseSrcSlaveMethod :: (MonadIO m, IsAudioBaseSrc o) => o -> m AudioBaseSrcSlaveMethod Source #
setAudioBaseSrcSlaveMethod :: (MonadIO m, IsAudioBaseSrc o) => o -> AudioBaseSrcSlaveMethod -> m () Source #