## gstaudiometa gstaudiometa |

## Functions

GstAudioDownmixMeta * | gst_buffer_add_audio_downmix_meta ()
#define | gst_buffer_get_audio_downmix_meta()
GstAudioDownmixMeta * | gst_buffer_get_audio_downmix_meta_for_channels ()

## Types and Values

struct | GstAudioDownmixMeta

## Object Hierarchy

## Includes

    #include <gst/audio/gstaudiometa.h>

## Description

## Functions

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

#### Parameters

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.

#### Parameters

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

## Types and Values

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

#### Members

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