| 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.AudioClock
Description
AudioClock makes it easy for elements to implement a Clock, they
simply need to provide a function that returns the current clock time.
This object is internally used to implement the clock in AudioBaseSink.
- newtype AudioClock = AudioClock (ManagedPtr AudioClock)
- class GObject o => IsAudioClock o
- toAudioClock :: IsAudioClock o => o -> IO AudioClock
- noAudioClock :: Maybe AudioClock
- audioClockAdjust :: (HasCallStack, MonadIO m, IsClock a) => a -> Word64 -> m Word64
- audioClockGetTime :: (HasCallStack, MonadIO m, IsClock a) => a -> m Word64
- audioClockInvalidate :: (HasCallStack, MonadIO m, IsClock a) => a -> m ()
- audioClockNew :: (HasCallStack, MonadIO m) => Text -> AudioClockGetTimeFunc -> m AudioClock
- data AudioClockResetMethodInfo
- audioClockReset :: (HasCallStack, MonadIO m, IsAudioClock a) => a -> Word64 -> m ()
Exported types
newtype AudioClock Source #
Constructors
| AudioClock (ManagedPtr AudioClock) |
Instances
| GObject AudioClock Source # | |
| IsObject AudioClock Source # | |
| IsSystemClock AudioClock Source # | |
| IsClock AudioClock Source # | |
| IsObject AudioClock Source # | |
| IsAudioClock AudioClock Source # | |
| ((~) * info (ResolveAudioClockMethod t AudioClock), MethodInfo * info AudioClock p) => IsLabel t (AudioClock -> p) Source # | |
| ((~) * info (ResolveAudioClockMethod t AudioClock), MethodInfo * info AudioClock p) => IsLabelProxy t (AudioClock -> p) Source # | |
| HasAttributeList * AudioClock Source # | |
| type AttributeList AudioClock Source # | |
| type SignalList AudioClock Source # | |
class GObject o => IsAudioClock o Source #
Instances
toAudioClock :: IsAudioClock o => o -> IO AudioClock Source #
Methods
adjust
Arguments
| :: (HasCallStack, MonadIO m, IsClock a) | |
| => a |
|
| -> Word64 |
|
| -> m Word64 | Returns: |
Adjust time with the internal offset of the audio clock.
getTime
Arguments
| :: (HasCallStack, MonadIO m, IsClock a) | |
| => a |
|
| -> m Word64 | Returns: the time as reported by the time function of the audio clock |
Report the time as returned by the AudioClockGetTimeFunc without applying
any offsets.
invalidate
Arguments
| :: (HasCallStack, MonadIO m, IsClock a) | |
| => a |
|
| -> m () |
Invalidate the clock function. Call this function when the provided
AudioClockGetTimeFunc cannot be called anymore, for example, when the
user_data becomes invalid.
After calling this function, clock will return the last returned time for
the rest of its lifetime.
new
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Text |
|
| -> AudioClockGetTimeFunc |
|
| -> m AudioClock | Returns: a new |
Create a new AudioClock instance. Whenever the clock time should be
calculated it will call func with userData. When func returns
CLOCK_TIME_NONE, the clock will return the last reported time.
reset
data AudioClockResetMethodInfo Source #
Instances
| ((~) * signature (Word64 -> m ()), MonadIO m, IsAudioClock a) => MethodInfo * AudioClockResetMethodInfo a signature Source # | |
Arguments
| :: (HasCallStack, MonadIO m, IsAudioClock a) | |
| => a |
|
| -> Word64 |
|
| -> m () |
Inform clock that future calls to AudioClockGetTimeFunc will return values
starting from time. The clock will update an internal offset to make sure that
future calls to internal_time will return an increasing result as required by
the Clock object.