<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>rganalysis</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="index.html" title="GStreamer Good Plugins 1.0 Plugins Reference Manual">
<link rel="up" href="ch01.html" title="gst-plugins-good Elements">
<link rel="prev" href="gst-plugins-good-plugins-revtv.html" title="revtv">
<link rel="next" href="gst-plugins-good-plugins-rglimiter.html" title="rglimiter">
<meta name="generator" content="GTK-Doc V1.18 (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-good-plugins-revtv.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="ch01.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 Good Plugins 1.0 Plugins Reference Manual</th>
<td><a accesskey="n" href="gst-plugins-good-plugins-rglimiter.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-good-plugins-rganalysis.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#gst-plugins-good-plugins-rganalysis.description" class="shortcut">Description</a>
                   | 
                  <a href="#gst-plugins-good-plugins-rganalysis.object-hierarchy" class="shortcut">Object Hierarchy</a>
                   | 
                  <a href="#gst-plugins-good-plugins-rganalysis.properties" class="shortcut">Properties</a>
</td></tr>
</table>
<div class="refentry">
<a name="gst-plugins-good-plugins-rganalysis"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gst-plugins-good-plugins-rganalysis.top_of_page"></a>rganalysis</span></h2>
<p>rganalysis — Perform the ReplayGain analysis</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="gst-plugins-good-plugins-rganalysis.synopsis"></a><h2>Synopsis</h2>
<a name="GstRgAnalysis"></a><pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-rganalysis.html#GstRgAnalysis-struct" title="struct GstRgAnalysis">GstRgAnalysis</a>;
</pre>
</div>
<div class="refsect1">
<a name="gst-plugins-good-plugins-rganalysis.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
   +----<a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
         +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
               +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
                     +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html">GstBaseTransform</a>
                           +----GstRgAnalysis
</pre>
</div>
<div class="refsect1">
<a name="gst-plugins-good-plugins-rganalysis.properties"></a><h2>Properties</h2>
<pre class="synopsis">
  "<a class="link" href="gst-plugins-good-plugins-rganalysis.html#GstRgAnalysis--forced" title='The "forced" property'>forced</a>"                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
  "<a class="link" href="gst-plugins-good-plugins-rganalysis.html#GstRgAnalysis--num-tracks" title='The "num-tracks" property'>num-tracks</a>"               <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write
  "<a class="link" href="gst-plugins-good-plugins-rganalysis.html#GstRgAnalysis--reference-level" title='The "reference-level" property'>reference-level</a>"          <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a>               : Read / Write
  "<a class="link" href="gst-plugins-good-plugins-rganalysis.html#GstRgAnalysis--message" title='The "message" property'>message</a>"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write / Construct
</pre>
</div>
<div class="refsect1">
<a name="gst-plugins-good-plugins-rganalysis.description"></a><h2>Description</h2>
<p>
This element analyzes raw audio sample data in accordance with the proposed
<a class="ulink" href="http://replaygain.org" target="_top">ReplayGain standard</a> for
calculating the ideal replay gain for music tracks and albums.  The element
is designed as a pass-through filter that never modifies any data.  As it
receives an EOS event, it finalizes the ongoing analysis and generates a tag
list containing the results.  It is sent downstream with a tag event and
posted on the message bus with a tag message.  The EOS event is forwarded as
normal afterwards.  Result tag lists at least contain the tags
<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GST-TAG-TRACK-GAIN:CAPS"><span class="type">GST_TAG_TRACK_GAIN</span></a>, <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GST-TAG-TRACK-PEAK:CAPS"><span class="type">GST_TAG_TRACK_PEAK</span></a> and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GST-TAG-REFERENCE-LEVEL:CAPS"><span class="type">GST_TAG_REFERENCE_LEVEL</span></a>.
</p>
<p>
Because the generated metadata tags become available at the end of streams,
downstream muxer and encoder elements are normally unable to save them in
their output since they generally save metadata in the file header.
Therefore, it is often necessary that applications read the results in a bus
event handler for the tag message.  Obtaining the values this way is always
needed for <a class="link" href="gst-plugins-good-plugins-rganalysis.html#GstRgAnalysis--num-tracks" title='The "num-tracks" property'>album processing</a>
since the album gain and peak values need to be associated with all tracks of
an album, not just the last one.
</p>
<p>
</p>
<div class="refsect2">
<a name="idp13509680"></a><h3>Example launch lines</h3>
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1</pre></td>
        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>t audiotestsrc wave<span class="gtkdoc opt">=</span>sine num<span class="gtkdoc opt">-</span>buffers<span class="gtkdoc opt">=</span><span class="number">512</span> <span class="gtkdoc opt">!</span> rganalysis <span class="gtkdoc opt">!</span> fakesink</pre></td>
      </tr>
    </tbody>
  </table>
