Sophie

Sophie

distrib > Fedora > 14 > i386 > by-pkgid > a9c350d829560247cbd4473be3ac9eea > files > 14

libffado-devel-2.0.1-4.20100706.svn1864.fc14.i686.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"/>
<title>LIBFFADO: ffado.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.1 -->
<script type="text/javascript">
function hasClass(ele,cls) {
  return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls) {
  if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls) {
  if (hasClass(ele,cls)) {
    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
    ele.className=ele.className.replace(reg,' ');
  }
}

function toggleVisibility(linkObj) {
 var base = linkObj.getAttribute('id');
 var summary = document.getElementById(base + '-summary');
 var content = document.getElementById(base + '-content');
 var trigger = document.getElementById(base + '-trigger');
 if ( hasClass(linkObj,'closed') ) {
   summary.style.display = 'none';
   content.style.display = 'block';
   trigger.src = 'open.png';
   removeClass(linkObj,'closed');
   addClass(linkObj,'opened');
 } else if ( hasClass(linkObj,'opened') ) {
   summary.style.display = 'block';
   content.style.display = 'none';
   trigger.src = 'closed.png';
   removeClass(linkObj,'opened');
   addClass(linkObj,'closed');
 }
 return false;
}
</script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
<div class="header">
  <div class="headertitle">
