Sophie

Sophie

distrib > Mageia > 6 > armv7hl > by-pkgid > b4d0ffc838646a67b3dd59a6006ff212 > files > 46

libgavl-devel-1.4.0-7.mga6.armv7hl.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.12"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>gavl: Audio frame</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">gavl
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.12 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',false,false,'search.php','Search');
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Audio frame<div class="ingroups"><a class="el" href="group__audio.html">Audio</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Container for audio data.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uniongavl__audio__samples__t.html">gavl_audio_samples_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Container for interleaved audio samples.  <a href="uniongavl__audio__samples__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="uniongavl__audio__channels__t.html">gavl_audio_channels_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Container for noninterleaved audio samples.  <a href="uniongavl__audio__channels__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generic container for audio samples.  <a href="structgavl__audio__frame__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga9a0679da671cfc38a1d1a8e39c404944"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC <a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__audio__frame.html#ga9a0679da671cfc38a1d1a8e39c404944">gavl_audio_frame_create</a> (const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *format)</td></tr>
<tr class="memdesc:ga9a0679da671cfc38a1d1a8e39c404944"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create audio frame.  <a href="#ga9a0679da671cfc38a1d1a8e39c404944">More...</a><br /></td></tr>
<tr class="separator:ga9a0679da671cfc38a1d1a8e39c404944"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga203183dff047b475214beceb43732d16"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__audio__frame.html#ga203183dff047b475214beceb43732d16">gavl_audio_frame_null</a> (<a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *frame)</td></tr>
<tr class="memdesc:ga203183dff047b475214beceb43732d16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Zero all pointers in the audio frame.  <a href="#ga203183dff047b475214beceb43732d16">More...</a><br /></td></tr>
<tr class="separator:ga203183dff047b475214beceb43732d16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga194da819036369ca914a8479a70a4c09"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__audio__frame.html#ga194da819036369ca914a8479a70a4c09">gavl_audio_frame_destroy</a> (<a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *frame)</td></tr>
<tr class="memdesc:ga194da819036369ca914a8479a70a4c09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy an audio frame.  <a href="#ga194da819036369ca914a8479a70a4c09">More...</a><br /></td></tr>
<tr class="separator:ga194da819036369ca914a8479a70a4c09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b82e5d76caf45516d699bfec4ca7093"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__audio__frame.html#ga1b82e5d76caf45516d699bfec4ca7093">gavl_audio_frame_mute</a> (<a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *frame, const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *format)</td></tr>
<tr class="memdesc:ga1b82e5d76caf45516d699bfec4ca7093"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mute an audio frame.  <a href="#ga1b82e5d76caf45516d699bfec4ca7093">More...</a><br /></td></tr>
<tr class="separator:ga1b82e5d76caf45516d699bfec4ca7093"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga370d773027608de16a0e0a9f22d91f95"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__audio__frame.html#ga370d773027608de16a0e0a9f22d91f95">gavl_audio_frame_mute_samples</a> (<a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *frame, const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *format, int num_samples)</td></tr>
<tr class="memdesc:ga370d773027608de16a0e0a9f22d91f95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mute a number of samples at the start of an audio frame.  <a href="#ga370d773027608de16a0e0a9f22d91f95">More...</a><br /></td></tr>
<tr class="separator:ga370d773027608de16a0e0a9f22d91f95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b59575515b750736f40afe67c346b4b"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__audio__frame.html#ga9b59575515b750736f40afe67c346b4b">gavl_audio_frame_mute_channel</a> (<a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *frame, const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *format, int channel)</td></tr>
<tr class="memdesc:ga9b59575515b750736f40afe67c346b4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mute a single channel of an audio frame.  <a href="#ga9b59575515b750736f40afe67c346b4b">More...</a><br /></td></tr>
<tr class="separator:ga9b59575515b750736f40afe67c346b4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga57b5345d068cfbc38f08445ecd121437"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__audio__frame.html#ga57b5345d068cfbc38f08445ecd121437">gavl_audio_frame_copy</a> (const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *format, <a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *dst, const <a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *src, int dst_pos, int src_pos, int dst_size, int src_size)</td></tr>
<tr class="memdesc:ga57b5345d068cfbc38f08445ecd121437"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy audio data from one frame to another.  <a href="#ga57b5345d068cfbc38f08445ecd121437">More...</a><br /></td></tr>
<tr class="separator:ga57b5345d068cfbc38f08445ecd121437"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabfbae3990b162ad5fe36b3137633260e"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__audio__frame.html#gabfbae3990b162ad5fe36b3137633260e">gavl_audio_frame_copy_ptrs</a> (const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *format, <a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *dst, const <a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *src)</td></tr>
<tr class="memdesc:gabfbae3990b162ad5fe36b3137633260e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy audio data from one frame to another.  <a href="#gabfbae3990b162ad5fe36b3137633260e">More...</a><br /></td></tr>
<tr class="separator:gabfbae3990b162ad5fe36b3137633260e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga86c3f2bc3346e3f8031e030deaea8d8c"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__audio__frame.html#ga86c3f2bc3346e3f8031e030deaea8d8c">gavl_audio_frame_get_subframe</a> (const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *format, <a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *src, <a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *dst, int start, int len)</td></tr>
<tr class="memdesc:ga86c3f2bc3346e3f8031e030deaea8d8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set an audio frame to a subframe of another frame.  <a href="#ga86c3f2bc3346e3f8031e030deaea8d8c">More...</a><br /></td></tr>
<tr class="separator:ga86c3f2bc3346e3f8031e030deaea8d8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabb58c41223763dbce3ad6e99396c1225"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__audio__frame.html#gabb58c41223763dbce3ad6e99396c1225">gavl_audio_frames_equal</a> (const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *format, const <a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *f1, const <a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *f2)</td></tr>
<tr class="memdesc:gabb58c41223763dbce3ad6e99396c1225"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if 2 audio frames are bit-identical.  <a href="#gabb58c41223763dbce3ad6e99396c1225">More...</a><br /></td></tr>
<tr class="separator:gabb58c41223763dbce3ad6e99396c1225"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9dfdb12d729cf26adf0c53b224191e4a"><td class="memItemLeft" align="right" valign="top">GAVL_PUBLIC int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__audio__frame.html#ga9dfdb12d729cf26adf0c53b224191e4a">gavl_audio_frame_plot</a> (const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *format, const <a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *frame, const char *name_base)</td></tr>
<tr class="memdesc:ga9dfdb12d729cf26adf0c53b224191e4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Plot an audio frame to an ASCII file.  <a href="#ga9dfdb12d729cf26adf0c53b224191e4a">More...</a><br /></td></tr>
<tr class="separator:ga9dfdb12d729cf26adf0c53b224191e4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Container for audio data. </p>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga9a0679da671cfc38a1d1a8e39c404944"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9a0679da671cfc38a1d1a8e39c404944">&sect;&nbsp;</a></span>gavl_audio_frame_create()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC <a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a>* gavl_audio_frame_create </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *&#160;</td>
          <td class="paramname"><em>format</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create audio frame. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">format</td><td>Format of the data to be stored in this frame or NULL</td></tr>
  </table>
  </dd>
