Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-release > by-pkgid > 5454ba28c7567121ad5a74a4d6d1333a > files > 58

libquicktime-1.2.4-10.mga5.i586.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.8"/>
<title>libquicktime: Multichannel support</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 style="padding-left: 0.5em;">
   <div id="projectname">libquicktime
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Multichannel support<div class="ingroups"><a class="el" href="group__audio.html">Audio</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga9a573cd78e1f9ca0f2c5008ffc149ee2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multichannel.html#ga9a573cd78e1f9ca0f2c5008ffc149ee2">lqt_channel_t</a> { <br />
&#160;&#160;<b>LQT_CHANNEL_UNKNOWN</b>, 
<br />
&#160;&#160;<b>LQT_CHANNEL_FRONT_LEFT</b>, 
<br />
&#160;&#160;<b>LQT_CHANNEL_FRONT_RIGHT</b>, 
<br />
&#160;&#160;<b>LQT_CHANNEL_FRONT_CENTER</b>, 
<br />
&#160;&#160;<b>LQT_CHANNEL_FRONT_CENTER_LEFT</b>, 
<br />
&#160;&#160;<b>LQT_CHANNEL_FRONT_CENTER_RIGHT</b>, 
<br />
&#160;&#160;<b>LQT_CHANNEL_BACK_CENTER</b>, 
<br />
&#160;&#160;<b>LQT_CHANNEL_BACK_LEFT</b>, 
<br />
&#160;&#160;<b>LQT_CHANNEL_BACK_RIGHT</b>, 
<br />
&#160;&#160;<b>LQT_CHANNEL_SIDE_LEFT</b>, 
<br />
&#160;&#160;<b>LQT_CHANNEL_SIDE_RIGHT</b>, 
<br />
&#160;&#160;<b>LQT_CHANNEL_LFE</b>
<br />
 }</td></tr>
