<!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.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>libguac: guac_audio_stream Struct Reference</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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.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">libguac
   &#160;<span id="projectnumber">0.9.14</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<div class="title">guac_audio_stream Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Basic audio stream.  
 <a href="structguac__audio__stream.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:af3b4811ba5a4f1a337d338777fe9049d"><td class="memItemLeft" align="right" valign="top"><a id="af3b4811ba5a4f1a337d338777fe9049d"></a>
<a class="el" href="structguac__audio__encoder.html">guac_audio_encoder</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structguac__audio__stream.html#af3b4811ba5a4f1a337d338777fe9049d">encoder</a></td></tr>
<tr class="memdesc:af3b4811ba5a4f1a337d338777fe9049d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Arbitrary codec encoder which will receive raw PCM data. <br /></td></tr>
<tr class="separator:af3b4811ba5a4f1a337d338777fe9049d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1771fa5ff88b8f5d4ca4cd5e77a1ffba"><td class="memItemLeft" align="right" valign="top"><a id="a1771fa5ff88b8f5d4ca4cd5e77a1ffba"></a>
<a class="el" href="structguac__client.html">guac_client</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structguac__audio__stream.html#a1771fa5ff88b8f5d4ca4cd5e77a1ffba">client</a></td></tr>
<tr class="memdesc:a1771fa5ff88b8f5d4ca4cd5e77a1ffba"><td class="mdescLeft">&#160;</td><td class="mdescRight">The client associated with this audio stream. <br /></td></tr>
<tr class="separator:a1771fa5ff88b8f5d4ca4cd5e77a1ffba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d8f5cfc70ec54b97ba0c4eea596f894"><td class="memItemLeft" align="right" valign="top"><a id="a4d8f5cfc70ec54b97ba0c4eea596f894"></a>
<a class="el" href="structguac__stream.html">guac_stream</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structguac__audio__stream.html#a4d8f5cfc70ec54b97ba0c4eea596f894">stream</a></td></tr>
<tr class="memdesc:a4d8f5cfc70ec54b97ba0c4eea596f894"><td class="mdescLeft">&#160;</td><td class="mdescRight">The actual stream associated with this audio stream. <br /></td></tr>
<tr class="separator:a4d8f5cfc70ec54b97ba0c4eea596f894"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6810293a6fa915e497d2dd1a643993d9"><td class="memItemLeft" align="right" valign="top"><a id="a6810293a6fa915e497d2dd1a643993d9"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structguac__audio__stream.html#a6810293a6fa915e497d2dd1a643993d9">rate</a></td></tr>
<tr class="memdesc:a6810293a6fa915e497d2dd1a643993d9"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of samples per second of PCM data sent to this stream. <br /></td></tr>
<tr class="separator:a6810293a6fa915e497d2dd1a643993d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9d1ad90194e24c2967e2f9f18de0ad6"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structguac__audio__stream.html#af9d1ad90194e24c2967e2f9f18de0ad6">channels</a></td></tr>
<tr class="memdesc:af9d1ad90194e24c2967e2f9f18de0ad6"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of audio channels per sample of PCM data.  <a href="#af9d1ad90194e24c2967e2f9f18de0ad6">More...</a><br /></td></tr>
<tr class="separator:af9d1ad90194e24c2967e2f9f18de0ad6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1de1be8874fb844002b92ac1e3813866"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structguac__audio__stream.html#a1de1be8874fb844002b92ac1e3813866">bps</a></td></tr>
<tr class="memdesc:a1de1be8874fb844002b92ac1e3813866"><td class="mdescLeft">&#160;</td><td class="mdescRight">The number of bits per sample per channel for PCM data.  <a href="#a1de1be8874fb844002b92ac1e3813866">More...</a><br /></td></tr>
<tr class="separator:a1de1be8874fb844002b92ac1e3813866"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ca03221b02d1206eb698f8ee936c4b7"><td class="memItemLeft" align="right" valign="top"><a id="a9ca03221b02d1206eb698f8ee936c4b7"></a>
void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structguac__audio__stream.html#a9ca03221b02d1206eb698f8ee936c4b7">data</a></td></tr>
<tr class="memdesc:a9ca03221b02d1206eb698f8ee936c4b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Encoder-specific state data. <br /></td></tr>
<tr class="separator:a9ca03221b02d1206eb698f8ee936c4b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Basic audio stream. </p>
<p>PCM data is added to the stream. When the stream is flushed, a write handler receives PCM data packets and, presumably, streams them to the <a class="el" href="structguac__stream.html" title="Represents a single stream within the Guacamole protocol. ">guac_stream</a> provided. </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="a1de1be8874fb844002b92ac1e3813866"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1de1be8874fb844002b92ac1e3813866">&#9670;&nbsp;</a></span>bps</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int guac_audio_stream::bps</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The number of bits per sample per channel for PCM data. </p>
<p>Legal values are 8 or 16. </p>

</div>
</div>
<a id="af9d1ad90194e24c2967e2f9f18de0ad6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af9d1ad90194e24c2967e2f9f18de0ad6">&#9670;&nbsp;</a></span>channels</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int guac_audio_stream::channels</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The number of audio channels per sample of PCM data. </p>
<p>Legal values are 1 or 2. </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>guacamole/<a class="el" href="audio_8h_source.html">audio.h</a></li>
</ul>
</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.13
</small></address>
        <!-- Google Analytics -->
        <script type="text/javascript">
          (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
          (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
          m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
          })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

          ga('create', 'UA-75289145-1', 'auto');
          ga('send', 'pageview');
        </script>
</body>
</html>