</dl>
<p>Creates an audio frame for a given format and allocates buffers for the audio data. The buffer size is determined by the samples_per_frame member of the format. To create an audio frame from your custom memory, pass NULL for the format and you'll get an empty frame in which you can set the pointers manually. </p>

</div>
</div>
<a id="ga203183dff047b475214beceb43732d16"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga203183dff047b475214beceb43732d16">&sect;&nbsp;</a></span>gavl_audio_frame_null()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC void gavl_audio_frame_null </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *&#160;</td>
          <td class="paramname"><em>frame</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Zero all pointers in the audio frame. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">frame</td><td>An audio frame</td></tr>
  </table>
  </dd>
</dl>
<p>Zero all pointers, so <a class="el" href="group__audio__frame.html#ga194da819036369ca914a8479a70a4c09">gavl_audio_frame_destroy</a> won't free them. Call this for audio frames, which were created with a NULL format before destroying them. </p>

</div>
</div>
<a id="ga194da819036369ca914a8479a70a4c09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga194da819036369ca914a8479a70a4c09">&sect;&nbsp;</a></span>gavl_audio_frame_destroy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC void gavl_audio_frame_destroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *&#160;</td>
          <td class="paramname"><em>frame</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Destroy an audio frame. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">frame</td><td>An audio frame</td></tr>
  </table>
  </dd>