</div>
 Analyze a simple test waveform
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2</pre></td>
        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>t filesrc location<span class="gtkdoc opt">=</span>filename<span class="gtkdoc opt">.</span>ext <span class="gtkdoc opt">!</span> decodebin \
    <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> rganalysis <span class="gtkdoc opt">!</span> fakesink</pre></td>
      </tr>
    </tbody>
  </table>
</div>
 Analyze a given file
<div class="informalexample">
  <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
    <tbody>
      <tr>
        <td class="listing_lines" align="right"><pre>1
2</pre></td>
        <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>t gnomevfssrc location<span class="gtkdoc opt">=</span>http<span class="gtkdoc opt">:</span><span class="gtkdoc slc">//replaygain.hydrogenaudio.org/ref_pink.wav \</span>
    <span class="gtkdoc opt">!</span> wavparse <span class="gtkdoc opt">!</span> rganalysis <span class="gtkdoc opt">!</span> fakesink</pre></td>
      </tr>
    </tbody>
  </table>
</div>
 Analyze the pink noise reference file
<p>
The above launch line yields a result gain of +6 dB (instead of the expected
+0 dB).  This is not in error, refer to the <a class="link" href="gst-plugins-good-plugins-rganalysis.html#GstRgAnalysis--reference-level" title='The "reference-level" property'><span class="type">"reference-level"</span></a>
property documentation for more information.
</p>
</div>
<p>
</p>
<hr>
<div class="refsect2">
<a name="idp18290544"></a><h3>Acknowledgements</h3>
<p>
This element is based on code used in the <a class="ulink" href="http://sjeng.org/vorbisgain.html" target="_top">vorbisgain</a> program and many
others.  The relevant parts are copyrighted by David Robinson, Glen Sawyer
and Frank Klemm.
</p>
</div>
<p>
</p>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<div class="refsect2">
<a name="idp14244320"></a><h3>Element Information</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term">plugin</span></p></td>
<td>
            <a class="link" href="gst-plugins-good-plugins-plugin-replaygain.html#plugin-replaygain">replaygain</a>
          </td>
