gi-gstaudio-1.0.20: GStreamerAudio bindings

CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria (inaki@blueleaf.cc)
Safe HaskellNone
LanguageHaskell2010

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 AudioAggregatorPadClass.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

Exported types

class (GObject o, IsDescendantOf AudioAggregator o) => IsAudioAggregator o Source #

Type class for types which can be safely cast to AudioAggregator, for instance with toAudioAggregator.

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.

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

set audioAggregator [ #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

set audioAggregator [ #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

set audioAggregator [ #outputBufferDuration := value ]