</dl>
<p>Destroys an audio frame and frees all associated memory. If you used your custom memory to allocate the frame, call <a class="el" href="group__audio__frame.html#ga203183dff047b475214beceb43732d16">gavl_audio_frame_null</a> before. </p>

</div>
</div>
<a id="ga1b82e5d76caf45516d699bfec4ca7093"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1b82e5d76caf45516d699bfec4ca7093">&sect;&nbsp;</a></span>gavl_audio_frame_mute()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC void gavl_audio_frame_mute </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *&#160;</td>
          <td class="paramname"><em>format</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Mute an audio frame. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">frame</td><td>An audio frame </td></tr>
    <tr><td class="paramname">format</td><td>The format of the frame</td></tr>
  </table>
  </dd>
</dl>
<p>Fills the frame with digital zero samples according to the audio format </p>

</div>
</div>
<a id="ga370d773027608de16a0e0a9f22d91f95"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga370d773027608de16a0e0a9f22d91f95">&sect;&nbsp;</a></span>gavl_audio_frame_mute_samples()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC void gavl_audio_frame_mute_samples </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>num_samples</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Mute a number of samples at the start of an audio frame. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">frame</td><td>An audio frame </td></tr>
    <tr><td class="paramname">format</td><td>The format of the frame </td></tr>
    <tr><td class="paramname">num_samples</td><td>Number of samples to mute</td></tr>
  </table>
  </dd>
</dl>
<p>Fills the frame with digital zero samples according to the audio format </p>

</div>
</div>
<a id="ga9b59575515b750736f40afe67c346b4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9b59575515b750736f40afe67c346b4b">&sect;&nbsp;</a></span>gavl_audio_frame_mute_channel()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC void gavl_audio_frame_mute_channel </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>channel</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Mute a single channel of an audio frame. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">frame</td><td>An audio frame </td></tr>
    <tr><td class="paramname">format</td><td>The format of the frame </td></tr>
    <tr><td class="paramname">channel</td><td>The channel to mute</td></tr>
  </table>
  </dd>
</dl>
<p>Fills the frame with digital zero samples according to the audio format </p>

</div>
</div>
<a id="ga57b5345d068cfbc38f08445ecd121437"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga57b5345d068cfbc38f08445ecd121437">&sect;&nbsp;</a></span>gavl_audio_frame_copy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC int gavl_audio_frame_copy </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dst_pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>src_pos</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dst_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>src_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy audio data from one frame to another. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">format</td><td>Format, must be equal for source and destination frames </td></tr>
    <tr><td class="paramname">dst</td><td>Destination frame </td></tr>
    <tr><td class="paramname">src</td><td>Source frame </td></tr>
    <tr><td class="paramname">dst_pos</td><td>Offset (in samples) in the destination frame </td></tr>
    <tr><td class="paramname">src_pos</td><td>Offset (in samples) in the source frame </td></tr>
    <tr><td class="paramname">dst_size</td><td>Available samples in the destination frame </td></tr>
    <tr><td class="paramname">src_size</td><td>Available samples in the source frame </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The actual number of copied samples</dd></dl>