<h1>ffado.h</h1>  </div>
</div>
<div class="contents">
<a href="ffado_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* ffado.h</span>
<a name="l00002"></a>00002 <span class="comment"> *</span>
<a name="l00003"></a>00003 <span class="comment"> * Copyright (C) 2005-2008 by Pieter Palmers</span>
<a name="l00004"></a>00004 <span class="comment"> * Copyright (C) 2005-2008 by Daniel Wagner</span>
<a name="l00005"></a>00005 <span class="comment"> *</span>
<a name="l00006"></a>00006 <span class="comment"> * This file is part of FFADO</span>
<a name="l00007"></a>00007 <span class="comment"> * FFADO = Free Firewire (pro-)audio drivers for linux</span>
<a name="l00008"></a>00008 <span class="comment"> *</span>
<a name="l00009"></a>00009 <span class="comment"> * FFADO is based upon FreeBoB</span>
<a name="l00010"></a>00010 <span class="comment"> *</span>
<a name="l00011"></a>00011 <span class="comment"> * This program is free software: you can redistribute it and/or modify</span>
<a name="l00012"></a>00012 <span class="comment"> * it under the terms of the GNU General Public License as published by</span>
<a name="l00013"></a>00013 <span class="comment"> * the Free Software Foundation, either version 2 of the License, or</span>
<a name="l00014"></a>00014 <span class="comment"> * (at your option) version 3 of the License.</span>
<a name="l00015"></a>00015 <span class="comment"> *</span>
<a name="l00016"></a>00016 <span class="comment"> * This program is distributed in the hope that it will be useful,</span>
<a name="l00017"></a>00017 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00018"></a>00018 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<a name="l00019"></a>00019 <span class="comment"> * GNU General Public License for more details.</span>
<a name="l00020"></a>00020 <span class="comment"> *</span>
<a name="l00021"></a>00021 <span class="comment"> * You should have received a copy of the GNU General Public License</span>
<a name="l00022"></a>00022 <span class="comment"> * along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</span>
<a name="l00023"></a>00023 <span class="comment"> *</span>
<a name="l00024"></a>00024 <span class="comment"> */</span>
<a name="l00025"></a>00025 
<a name="l00026"></a>00026 <span class="preprocessor">#ifndef FFADO_H</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="preprocessor">#define FFADO_H</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span>
<a name="l00029"></a><a class="code" href="ffado_8h.html#a06fbf52dd0e9ed8c932b0043305098c7">00029</a> <span class="preprocessor">#define FFADO_MAX_NAME_LEN 256</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span>
<a name="l00031"></a>00031 <span class="preprocessor">#include &lt;stdlib.h&gt;</span>
<a name="l00032"></a>00032 
<a name="l00033"></a><a class="code" href="ffado_8h.html#a69a67820ab7f047163d4ce7bbb41fcbe">00033</a> <span class="preprocessor">#define FFADO_STREAMING_MAX_URL_LENGTH 2048</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span>
<a name="l00035"></a><a class="code" href="ffado_8h.html#a33dbcdcadd3bf9703aa4171849dc6ed9">00035</a> <span class="preprocessor">#define FFADO_IGNORE_CAPTURE         (1&lt;&lt;0)</span>
<a name="l00036"></a><a class="code" href="ffado_8h.html#a82a6e94216d0672b07c1d8f52ddcf501">00036</a> <span class="preprocessor"></span><span class="preprocessor">#define FFADO_IGNORE_PLAYBACK     (1&lt;&lt;1)</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span>
<a name="l00038"></a><a class="code" href="ffado_8h.html#ab8ee9ac9d189e1af60cd93f8dfcd495b">00038</a> <span class="keyword">enum</span> <a class="code" href="ffado_8h.html#ab8ee9ac9d189e1af60cd93f8dfcd495b">ffado_direction</a> {
<a name="l00039"></a><a class="code" href="ffado_8h.html#ab8ee9ac9d189e1af60cd93f8dfcd495ba9ba7f302b9ce79977dfa97b704fcd119">00039</a>     <a class="code" href="ffado_8h.html#ab8ee9ac9d189e1af60cd93f8dfcd495ba9ba7f302b9ce79977dfa97b704fcd119">FFADO_CAPTURE</a>  = 0,
<a name="l00040"></a><a class="code" href="ffado_8h.html#ab8ee9ac9d189e1af60cd93f8dfcd495ba477a2264620788148dfc751911104696">00040</a>     <a class="code" href="ffado_8h.html#ab8ee9ac9d189e1af60cd93f8dfcd495ba477a2264620788148dfc751911104696">FFADO_PLAYBACK</a> = 1,
<a name="l00041"></a>00041 };
<a name="l00042"></a>00042 
<a name="l00043"></a><a class="code" href="ffado_8h.html#a6cee5288da4bbcac7ef3b7d768bb104f">00043</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>ffado_handle* ffado_handle_t;
<a name="l00044"></a>00044 
<a name="l00045"></a>00045 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {
<a name="l00047"></a>00047 <span class="preprocessor">#endif</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span>
<a name="l00049"></a>00049 <span class="comment">/* ABI stuff */</span>
<a name="l00050"></a>00050 <span class="keyword">const</span> <span class="keywordtype">char</span>*
<a name="l00051"></a>00051 <a class="code" href="ffado_8h.html#ae3874fc8eeef725414b209ee99fd9632">ffado_get_version</a>();
<a name="l00052"></a>00052 
<a name="l00053"></a>00053 <span class="keywordtype">int</span>
<a name="l00054"></a>00054 <a class="code" href="ffado_8h.html#a752a9c9211e61c45a49c2b4cb3b83936">ffado_get_api_version</a>();
<a name="l00055"></a>00055 
<a name="l00056"></a>00056 <span class="comment">/* various function */</span>
<a name="l00057"></a>00057 
<a name="l00058"></a>00058 <span class="comment">/* The basic operation of the API is as follows:</span>
<a name="l00059"></a>00059 <span class="comment"> * </span>
<a name="l00060"></a>00060 <span class="comment"> * ffado_streaming_init()</span>
<a name="l00061"></a>00061 <span class="comment"> * ffado_streaming_start()</span>
<a name="l00062"></a>00062 <span class="comment"> * while(running) {</span>
<a name="l00063"></a>00063 <span class="comment"> *   retval = ffado_streaming_wait();</span>
<a name="l00064"></a>00064 <span class="comment"> *   if (retval == -1) {</span>
<a name="l00065"></a>00065 <span class="comment"> *     ffado_streaming_reset();</span>
<a name="l00066"></a>00066 <span class="comment"> *     continue;</span>
<a name="l00067"></a>00067 <span class="comment"> *   }</span>
<a name="l00068"></a>00068 <span class="comment"> *</span>
<a name="l00069"></a>00069 <span class="comment"> *   ffado_streaming_transfer_buffers(dev);</span>
<a name="l00070"></a>00070 <span class="comment"> *</span>
<a name="l00071"></a>00071 <span class="comment"> *   for(all channels) {</span>
<a name="l00072"></a>00072 <span class="comment"> *     switch (channel_type) {</span>
<a name="l00073"></a>00073 <span class="comment"> *     case audio:</span>
<a name="l00074"></a>00074 <span class="comment"> *       bytesread=ffado_streaming_read(audioinbuffer[channel]);</span>
<a name="l00075"></a>00075 <span class="comment"> *       byteswritten=ffado_streaming_write(audiooutbuffer[channel]);</span>
<a name="l00076"></a>00076 <span class="comment"> *     case midi:</span>
<a name="l00077"></a>00077 <span class="comment"> *       bytesread=ffado_streaming_read(midiinbuffer[channel]);</span>
<a name="l00078"></a>00078 <span class="comment"> *       byteswritten=ffado_streaming_write(midioutbuffer[channel]);</span>
<a name="l00079"></a>00079 <span class="comment"> *     }</span>
<a name="l00080"></a>00080 <span class="comment"> *   }</span>
<a name="l00081"></a>00081 <span class="comment"> * }</span>
<a name="l00082"></a>00082 <span class="comment"> * ffado_streaming_stop();</span>
<a name="l00083"></a>00083 <span class="comment"> * ffado_streaming_finish();</span>
<a name="l00084"></a>00084 <span class="comment"> *</span>
<a name="l00085"></a>00085 <span class="comment"> */</span>
<a name="l00086"></a>00086 
<a name="l00087"></a><a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">00087</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>_ffado_device <a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a>;
<a name="l00088"></a>00088 
<a name="l00093"></a><a class="code" href="ffado_8h.html#aa8ddad9af89c48492223356376528447">00093</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> ffado_sample_t; <span class="comment">// FIXME</span>
<a name="l00094"></a><a class="code" href="ffado_8h.html#ae5f80cddec32a4ec608b747fa725a215">00094</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> ffado_nframes_t;
<a name="l00095"></a>00095 
<a name="l00096"></a><a class="code" href="ffado_8h.html#ae9cad2cd03e596231bfad807f026d409">00096</a> <span class="preprocessor">#define FFADO_MAX_SPECSTRING_LENGTH 256</span>
<a name="l00097"></a><a class="code" href="ffado_8h.html#a967e91d3f20717cc988d4655f34284cc">00097</a> <span class="preprocessor"></span><span class="preprocessor">#define FFADO_MAX_SPECSTRINGS       64</span>
<a name="l00098"></a>00098 <span class="preprocessor"></span>
<a name="l00135"></a><a class="code" href="structffado__device__info.html">00135</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structffado__device__info.html">ffado_device_info</a> {
<a name="l00136"></a><a class="code" href="structffado__device__info.html#a977f42aeec8c3c787f05cd18f6e1c7f0">00136</a>     <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structffado__device__info.html#a977f42aeec8c3c787f05cd18f6e1c7f0">nb_device_spec_strings</a>;
<a name="l00137"></a><a class="code" href="structffado__device__info.html#a7540ebbf8601d70dbdc2699b348e2890">00137</a>     <span class="keywordtype">char</span> **<a class="code" href="structffado__device__info.html#a7540ebbf8601d70dbdc2699b348e2890">device_spec_strings</a>;
<a name="l00138"></a>00138 
<a name="l00139"></a>00139     <span class="comment">/* add some extra space to allow for future API extention </span>
<a name="l00140"></a>00140 <span class="comment">       w/o breaking binary compatibility */</span>
<a name="l00141"></a><a class="code" href="structffado__device__info.html#a0efde4e54c07d275a17a6a95a5221715">00141</a>     int32_t <a class="code" href="structffado__device__info.html#a0efde4e54c07d275a17a6a95a5221715">reserved</a>[32];
<a name="l00142"></a>00142 } <a class="code" href="structffado__device__info.html">ffado_device_info_t</a>;
<a name="l00143"></a>00143 
<a name="l00147"></a><a class="code" href="structffado__options.html">00147</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structffado__options.html">ffado_options</a> {
<a name="l00148"></a>00148     <span class="comment">/* driver related setup */</span>
<a name="l00149"></a><a class="code" href="structffado__options.html#adf18381ed3f976df06721bef8d1664c1">00149</a>     int32_t <a class="code" href="structffado__options.html#adf18381ed3f976df06721bef8d1664c1">sample_rate</a>;         <span class="comment">/*</span>
<a name="l00150"></a>00150 <span class="comment">                             * you can specify a value here or -1 to autodetect</span>
<a name="l00151"></a>00151 <span class="comment">                              */</span>
<a name="l00152"></a>00152 
<a name="l00153"></a>00153     <span class="comment">/* buffer setup */</span>
<a name="l00154"></a><a class="code" href="structffado__options.html#ad087a60bf39cf93f8dab272c3dc8c72a">00154</a>     int32_t <a class="code" href="structffado__options.html#ad087a60bf39cf93f8dab272c3dc8c72a">period_size</a>;     <span class="comment">/* one period is the amount of frames that</span>
<a name="l00155"></a>00155 <span class="comment">                 * has to be sent or received in order for</span>
<a name="l00156"></a>00156 <span class="comment">                 * a period boundary to be signalled.</span>
<a name="l00157"></a>00157 <span class="comment">                 * (unit: frames)</span>
<a name="l00158"></a>00158 <span class="comment">                 */</span>
<a name="l00159"></a><a class="code" href="structffado__options.html#ae2678c05b0fe98980f9e8ebee9cbab25">00159</a>     int32_t <a class="code" href="structffado__options.html#ae2678c05b0fe98980f9e8ebee9cbab25">nb_buffers</a>;    <span class="comment">/* the size of the frame buffer (in periods) */</span>
<a name="l00160"></a>00160 
<a name="l00161"></a>00161     <span class="comment">/* packetizer thread options */</span>
<a name="l00162"></a><a class="code" href="structffado__options.html#a18d683301a1845b97327e774d63b2892">00162</a>     int32_t <a class="code" href="structffado__options.html#a18d683301a1845b97327e774d63b2892">realtime</a>;
<a name="l00163"></a><a class="code" href="structffado__options.html#afff094ed74416d4724450b0f0f7935a6">00163</a>     int32_t <a class="code" href="structffado__options.html#afff094ed74416d4724450b0f0f7935a6">packetizer_priority</a>;
<a name="l00164"></a>00164 
<a name="l00165"></a>00165     <span class="comment">/* verbosity */</span>
<a name="l00166"></a><a class="code" href="structffado__options.html#a61536ab042a25eda48dd51a98ed3ccbb">00166</a>     int32_t <a class="code" href="structffado__options.html#a61536ab042a25eda48dd51a98ed3ccbb">verbose</a>;
<a name="l00167"></a>00167 
<a name="l00168"></a>00168     <span class="comment">/* slave mode */</span>
<a name="l00169"></a><a class="code" href="structffado__options.html#a251acdcb4bb0845f21239812c49c7c2f">00169</a>     int32_t <a class="code" href="structffado__options.html#a251acdcb4bb0845f21239812c49c7c2f">slave_mode</a>;
<a name="l00170"></a>00170     <span class="comment">/* snoop mode */</span>
<a name="l00171"></a><a class="code" href="structffado__options.html#ab3fa53a0e0acb55a03a3f962d8376f95">00171</a>     int32_t <a class="code" href="structffado__options.html#ab3fa53a0e0acb55a03a3f962d8376f95">snoop_mode</a>;
<a name="l00172"></a>00172 
<a name="l00173"></a>00173     <span class="comment">/* add some extra space to allow for future API extention </span>
<a name="l00174"></a>00174 <span class="comment">       w/o breaking binary compatibility */</span>
<a name="l00175"></a><a class="code" href="structffado__options.html#aa0c6080d8e7b386848ee3cbb6302b698">00175</a>     int32_t <a class="code" href="structffado__options.html#aa0c6080d8e7b386848ee3cbb6302b698">reserved</a>[24];
<a name="l00176"></a>00176 
<a name="l00177"></a>00177 } <a class="code" href="structffado__options.html">ffado_options_t</a>;
<a name="l00178"></a>00178 
<a name="l00194"></a><a class="code" href="ffado_8h.html#ad951231df410434aade1438062960ce2">00194</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00195"></a><a class="code" href="ffado_8h.html#ad951231df410434aade1438062960ce2aad7b1467f9be5a644a70fc7ecc3a873f">00195</a>       <a class="code" href="ffado_8h.html#ad951231df410434aade1438062960ce2aad7b1467f9be5a644a70fc7ecc3a873f">ffado_stream_type_invalid</a>                      =   -1,
<a name="l00196"></a><a class="code" href="ffado_8h.html#ad951231df410434aade1438062960ce2a0322dec9795ba78cdc88f411f81af038">00196</a>       <a class="code" href="ffado_8h.html#ad951231df410434aade1438062960ce2a0322dec9795ba78cdc88f411f81af038">ffado_stream_type_unknown</a>                      =   0,
<a name="l00197"></a><a class="code" href="ffado_8h.html#ad951231df410434aade1438062960ce2a97b6d9c9936eedbe2dd341156354b67e">00197</a>       <a class="code" href="ffado_8h.html#ad951231df410434aade1438062960ce2a97b6d9c9936eedbe2dd341156354b67e">ffado_stream_type_audio</a>                        =   1,
<a name="l00198"></a><a class="code" href="ffado_8h.html#ad951231df410434aade1438062960ce2a683c714613500c5b0416b353c2c266e6">00198</a>       <a class="code" href="ffado_8h.html#ad951231df410434aade1438062960ce2a683c714613500c5b0416b353c2c266e6">ffado_stream_type_midi</a>                         =   2,
<a name="l00199"></a><a class="code" href="ffado_8h.html#ad951231df410434aade1438062960ce2a8b13ba44528ce7d0de36565c38501c99">00199</a>       <a class="code" href="ffado_8h.html#ad951231df410434aade1438062960ce2a8b13ba44528ce7d0de36565c38501c99">ffado_stream_type_control</a>                      =   3,
<a name="l00200"></a>00200 } ffado_streaming_stream_type;
<a name="l00201"></a>00201 
<a name="l00207"></a><a class="code" href="ffado_8h.html#a2893d390b58431470d0bd1191f1f568c">00207</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00208"></a><a class="code" href="ffado_8h.html#a2893d390b58431470d0bd1191f1f568cae27fc83ddcc0d322a1fbae28275d638d">00208</a>     <a class="code" href="ffado_8h.html#a2893d390b58431470d0bd1191f1f568cae27fc83ddcc0d322a1fbae28275d638d">ffado_audio_datatype_error</a>           = -1,
<a name="l00209"></a><a class="code" href="ffado_8h.html#a2893d390b58431470d0bd1191f1f568ca14c285c45fa3931fe559a8a1b1db4d6a">00209</a>     <a class="code" href="ffado_8h.html#a2893d390b58431470d0bd1191f1f568ca14c285c45fa3931fe559a8a1b1db4d6a">ffado_audio_datatype_int24</a>           =  0,
<a name="l00210"></a><a class="code" href="ffado_8h.html#a2893d390b58431470d0bd1191f1f568ca6a1f23f0d851d268d0808c1deab4f957">00210</a>     <a class="code" href="ffado_8h.html#a2893d390b58431470d0bd1191f1f568ca6a1f23f0d851d268d0808c1deab4f957">ffado_audio_datatype_float</a>           =  1,
<a name="l00211"></a>00211 } ffado_streaming_audio_datatype;
<a name="l00212"></a>00212 
<a name="l00218"></a><a class="code" href="ffado_8h.html#a022a8af7c32500c581526378f93ec962">00218</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
<a name="l00219"></a><a class="code" href="ffado_8h.html#a022a8af7c32500c581526378f93ec962af8fae5a8c7d33e26e5042eb88ae14392">00219</a>     <a class="code" href="ffado_8h.html#a022a8af7c32500c581526378f93ec962af8fae5a8c7d33e26e5042eb88ae14392">ffado_wait_shutdown</a>        = -3,
<a name="l00220"></a><a class="code" href="ffado_8h.html#a022a8af7c32500c581526378f93ec962a2089a9ef0acfe03681871c5f9131f70c">00220</a>     <a class="code" href="ffado_8h.html#a022a8af7c32500c581526378f93ec962a2089a9ef0acfe03681871c5f9131f70c">ffado_wait_error</a>           = -2,
<a name="l00221"></a><a class="code" href="ffado_8h.html#a022a8af7c32500c581526378f93ec962aa9dfbfbee49f3e196dc1c4cb86483423">00221</a>     <a class="code" href="ffado_8h.html#a022a8af7c32500c581526378f93ec962aa9dfbfbee49f3e196dc1c4cb86483423">ffado_wait_xrun</a>            = -1,
<a name="l00222"></a><a class="code" href="ffado_8h.html#a022a8af7c32500c581526378f93ec962a759bf1cb51512a1045fb9b9ee6f4d3a4">00222</a>     <a class="code" href="ffado_8h.html#a022a8af7c32500c581526378f93ec962a759bf1cb51512a1045fb9b9ee6f4d3a4">ffado_wait_ok</a>              =  0,
<a name="l00223"></a>00223 } ffado_wait_response;
<a name="l00224"></a>00224 
<a name="l00240"></a>00240 <a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *<a class="code" href="ffado_8h.html#a12dcfdad383cf44bc8f44d0a77168780">ffado_streaming_init</a>(
<a name="l00241"></a>00241                      <a class="code" href="structffado__device__info.html">ffado_device_info_t</a> device_info,
<a name="l00242"></a>00242                      <a class="code" href="structffado__options.html">ffado_options_t</a> options);
<a name="l00243"></a>00243 
<a name="l00251"></a>00251 <span class="keywordtype">int</span> <a class="code" href="ffado_8h.html#a510f745b2d5515f3692a0c0b097f8014">ffado_streaming_prepare</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev);
<a name="l00252"></a>00252 
<a name="l00253"></a>00253 
<a name="l00260"></a>00260 <span class="keywordtype">void</span> <a class="code" href="ffado_8h.html#ab92d18a1f0e580c966287d799be5dceb">ffado_streaming_finish</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev);
<a name="l00261"></a>00261 
<a name="l00270"></a>00270 <span class="keywordtype">int</span> <a class="code" href="ffado_8h.html#a29c6be45adcbeb9ce74dcefb4c42d584">ffado_streaming_get_nb_capture_streams</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev);
<a name="l00271"></a>00271 
<a name="l00280"></a>00280 <span class="keywordtype">int</span> <a class="code" href="ffado_8h.html#abe6a50886aed02a5ddb5d1ea8b022629">ffado_streaming_get_nb_playback_streams</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev);
<a name="l00281"></a>00281 
<a name="l00292"></a>00292 <span class="keywordtype">int</span> <a class="code" href="ffado_8h.html#a2522f2adcbfd17e1643ae8f146f5e239">ffado_streaming_get_capture_stream_name</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev, <span class="keywordtype">int</span> number, <span class="keywordtype">char</span>* buffer, <span class="keywordtype">size_t</span> buffersize);
<a name="l00293"></a>00293 
<a name="l00304"></a>00304 <span class="keywordtype">int</span> <a class="code" href="ffado_8h.html#a3301642dc2f3af1657904c6678a23165">ffado_streaming_get_playback_stream_name</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev, <span class="keywordtype">int</span> number, <span class="keywordtype">char</span>* buffer, <span class="keywordtype">size_t</span> buffersize);
<a name="l00305"></a>00305 
<a name="l00314"></a>00314 <a class="code" href="ffado_8h.html#ad951231df410434aade1438062960ce2">ffado_streaming_stream_type</a> <a class="code" href="ffado_8h.html#a5b2ac34feed6f1ce3708de7783d56240">ffado_streaming_get_capture_stream_type</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev, <span class="keywordtype">int</span> number);
<a name="l00315"></a>00315 
<a name="l00324"></a>00324 <a class="code" href="ffado_8h.html#ad951231df410434aade1438062960ce2">ffado_streaming_stream_type</a> <a class="code" href="ffado_8h.html#ad77c94bde9274a14fd5cbd967c5893fb">ffado_streaming_get_playback_stream_type</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev, <span class="keywordtype">int</span> number);
<a name="l00325"></a>00325 <span class="comment">/*</span>
<a name="l00326"></a>00326 <span class="comment"> *</span>
<a name="l00327"></a>00327 <span class="comment"> * Note: buffer handling will change in order to allow setting the sample type for *_read and *_write</span>
<a name="l00328"></a>00328 <span class="comment"> * and separately indicate if you want to use a user buffer or a managed buffer.</span>
<a name="l00329"></a>00329 <span class="comment"> *</span>
<a name="l00330"></a>00330 <span class="comment"> */</span>
<a name="l00331"></a>00331 
<a name="l00346"></a>00346 <span class="keywordtype">int</span> <a class="code" href="ffado_8h.html#a68ecec674c862e2365359fb8d1294f56">ffado_streaming_set_capture_stream_buffer</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev, <span class="keywordtype">int</span> number, <span class="keywordtype">char</span> *buff);
<a name="l00347"></a>00347 <span class="keywordtype">int</span> <a class="code" href="ffado_8h.html#af588c0a752de1e58e86784560d11279f">ffado_streaming_capture_stream_onoff</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev, <span class="keywordtype">int</span> number, <span class="keywordtype">int</span> on);
<a name="l00348"></a>00348 
<a name="l00361"></a>00361 <span class="keywordtype">int</span> <a class="code" href="ffado_8h.html#a8d5e2ff8a3094e6018a25b1c2b333027">ffado_streaming_set_playback_stream_buffer</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev, <span class="keywordtype">int</span> number, <span class="keywordtype">char</span> *buff);
<a name="l00362"></a>00362 <span class="keywordtype">int</span> <a class="code" href="ffado_8h.html#a554517c036886cc5cfb06759cc2a07ec">ffado_streaming_playback_stream_onoff</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev, <span class="keywordtype">int</span> number, <span class="keywordtype">int</span> on);
<a name="l00363"></a>00363 
<a name="l00364"></a>00364 <a class="code" href="ffado_8h.html#a2893d390b58431470d0bd1191f1f568c">ffado_streaming_audio_datatype</a> <a class="code" href="ffado_8h.html#af2c5f569cae38c7956f4c935840e9f7d">ffado_streaming_get_audio_datatype</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev);
<a name="l00365"></a>00365 <span class="keywordtype">int</span> <a class="code" href="ffado_8h.html#af6cfbf9c09b869c722e6fcf6599e44e1">ffado_streaming_set_audio_datatype</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev, <a class="code" href="ffado_8h.html#a2893d390b58431470d0bd1191f1f568c">ffado_streaming_audio_datatype</a> t);
<a name="l00366"></a>00366 
<a name="l00375"></a>00375 <span class="keywordtype">int</span> <a class="code" href="ffado_8h.html#a510f745b2d5515f3692a0c0b097f8014">ffado_streaming_prepare</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev);
<a name="l00376"></a>00376 
<a name="l00385"></a>00385 <span class="keywordtype">int</span> <a class="code" href="ffado_8h.html#a50fd6f65789689533c649be3fdba28eb">ffado_streaming_start</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev);
<a name="l00386"></a>00386 
<a name="l00395"></a>00395 <span class="keywordtype">int</span> <a class="code" href="ffado_8h.html#a2ac22d23856127c6015088ea16e570af">ffado_streaming_stop</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev);
<a name="l00396"></a>00396 
<a name="l00407"></a>00407 <span class="keywordtype">int</span> <a class="code" href="ffado_8h.html#a7fd912af84d77929286e4c16ebf5e741">ffado_streaming_reset</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev);
<a name="l00408"></a>00408 
<a name="l00417"></a>00417 <a class="code" href="ffado_8h.html#a022a8af7c32500c581526378f93ec962">ffado_wait_response</a> <a class="code" href="ffado_8h.html#a12ef2ee375ad21cc3316d79151278415">ffado_streaming_wait</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev);
<a name="l00418"></a>00418 
<a name="l00445"></a>00445 <span class="keywordtype">int</span> <a class="code" href="ffado_8h.html#ab7fb46b71d7296dc65ecaa011f1852ef">ffado_streaming_transfer_buffers</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev);
<a name="l00446"></a>00446 
<a name="l00464"></a>00464 <span class="keywordtype">int</span> <a class="code" href="ffado_8h.html#a25684a8662cad73ea170bd285d1a2210">ffado_streaming_transfer_playback_buffers</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev);
<a name="l00465"></a>00465 
<a name="l00483"></a>00483 <span class="keywordtype">int</span> <a class="code" href="ffado_8h.html#ae37402898bb30bb58fb79af7ba85c089">ffado_streaming_transfer_capture_buffers</a>(<a class="code" href="ffado_8h.html#af63ec4fee431588343a8d4b73c8e102c">ffado_device_t</a> *dev);
<a name="l00484"></a>00484 
<a name="l00485"></a>00485 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00486"></a>00486 <span class="preprocessor"></span>}
<a name="l00487"></a>00487 <span class="preprocessor">#endif</span>
<a name="l00488"></a>00488 <span class="preprocessor"></span>
<a name="l00489"></a>00489 <span class="preprocessor">#endif </span><span class="comment">/* FFADO_STREAMING */</span>
</pre></div></div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Fri Jul 30 2010 for LIBFFADO by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
</body>
</html>