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 |
The GStreamer core provides a GstSystemClock based on the system time. Asynchronous callbacks are scheduled from an internal thread.
Clock implementors are encouraged to subclass this systemclock as it implements the async notification.
Subclasses can however override all of the important methods for sync and async notifications to implement their own callback methods or blocking wait operations.
- newtype SystemClock = SystemClock (ManagedPtr SystemClock)
- class GObject o => IsSystemClock o
- toSystemClock :: (MonadIO m, IsSystemClock o) => o -> m SystemClock
- noSystemClock :: Maybe SystemClock
- systemClockObtain :: (HasCallStack, MonadIO m) => m Clock
- systemClockSetDefault :: (HasCallStack, MonadIO m, IsClock a) => a -> m ()
- constructSystemClockClockType :: IsSystemClock o => ClockType -> IO (GValueConstruct o)
- getSystemClockClockType :: (MonadIO m, IsSystemClock o) => o -> m ClockType
- setSystemClockClockType :: (MonadIO m, IsSystemClock o) => o -> ClockType -> m ()
Exported types
newtype SystemClock Source #
class GObject o => IsSystemClock o Source #
toSystemClock :: (MonadIO m, IsSystemClock o) => o -> m SystemClock Source #
Methods
obtain
:: (HasCallStack, MonadIO m) | |
=> m Clock | Returns: the default clock. MT safe. |
Get a handle to the default system clock. The refcount of the clock will be increased so you need to unref the clock after usage.
setDefault
systemClockSetDefault Source #
:: (HasCallStack, MonadIO m, IsClock a) | |
=> a |
|
-> m () |
Sets the default system clock that can be obtained with
systemClockObtain
.
This is mostly used for testing and debugging purposes when you want to have control over the time reported by the default system clock.
MT safe.
Since: 1.4
Properties
clockType
constructSystemClockClockType :: IsSystemClock o => ClockType -> IO (GValueConstruct o) Source #
getSystemClockClockType :: (MonadIO m, IsSystemClock o) => o -> m ClockType Source #
setSystemClockClockType :: (MonadIO m, IsSystemClock o) => o -> ClockType -> m () Source #