| 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.AudioAggregator
Contents
Description
Subclasses must use (a subclass of) AudioAggregatorPad for both
their source and sink pads,
elementClassAddStaticPadTemplateWithGtype is a convenient
helper.
AudioAggregator can perform conversion on the data arriving
on its sink pads, based on the format expected downstream: in order
to enable that behaviour, the GType of the sink pads must either be
a (subclass of) AudioAggregatorConvertPad to use the default
AudioConverter implementation, or a subclass of AudioAggregatorPad
implementing AudioAggregatorPad.convert_buffer.
To allow for the output caps to change, the mechanism is the same as above, with the GType of the source pad.
See GstAudioMixer for an example.
When conversion is enabled, AudioAggregator will accept
any type of raw audio caps and perform conversion
on the data arriving on its sink pads, with whatever downstream
expects as the target format.
In case downstream caps are not fully fixated, it will use the first configured sink pad to finish fixating its source pad caps.
A notable exception for now is the sample rate, sink pads must have the same sample rate as either the downstream requirement, or the first configured pad, or a combination of both (when downstream specifies a range or a set of acceptable rates).
Synopsis
- newtype AudioAggregator = AudioAggregator (ManagedPtr AudioAggregator)
- class GObject o => IsAudioAggregator o
- toAudioAggregator :: (MonadIO m, IsAudioAggregator o) => o -> m AudioAggregator
- noAudioAggregator :: Maybe AudioAggregator
- audioAggregatorSetSinkCaps :: (HasCallStack, MonadIO m, IsAudioAggregator a, IsAudioAggregatorPad b) => a -> b -> Caps -> m ()
- constructAudioAggregatorAlignmentThreshold :: IsAudioAggregator o => Word64 -> IO (GValueConstruct o)
- getAudioAggregatorAlignmentThreshold :: (MonadIO m, IsAudioAggregator o) => o -> m Word64
- setAudioAggregatorAlignmentThreshold :: (MonadIO m, IsAudioAggregator o) => o -> Word64 -> m ()
- constructAudioAggregatorDiscontWait :: IsAudioAggregator o => Word64 -> IO (GValueConstruct o)
- getAudioAggregatorDiscontWait :: (MonadIO m, IsAudioAggregator o) => o -> m Word64
- setAudioAggregatorDiscontWait :: (MonadIO m, IsAudioAggregator o) => o -> Word64 -> m ()
- constructAudioAggregatorOutputBufferDuration :: IsAudioAggregator o => Word64 -> IO (GValueConstruct o)
- getAudioAggregatorOutputBufferDuration :: (MonadIO m, IsAudioAggregator o) => o -> m Word64
- setAudioAggregatorOutputBufferDuration :: (MonadIO m, IsAudioAggregator o) => o -> Word64 -> m ()
Exported types
newtype AudioAggregator Source #
Memory-managed wrapper type.
Constructors
| AudioAggregator (ManagedPtr AudioAggregator) |
Instances
| GObject AudioAggregator Source # | |
Defined in GI.GstAudio.Objects.AudioAggregator Methods gobjectType :: AudioAggregator -> IO GType # | |
| IsObject AudioAggregator Source # | |
Defined in GI.GstAudio.Objects.AudioAggregator | |
| IsObject AudioAggregator Source # | |
Defined in GI.GstAudio.Objects.AudioAggregator | |
| IsElement AudioAggregator Source # | |
Defined in GI.GstAudio.Objects.AudioAggregator | |
| IsAggregator AudioAggregator Source # | |
Defined in GI.GstAudio.Objects.AudioAggregator | |
| IsAudioAggregator AudioAggregator Source # | |
Defined in GI.GstAudio.Objects.AudioAggregator | |
class GObject o => IsAudioAggregator o Source #
Type class for types which can be safely cast to AudioAggregator, for instance with toAudioAggregator.
Instances
| (GObject a, (UnknownAncestorError AudioAggregator a :: Constraint)) => IsAudioAggregator a Source # | |
Defined in GI.GstAudio.Objects.AudioAggregator | |
| IsAudioAggregator AudioAggregator Source # | |
Defined in GI.GstAudio.Objects.AudioAggregator | |
toAudioAggregator :: (MonadIO m, IsAudioAggregator o) => o -> m AudioAggregator Source #
Cast to AudioAggregator, for types for which this is known to be safe. For general casts, use castTo.
noAudioAggregator :: Maybe AudioAggregator Source #
A convenience alias for Nothing :: Maybe AudioAggregator.
Methods
setSinkCaps
audioAggregatorSetSinkCaps :: (HasCallStack, MonadIO m, IsAudioAggregator a, IsAudioAggregatorPad b) => a -> b -> Caps -> m () Source #
No description available in the introspection data.
Properties
alignmentThreshold
No description available in the introspection data.
constructAudioAggregatorAlignmentThreshold :: IsAudioAggregator o => Word64 -> IO (GValueConstruct o) Source #
Construct a GValueConstruct with valid value for the “alignment-threshold” property. This is rarely needed directly, but it is used by new.
getAudioAggregatorAlignmentThreshold :: (MonadIO m, IsAudioAggregator o) => o -> m Word64 Source #
Get the value of the “alignment-threshold” property.
When overloading is enabled, this is equivalent to
get audioAggregator #alignmentThreshold
setAudioAggregatorAlignmentThreshold :: (MonadIO m, IsAudioAggregator o) => o -> Word64 -> m () Source #
Set the value of the “alignment-threshold” property.
When overloading is enabled, this is equivalent to
setaudioAggregator [ #alignmentThreshold:=value ]
discontWait
No description available in the introspection data.
constructAudioAggregatorDiscontWait :: IsAudioAggregator o => Word64 -> IO (GValueConstruct o) Source #
Construct a GValueConstruct with valid value for the “discont-wait” property. This is rarely needed directly, but it is used by new.
getAudioAggregatorDiscontWait :: (MonadIO m, IsAudioAggregator o) => o -> m Word64 Source #
Get the value of the “discont-wait” property.
When overloading is enabled, this is equivalent to
get audioAggregator #discontWait
setAudioAggregatorDiscontWait :: (MonadIO m, IsAudioAggregator o) => o -> Word64 -> m () Source #
Set the value of the “discont-wait” property.
When overloading is enabled, this is equivalent to
setaudioAggregator [ #discontWait:=value ]
outputBufferDuration
No description available in the introspection data.
constructAudioAggregatorOutputBufferDuration :: IsAudioAggregator o => Word64 -> IO (GValueConstruct o) Source #
Construct a GValueConstruct with valid value for the “output-buffer-duration” property. This is rarely needed directly, but it is used by new.
getAudioAggregatorOutputBufferDuration :: (MonadIO m, IsAudioAggregator o) => o -> m Word64 Source #
Get the value of the “output-buffer-duration” property.
When overloading is enabled, this is equivalent to
get audioAggregator #outputBufferDuration
setAudioAggregatorOutputBufferDuration :: (MonadIO m, IsAudioAggregator o) => o -> Word64 -> m () Source #
Set the value of the “output-buffer-duration” property.
When overloading is enabled, this is equivalent to
setaudioAggregator [ #outputBufferDuration:=value ]