Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (inaki@blueleaf.cc) |
Safe Haskell | None |
Language | Haskell2010 |
This is the most simple base class for audio sinks that only requires subclasses to implement a set of simple functions:
open()
:Open the device.prepare()
:Configure the device with the specified format.write()
:Write samples to the device.reset()
:Unblock writes and flush the device.delay()
:Get the number of samples written but not yet played by the device.unprepare()
:Undo operations done by prepare.close()
:Close the device.
All scheduling of samples and timestamps is done in this base class
together with AudioBaseSink
using a default implementation of a
AudioRingBuffer
that uses threads.
Synopsis
- newtype AudioSink = AudioSink (ManagedPtr AudioSink)
- class (GObject o, IsDescendantOf AudioSink o) => IsAudioSink o
- toAudioSink :: (MonadIO m, IsAudioSink o) => o -> m AudioSink
- noAudioSink :: Maybe AudioSink
Exported types
Memory-managed wrapper type.
Instances
GObject AudioSink Source # | |
Defined in GI.GstAudio.Objects.AudioSink gobjectType :: IO GType # | |
HasParentTypes AudioSink Source # | |
Defined in GI.GstAudio.Objects.AudioSink | |
type ParentTypes AudioSink Source # | |
Defined in GI.GstAudio.Objects.AudioSink type ParentTypes AudioSink = AudioBaseSink ': (BaseSink ': (Element ': (Object ': (Object ': ([] :: [Type]))))) |
class (GObject o, IsDescendantOf AudioSink o) => IsAudioSink o Source #
Type class for types which can be safely cast to AudioSink
, for instance with toAudioSink
.
Instances
(GObject o, IsDescendantOf AudioSink o) => IsAudioSink o Source # | |
Defined in GI.GstAudio.Objects.AudioSink |
toAudioSink :: (MonadIO m, IsAudioSink o) => o -> m AudioSink Source #