</tr>
<tr>
<td><p><span class="term">author</span></p></td>
<td>René Stadler &lt;mail@renestadler.de&gt;</td>
</tr>
<tr>
<td><p><span class="term">class</span></p></td>
<td>Filter/Analyzer/Audio</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="idp16896176"></a><h3>Element Pads</h3>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
<td>sink</td>
</tr>
<tr>
<td><p><span class="term">direction</span></p></td>
<td>sink</td>
</tr>
<tr>
<td><p><span class="term">presence</span></p></td>
<td>always</td>
</tr>
<tr>
<td><p><span class="term">details</span></p></td>
<td>audio/x-raw, format=(string){ F32LE, S16LE }, layout=(string)interleaved, channels=(int)1, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }</td>
</tr>
<tr>
<td><p><span class="term"></span></p></td>
<td> audio/x-raw, format=(string){ F32LE, S16LE }, layout=(string)interleaved, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }</td>
</tr>
</tbody>
</table></div>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term">name</span></p></td>
<td>src</td>
</tr>
<tr>
<td><p><span class="term">direction</span></p></td>
<td>source</td>
</tr>
<tr>
<td><p><span class="term">presence</span></p></td>
<td>always</td>
</tr>
<tr>
<td><p><span class="term">details</span></p></td>
<td>audio/x-raw, format=(string){ F32LE, S16LE }, layout=(string)interleaved, channels=(int)1, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }</td>
</tr>
<tr>
<td><p><span class="term"></span></p></td>
<td> audio/x-raw, format=(string){ F32LE, S16LE }, layout=(string)interleaved, channels=(int)2, channel-mask=(bitmask)0x0000000000000003, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<p>
</p>
</div>
<div class="refsect1">
<a name="gst-plugins-good-plugins-rganalysis.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="GstRgAnalysis-struct"></a><h3>struct GstRgAnalysis</h3>
<pre class="programlisting">struct GstRgAnalysis;</pre>
<p>
Opaque data structure.
</p>
</div>
</div>
<div class="refsect1">
<a name="gst-plugins-good-plugins-rganalysis.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GstRgAnalysis--forced"></a><h3>The <code class="literal">"forced"</code> property</h3>
<pre class="programlisting">  "forced"                   <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write</pre>
<p>
Whether to analyze streams even when ReplayGain tags exist.
</p>
<p>
For assisting transcoder/converter applications, the element can silently
skip the processing of streams that already contain the necessary tags.
Data will flow as usual but the element will not consume CPU time and will
not generate result tags.  To enable possible skipping, set this property
to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><span class="type">FALSE</span></a>.
</p>
<p>
If used in conjunction with <a class="link" href="gst-plugins-good-plugins-rganalysis.html#GstRgAnalysis--num-tracks" title='The "num-tracks" property'>album
processing</a>, the element will skip the number of remaining album
tracks if a full set of tags is found for the first track.  If a subsequent
track of the album is missing tags, processing cannot start again.  If this
is undesired, the application has to scan all files beforehand and enable
forcing of processing if needed.
</p>
<p>Default value: TRUE</p>
</div>
<hr>
<div class="refsect2">
<a name="GstRgAnalysis--num-tracks"></a><h3>The <code class="literal">"num-tracks"</code> property</h3>
<pre class="programlisting">  "num-tracks"               <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read / Write</pre>
<p>
Number of remaining album tracks.
</p>
<p>
Analyzing several streams sequentially and assigning them a common result
gain is known as "album processing".  If this gain is used during playback
(by switching to "album mode"), all tracks of an album receive the same
amplification.  This keeps the relative volume levels between the tracks
intact.  To enable this, set this property to the number of streams that
will be processed as album tracks.
</p>
<p>
Every time an EOS event is received, the value of this property is
decremented by one.  As it reaches zero, it is assumed that the last track
of the album finished.  The tag list for the final stream will contain the
additional tags <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GST-TAG-ALBUM-GAIN:CAPS"><span class="type">GST_TAG_ALBUM_GAIN</span></a> and <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GST-TAG-ALBUM-PEAK:CAPS"><span class="type">GST_TAG_ALBUM_PEAK</span></a>.  All other
streams just get the two track tags posted because the values for the album
tags are not known before all tracks are analyzed.  Applications need to
ensure that the album gain and peak values are also associated with the
other tracks when storing the results.
</p>
<p>
If the total number of album tracks is unknown beforehand, just ensure that
the value is greater than 1 before each track starts.  Then before the end
of the last track, set it to the value 1.
</p>
<p>
To perform album processing, the element has to preserve data between
streams.  This cannot survive a state change to the NULL or READY state.
If you change your pipeline's state to NULL or READY between tracks, lock
the element's state using <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#gst-element-set-locked-state"><code class="function">gst_element_set_locked_state()</code></a> when it is in
PAUSED or PLAYING.
</p>
<p>Allowed values: &gt;= 0</p>
<p>Default value: 0</p>
</div>
<hr>
<div class="refsect2">
<a name="GstRgAnalysis--reference-level"></a><h3>The <code class="literal">"reference-level"</code> property</h3>
<pre class="programlisting">  "reference-level"          <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a>               : Read / Write</pre>
<p>
Reference level [dB].
</p>
<p>
Analyzing the ReplayGain pink noise reference waveform computes a result of
+6 dB instead of the expected 0 dB.  This is because the default reference
level is 89 dB.  To obtain values as lined out in the original proposal of
ReplayGain, set this property to 83.
</p>
<p>
Almost all software uses 89 dB as a reference however, and this value has
become the new official value.  That is to say, while the change has been
acclaimed by the author of the ReplayGain proposal, the <a class="ulink" href="http://replaygain.org" target="_top">webpage</a> is still outdated at the time
of this writing.
</p>
<p>
The value was changed because the original proposal recommends a default
pre-amp value of +6 dB for playback.  This seemed a bit odd, as it means
that the algorithm has the general tendency to produce adjustment values
that are 6 dB too low.  Bumping the reference level by 6 dB compensated for
this.
</p>
<p>
The problem of the reference level being ambiguous for lack of concise
standardization is to be solved by adopting the <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstTagList.html#GST-TAG-REFERENCE-LEVEL:CAPS"><span class="type">GST_TAG_REFERENCE_LEVEL</span></a>
tag, which allows to store the used value alongside the gain values.
</p>
<p>Allowed values: [0,150]</p>
<p>Default value: 89</p>
</div>
<hr>
<div class="refsect2">
<a name="GstRgAnalysis--message"></a><h3>The <code class="literal">"message"</code> property</h3>
<pre class="programlisting">  "message"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write / Construct</pre>
<p>Post statics messages.</p>
<p>Default value: FALSE</p>
</div>
</div>
<div class="refsect1">
<a name="gst-plugins-good-plugins-rganalysis.see-also"></a><h2>See Also</h2>
<a class="link" href="gst-plugins-good-plugins-rgvolume.html#GstRgVolume"><span class="type">GstRgVolume</span></a>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.18</div>
</body>
</html>