<p>This function copies audio samples from src (starting at src_offset) to dst (starting at dst_offset). The number of copied samples will be the smaller one of src_size and dst_size.</p>
<p>You can use this function for creating a simple but effective audio buffer. </p>

</div>
</div>
<a id="gabfbae3990b162ad5fe36b3137633260e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabfbae3990b162ad5fe36b3137633260e">&sect;&nbsp;</a></span>gavl_audio_frame_copy_ptrs()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC void gavl_audio_frame_copy_ptrs </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *&#160;</td>
          <td class="paramname"><em>src</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy audio data from one frame to another. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">format</td><td>Format, must be equal for source and destination frames </td></tr>
    <tr><td class="paramname">dst</td><td>Destination frame </td></tr>
    <tr><td class="paramname">src</td><td>Source frame</td></tr>
  </table>
  </dd>
</dl>
<p>This function copies the pointers of the frame, not the actual data</p>
<p>Since 1.1.1 </p>

</div>
</div>
<a id="ga86c3f2bc3346e3f8031e030deaea8d8c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga86c3f2bc3346e3f8031e030deaea8d8c">&sect;&nbsp;</a></span>gavl_audio_frame_get_subframe()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC void gavl_audio_frame_get_subframe </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *&#160;</td>
          <td class="paramname"><em>dst</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set an audio frame to a subframe of another frame. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">format</td><td>Format </td></tr>
    <tr><td class="paramname">src</td><td>Source frame </td></tr>
    <tr><td class="paramname">dst</td><td>Destination frame </td></tr>
    <tr><td class="paramname">start</td><td>Start position in the source frame </td></tr>
    <tr><td class="paramname">len</td><td>Length in samples</td></tr>
  </table>
  </dd>
</dl>
<p>This sets all pointers and the valid_samples member in dst to a subframe of src. dst should be created with a NULL format and <a class="el" href="group__audio__frame.html#ga203183dff047b475214beceb43732d16">gavl_audio_frame_null</a> should be called before destroying it.</p>
<p>Since 1.1.2 </p>

</div>
</div>
<a id="gabb58c41223763dbce3ad6e99396c1225"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabb58c41223763dbce3ad6e99396c1225">&sect;&nbsp;</a></span>gavl_audio_frames_equal()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC int gavl_audio_frames_equal </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *&#160;</td>
          <td class="paramname"><em>f1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *&#160;</td>
          <td class="paramname"><em>f2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Check if 2 audio frames are bit-identical. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">format</td><td>Format </td></tr>
    <tr><td class="paramname">f1</td><td>First frame </td></tr>
    <tr><td class="paramname">f2</td><td>Second frame </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 if the frames are equal, 0 else</dd></dl>
<p>Since 1.2.0 </p>

</div>
</div>
<a id="ga9dfdb12d729cf26adf0c53b224191e4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9dfdb12d729cf26adf0c53b224191e4a">&sect;&nbsp;</a></span>gavl_audio_frame_plot()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GAVL_PUBLIC int gavl_audio_frame_plot </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structgavl__audio__format__t.html">gavl_audio_format_t</a> *&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structgavl__audio__frame__t.html">gavl_audio_frame_t</a> *&#160;</td>
          <td class="paramname"><em>frame</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name_base</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Plot an audio frame to an ASCII file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">format</td><td>Format </td></tr>
    <tr><td class="paramname">frame</td><td>An audio frame </td></tr>
    <tr><td class="paramname">name_base</td><td>Filename base </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>1 in success, 0 in failure</dd></dl>
<p>Plots an audio frame into an ascii file with one line per sample in the format: sample_number channel1 channel2 ...</p>
<p>In addition, a file for making a plot with gnuplot is generated. name_base is used for generating the filenames. For the data file, the extension ".dat" is appended. For the gnuplot file it's ".gnu"</p>
<p>Since 1.2.0 </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.12
</small></address>
</body>
</html>