gstaudiometa

gstaudiometa — Buffer metadata for audio downmix matrix handling

Synopsis

#include <gst/audio/gstaudiometa.h>

struct              GstAudioDownmixMeta;
GstAudioDownmixMeta * gst_buffer_add_audio_downmix_meta (GstBuffer *buffer,
                                                         const GstAudioChannelPosition *from_position,
                                                         gint from_channels,
                                                         const GstAudioChannelPosition *to_position,
                                                         gint to_channels,
                                                         const gfloat **matrix);
#define             gst_buffer_get_audio_downmix_meta   (b)
GstAudioDownmixMeta * gst_buffer_get_audio_downmix_meta_for_channels
                                                        (GstBuffer *buffer,
                                                         const GstAudioChannelPosition *to_position,
                                                         gint to_channels);

Description

GstAudioDownmixMeta defines an audio downmix matrix to be send along with audio buffers. These functions in this module help to create and attach the meta as well as extracting it.

Details

struct GstAudioDownmixMeta

struct GstAudioDownmixMeta {
  GstMeta      meta;

  GstAudioChannelPosition *from_position;
  GstAudioChannelPosition *to_position;
  gint        from_channels, to_channels;
  gfloat       **matrix;
};

Extra buffer metadata describing audio downmixing matrix. This metadata is attached to audio buffers and contains a matrix to downmix the buffer number of channels to channels.

matrix is an two-dimensional array of to_channels times from_channels coefficients, i.e. the i-th output channels is constructed by multiplicating the input channels with the coefficients in matrix[i] and taking the sum of the results.

GstMeta meta;

parent GstMeta

GstAudioChannelPosition *from_position;

the channel positions of the source

GstAudioChannelPosition *to_position;

the channel positions of the destination

gint from_channels;

the number of channels of the source

gint to_channels;

the number of channels of the destination

gfloat **matrix;

the matrix coefficients.

gst_buffer_add_audio_downmix_meta ()

GstAudioDownmixMeta * gst_buffer_add_audio_downmix_meta (GstBuffer *buffer,
                                                         const GstAudioChannelPosition *from_position,
                                                         gint from_channels,
                                                         const GstAudioChannelPosition *to_position,
                                                         gint to_channels,
                                                         const gfloat **matrix);

Attaches GstAudioDownmixMeta metadata to buffer with the given parameters.

matrix is an two-dimensional array of to_channels times from_channels coefficients, i.e. the i-th output channels is constructed by multiplicating the input channels with the coefficients in matrix[i] and taking the sum of the results.

buffer :

a GstBuffer

from_position :

the channel positions of the source. [array length=from_channels]

from_channels :

The number of channels of the source

to_position :

the channel positions of the destination. [array length=to_channels]

to_channels :

The number of channels of the destination

matrix :

The matrix coefficients.

Returns :

the GstAudioDownmixMeta on buffer.

gst_buffer_get_audio_downmix_meta()

#define gst_buffer_get_audio_downmix_meta(b) ((GstAudioDownmixMeta*)gst_buffer_get_meta((b),GST_AUDIO_DOWNMIX_META_INFO))

gst_buffer_get_audio_downmix_meta_for_channels ()

GstAudioDownmixMeta * gst_buffer_get_audio_downmix_meta_for_channels
                                                        (GstBuffer *buffer,
                                                         const GstAudioChannelPosition *to_position,
                                                         gint to_channels);

Find the GstAudioDownmixMeta on buffer for the given destination channel positions.

buffer :

a GstBuffer

to_position :

the channel positions of the destination. [array length=to_channels]

to_channels :

The number of channels of the destination

Returns :

the GstAudioDownmixMeta on buffer.