<tr class="memdesc:ga9a573cd78e1f9ca0f2c5008ffc149ee2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Channel definitions.  <a href="group__multichannel.html#ga9a573cd78e1f9ca0f2c5008ffc149ee2">More...</a><br /></td></tr>
<tr class="separator:ga9a573cd78e1f9ca0f2c5008ffc149ee2"><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:ga81d1c9bb5efa2072f1dc80b533b7614b"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multichannel.html#ga81d1c9bb5efa2072f1dc80b533b7614b">lqt_channel_to_string</a> (<a class="el" href="group__multichannel.html#ga9a573cd78e1f9ca0f2c5008ffc149ee2">lqt_channel_t</a> ch)</td></tr>
<tr class="memdesc:ga81d1c9bb5efa2072f1dc80b533b7614b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Convert a channel identifier to a human readnable string.  <a href="#ga81d1c9bb5efa2072f1dc80b533b7614b">More...</a><br /></td></tr>
<tr class="separator:ga81d1c9bb5efa2072f1dc80b533b7614b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3b19715a74da14f2097aea5a97d4ddcc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multichannel.html#ga3b19715a74da14f2097aea5a97d4ddcc">lqt_set_channel_setup</a> (<a class="el" href="group__general.html#gaef65e7300455a3b25eafc7485ec2efa4">quicktime_t</a> *file, int track, <a class="el" href="group__multichannel.html#ga9a573cd78e1f9ca0f2c5008ffc149ee2">lqt_channel_t</a> *ch)</td></tr>
<tr class="memdesc:ga3b19715a74da14f2097aea5a97d4ddcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a channel setup for an audio track.  <a href="#ga3b19715a74da14f2097aea5a97d4ddcc">More...</a><br /></td></tr>
<tr class="separator:ga3b19715a74da14f2097aea5a97d4ddcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae64236b2cef7520c0cc414e76a8e8414"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="group__multichannel.html#ga9a573cd78e1f9ca0f2c5008ffc149ee2">lqt_channel_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__multichannel.html#gae64236b2cef7520c0cc414e76a8e8414">lqt_get_channel_setup</a> (<a class="el" href="group__general.html#gaef65e7300455a3b25eafc7485ec2efa4">quicktime_t</a> *file, int track)</td></tr>
<tr class="memdesc:gae64236b2cef7520c0cc414e76a8e8414"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a channel setup from a file.  <a href="#gae64236b2cef7520c0cc414e76a8e8414">More...</a><br /></td></tr>
<tr class="separator:gae64236b2cef7520c0cc414e76a8e8414"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>This is an optional API extension, which allows multichannel configuration to be saved into a file. The mechanisms used are the quicktime chan atom as well as some codec specific multichannel setups.</p>
<p>When decoding, simply get the channel setup with <a class="el" href="group__multichannel.html#gae64236b2cef7520c0cc414e76a8e8414">lqt_get_channel_setup</a>. It can happen, that this function returns NULL when no specific mapping is known.</p>
<p>When encoding, things are more complicated. Some codecs have fixed channel setups. After setting up an audio track, call <a class="el" href="group__multichannel.html#gae64236b2cef7520c0cc414e76a8e8414">lqt_get_channel_setup</a> to check, if there is already a prefefined channel setup. If this is the case (i.e. if non NULL is returned), you MUST use this channel setup.</p>
<p>If there is no predefined setup (i.e. <a class="el" href="group__multichannel.html#gae64236b2cef7520c0cc414e76a8e8414">lqt_get_channel_setup</a> returns NULL after creation of the audio track), call <a class="el" href="group__multichannel.html#ga3b19715a74da14f2097aea5a97d4ddcc">lqt_set_channel_setup</a> to set your desired setup. It can happen, that libquicktime will reorder the channel setup. Thus you need a final call to <a class="el" href="group__multichannel.html#gae64236b2cef7520c0cc414e76a8e8414">lqt_get_channel_setup</a> to know the whole truth. </p>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga9a573cd78e1f9ca0f2c5008ffc149ee2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__multichannel.html#ga9a573cd78e1f9ca0f2c5008ffc149ee2">lqt_channel_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Channel definitions. </p>
<p>These are the channel types defined in the public API. They should enable to support most channel configurations. Internally, many more channel types exist. They can be added to the public part on demand. </p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga81d1c9bb5efa2072f1dc80b533b7614b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* lqt_channel_to_string </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__multichannel.html#ga9a573cd78e1f9ca0f2c5008ffc149ee2">lqt_channel_t</a>&#160;</td>
          <td class="paramname"><em>ch</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Convert a channel identifier to a human readnable string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ch</td><td>A channel </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A string describing the channel. </dd></dl>

</div>
</div>
<a class="anchor" id="ga3b19715a74da14f2097aea5a97d4ddcc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void lqt_set_channel_setup </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__general.html#gaef65e7300455a3b25eafc7485ec2efa4">quicktime_t</a> *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>track</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__multichannel.html#ga9a573cd78e1f9ca0f2c5008ffc149ee2">lqt_channel_t</a> *&#160;</td>
          <td class="paramname"><em>ch</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set a channel setup for an audio track. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>A quicktime handle </td></tr>
    <tr><td class="paramname">track</td><td>index (starting with 0) </td></tr>
    <tr><td class="paramname">ch</td><td>Channel array</td></tr>
  </table>
  </dd>
</dl>
<p>Set the desired channel setup for a file. Note, that libquicktime may reorder the channels. It is therefore necessary to call <a class="el" href="group__multichannel.html#gae64236b2cef7520c0cc414e76a8e8414">lqt_get_channel_setup</a> after to know the final truth. </p>

</div>
</div>
<a class="anchor" id="gae64236b2cef7520c0cc414e76a8e8414"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="group__multichannel.html#ga9a573cd78e1f9ca0f2c5008ffc149ee2">lqt_channel_t</a>* lqt_get_channel_setup </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__general.html#gaef65e7300455a3b25eafc7485ec2efa4">quicktime_t</a> *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>track</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get a channel setup from a file. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">file</td><td>A quicktime handle </td></tr>
    <tr><td class="paramname">track</td><td>index (starting with 0) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The channel array</dd></dl>
<p>Get the channel setup from a quicktime file. Works for en- and decoding. The return value is owned by libquicktime and must not be freed. </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Nov 14 2014 10:17:40 for libquicktime by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>