blob: ac32fce72cd18fd59c0162bbdddf0a5200e665c4 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gstaudiometa</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-audio.html" title="Audio Library">
<link rel="prev" href="gst-plugins-base-libs-gstaudio.html" title="gstaudio">
<link rel="next" href="gst-plugins-base-libs-gstaudiocdsrc.html" title="gstaudiocdsrc">
<meta name="generator" content="GTK-Doc V1.19 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="gst-plugins-base-libs-gstaudio.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="gstreamer-audio.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GStreamer Base Plugins 1.0 Library Reference Manual</th>
<td><a accesskey="n" href="gst-plugins-base-libs-gstaudiocdsrc.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#gst-plugins-base-libs-gstaudiometa.synopsis" class="shortcut">Top</a>
 | 
<a href="#gst-plugins-base-libs-gstaudiometa.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry">
<a name="gst-plugins-base-libs-gstaudiometa"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstaudiometa.top_of_page"></a>gstaudiometa</span></h2>
<p>gstaudiometa</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="gst-plugins-base-libs-gstaudiometa.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include &lt;gst/audio/gstaudiometa.h&gt;
struct <a class="link" href="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta" title="struct GstAudioDownmixMeta">GstAudioDownmixMeta</a>;
<a class="link" href="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta" title="struct GstAudioDownmixMeta"><span class="returnvalue">GstAudioDownmixMeta</span></a> * <a class="link" href="gst-plugins-base-libs-gstaudiometa.html#gst-buffer-add-audio-downmix-meta" title="gst_buffer_add_audio_downmix_meta ()">gst_buffer_add_audio_downmix_meta</a> (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *from_position</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> from_channels</code></em>,
<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *to_position</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> to_channels</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> **matrix</code></em>);
#define <a class="link" href="gst-plugins-base-libs-gstaudiometa.html#gst-buffer-get-audio-downmix-meta" title="gst_buffer_get_audio_downmix_meta()">gst_buffer_get_audio_downmix_meta</a> (b)
<a class="link" href="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta" title="struct GstAudioDownmixMeta"><span class="returnvalue">GstAudioDownmixMeta</span></a> * <a class="link" href="gst-plugins-base-libs-gstaudiometa.html#gst-buffer-get-audio-downmix-meta-for-channels" title="gst_buffer_get_audio_downmix_meta_for_channels ()">gst_buffer_get_audio_downmix_meta_for_channels</a>
(<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *to_position</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> to_channels</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstaudiometa.description"></a><h2>Description</h2>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstaudiometa.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="GstAudioDownmixMeta"></a><h3>struct GstAudioDownmixMeta</h3>
<pre class="programlisting">struct GstAudioDownmixMeta {
GstMeta meta;
GstAudioChannelPosition *from_position;
GstAudioChannelPosition *to_position;
gint from_channels, to_channels;
gfloat **matrix;
};
</pre>
<p>
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 <em class="parameter"><code>channels</code></em>.
</p>
<p>
<em class="parameter"><code>matrix</code></em> is an two-dimensional array of <em class="parameter"><code>to_channels</code></em> times <em class="parameter"><code>from_channels</code></em>
coefficients, i.e. the i-th output channels is constructed by multiplicating
the input channels with the coefficients in <em class="parameter"><code>matrix</code></em>[i] and taking the sum
of the results.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMeta.html#GstMeta"><span class="type">GstMeta</span></a> <em class="structfield"><code><a name="GstAudioDownmixMeta.meta"></a>meta</code></em>;</span></p></td>
<td>parent <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstMeta.html#GstMeta"><span class="type">GstMeta</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *<em class="structfield"><code><a name="GstAudioDownmixMeta.from-position"></a>from_position</code></em>;</span></p></td>
<td>the channel positions of the source</td>
</tr>
<tr>
<td><p><span class="term"><a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *<em class="structfield"><code><a name="GstAudioDownmixMeta.to-position"></a>to_position</code></em>;</span></p></td>
<td>the channel positions of the destination</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstAudioDownmixMeta.from-channels"></a>from_channels</code></em>;</span></p></td>
<td>the number of channels of the source</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstAudioDownmixMeta.to-channels"></a>to_channels</code></em>;</span></p></td>
<td>the number of channels of the destination</td>
</tr>
<tr>
<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> **<em class="structfield"><code><a name="GstAudioDownmixMeta.matrix"></a>matrix</code></em>;</span></p></td>
<td>the matrix coefficients.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-buffer-add-audio-downmix-meta"></a><h3>gst_buffer_add_audio_downmix_meta ()</h3>
<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta" title="struct GstAudioDownmixMeta"><span class="returnvalue">GstAudioDownmixMeta</span></a> * gst_buffer_add_audio_downmix_meta (<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *from_position</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> from_channels</code></em>,
<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *to_position</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> to_channels</code></em>,
<em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> **matrix</code></em>);</pre>
<p>
Attaches GstAudioDownmixMeta metadata to <em class="parameter"><code>buffer</code></em> with the given parameters.
</p>
<p>
<em class="parameter"><code>matrix</code></em> is an two-dimensional array of <em class="parameter"><code>to_channels</code></em> times <em class="parameter"><code>from_channels</code></em>
coefficients, i.e. the i-th output channels is constructed by multiplicating
the input channels with the coefficients in <em class="parameter"><code>matrix</code></em>[i] and taking the sum
of the results.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>from_position</code></em> :</span></p></td>
<td>the channel positions
of the source. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=from_channels]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>from_channels</code></em> :</span></p></td>
<td>The number of channels of the source</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>to_position</code></em> :</span></p></td>
<td>the channel positions of
the destination. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=to_channels]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>to_channels</code></em> :</span></p></td>
<td>The number of channels of the destination</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>matrix</code></em> :</span></p></td>
<td>The matrix coefficients.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a class="link" href="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta" title="struct GstAudioDownmixMeta"><span class="type">GstAudioDownmixMeta</span></a> on <em class="parameter"><code>buffer</code></em>.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gst-buffer-get-audio-downmix-meta"></a><h3>gst_buffer_get_audio_downmix_meta()</h3>
<pre class="programlisting">#define gst_buffer_get_audio_downmix_meta(b) ((GstAudioDownmixMeta*)gst_buffer_get_meta((b),GST_AUDIO_DOWNMIX_META_INFO))
</pre>
</div>
<hr>
<div class="refsect2">
<a name="gst-buffer-get-audio-downmix-meta-for-channels"></a><h3>gst_buffer_get_audio_downmix_meta_for_channels ()</h3>
<pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta" title="struct GstAudioDownmixMeta"><span class="returnvalue">GstAudioDownmixMeta</span></a> * gst_buffer_get_audio_downmix_meta_for_channels
(<em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
<em class="parameter"><code>const <a class="link" href="gst-plugins-base-libs-gstaudiochannels.html#GstAudioChannelPosition" title="enum GstAudioChannelPosition"><span class="type">GstAudioChannelPosition</span></a> *to_position</code></em>,
<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> to_channels</code></em>);</pre>
<p>
Find the <a class="link" href="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta" title="struct GstAudioDownmixMeta"><span class="type">GstAudioDownmixMeta</span></a> on <em class="parameter"><code>buffer</code></em> for the given destination
channel positions.
</p>
<div class="variablelist"><table border="0" class="variablelist">
<colgroup>
<col align="left" valign="top">
<col>
</colgroup>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>to_position</code></em> :</span></p></td>
<td>the channel positions of
the destination. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=to_channels]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>to_channels</code></em> :</span></p></td>
<td>The number of channels of the destination</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a class="link" href="gst-plugins-base-libs-gstaudiometa.html#GstAudioDownmixMeta" title="struct GstAudioDownmixMeta"><span class="type">GstAudioDownmixMeta</span></a> on <em class="parameter"><code>buffer</code></em>.</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="footer">
<hr>
Generated by GTK-Doc V1.19</div>
</body>
</html>