<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>AlsaPlayer: _output_plugin struct Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.3.3 --> <div class="qindex"><a class="qindex" href="index.html">Main Page</a> | <a class="qindex" href="annotated.html">Data Structures</a> | <a class="qindex" href="files.html">File List</a> | <a class="qindex" href="functions.html">Data Fields</a> | <a class="qindex" href="globals.html">Globals</a></div> <h1>_output_plugin Struct Reference</h1><code>#include <<a class="el" href="output__plugin_8h-source.html">output_plugin.h</a>></code> <p> <table border=0 cellpadding=0 cellspacing=0> <tr><td></td></tr> <tr><td colspan=2><br><h2>Data Fields</h2></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="output__plugin_8h.html#a2">output_version_type</a> </td><td class="memItemRight" valign=bottom><a class="el" href="struct__output__plugin.html#o0">version</a></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>char * </td><td class="memItemRight" valign=bottom><a class="el" href="struct__output__plugin.html#o1">name</a></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top>char * </td><td class="memItemRight" valign=bottom><a class="el" href="struct__output__plugin.html#o2">author</a></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="output__plugin_8h.html#a3">output_init_type</a> </td><td class="memItemRight" valign=bottom><a class="el" href="struct__output__plugin.html#o3">init</a></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="output__plugin_8h.html#a4">output_open_type</a> </td><td class="memItemRight" valign=bottom><a class="el" href="struct__output__plugin.html#o4">open</a></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="output__plugin_8h.html#a5">output_close_type</a> </td><td class="memItemRight" valign=bottom><a class="el" href="struct__output__plugin.html#o5">close</a></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="output__plugin_8h.html#a6">output_write_type</a> </td><td class="memItemRight" valign=bottom><a class="el" href="struct__output__plugin.html#o6">write</a></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="output__plugin_8h.html#a7">output_start_callbacks_type</a> </td><td class="memItemRight" valign=bottom><a class="el" href="struct__output__plugin.html#o7">start_callbacks</a></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="output__plugin_8h.html#a8">output_set_buffer_type</a> </td><td class="memItemRight" valign=bottom><a class="el" href="struct__output__plugin.html#o8">set_buffer</a></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="output__plugin_8h.html#a9">output_set_sample_rate_type</a> </td><td class="memItemRight" valign=bottom><a class="el" href="struct__output__plugin.html#o9">set_sample_rate</a></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="output__plugin_8h.html#a10">output_get_queue_count_type</a> </td><td class="memItemRight" valign=bottom><a class="el" href="struct__output__plugin.html#o10">get_queue_count</a></td></tr> <tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="output__plugin_8h.html#a11">output_get_latency_type</a> </td><td class="memItemRight" valign=bottom><a class="el" href="struct__output__plugin.html#o11">get_latency</a></td></tr> </table> <hr><h2>Field Documentation</h2> <a name="o2" doxytag="_output_plugin::author"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> char* <a class="el" href="struct__output__plugin.html#o2">_output_plugin::author</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Author of the plugin </td> </tr> </table> <a name="o5" doxytag="_output_plugin::close"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="output__plugin_8h.html#a5">output_close_type</a> <a class="el" href="struct__output__plugin.html#o5">_output_plugin::close</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Close the output plugin </td> </tr> </table> <a name="o11" doxytag="_output_plugin::get_latency"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="output__plugin_8h.html#a11">output_get_latency_type</a> <a class="el" href="struct__output__plugin.html#o11">_output_plugin::get_latency</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Returns the latency of the output device in bytes. This function is optional. </td> </tr> </table> <a name="o10" doxytag="_output_plugin::get_queue_count"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="output__plugin_8h.html#a10">output_get_queue_count_type</a> <a class="el" href="struct__output__plugin.html#o10">_output_plugin::get_queue_count</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Returns the number of bytes pending in the hardware buffer of output device. This function is optional. </td> </tr> </table> <a name="o3" doxytag="_output_plugin::init"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="output__plugin_8h.html#a3">output_init_type</a> <a class="el" href="struct__output__plugin.html#o3">_output_plugin::init</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Initialize output plugin. Called before the plugin is opened for use </td> </tr> </table> <a name="o1" doxytag="_output_plugin::name"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> char* <a class="el" href="struct__output__plugin.html#o1">_output_plugin::name</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Name of output plugin </td> </tr> </table> <a name="o4" doxytag="_output_plugin::open"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="output__plugin_8h.html#a4">output_open_type</a> <a class="el" href="struct__output__plugin.html#o4">_output_plugin::open</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign=top><em>path</em> </td><td>The path or device designation that should be used</td></tr> </table> </dl> Opens the output plugin. A value of 1 should be returned on success, 0 on failure. </td> </tr> </table> <a name="o8" doxytag="_output_plugin::set_buffer"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="output__plugin_8h.html#a8">output_set_buffer_type</a> <a class="el" href="struct__output__plugin.html#o8">_output_plugin::set_buffer</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign=top><em>frag_size</em> </td><td>Fragment size to use (in bytes) </td></tr> <tr><td valign=top><em>frag_count</em> </td><td>Fragment count to use (in bytes) </td></tr> <tr><td valign=top><em>channels</em> </td><td>Number of channels to use</td></tr> </table> </dl> Set up the output device with the given parameters. Some output devices do not accept such configurations in which case they should just be ignored, but still expect frag_size data chunks in the write function. A value of 1 should be returned on success, 0 on failure. </td> </tr> </table> <a name="o9" doxytag="_output_plugin::set_sample_rate"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="output__plugin_8h.html#a9">output_set_sample_rate_type</a> <a class="el" href="struct__output__plugin.html#o9">_output_plugin::set_sample_rate</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign=top><em>rate</em> </td><td>Sample rate to use</td></tr> </table> </dl> Set the sample rate of the output device. A value of 1 should be returned on success, 0 on failure. </td> </tr> </table> <a name="o7" doxytag="_output_plugin::start_callbacks"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="output__plugin_8h.html#a7">output_start_callbacks_type</a> <a class="el" href="struct__output__plugin.html#o7">_output_plugin::start_callbacks</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign=top><em>data</em> </td><td>pointer to bufs structure in AlsaNode</td></tr> </table> </dl> This function is used for callback based plugins like JACK </td> </tr> </table> <a name="o0" doxytag="_output_plugin::version"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="output__plugin_8h.html#a2">output_version_type</a> <a class="el" href="struct__output__plugin.html#o0">_output_plugin::version</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> Version of output plugin. Must be OUTPUT_PLUGIN_VERSION </td> </tr> </table> <a name="o6" doxytag="_output_plugin::write"></a><p> <table class="mdTable" width="100%" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"> <a class="el" href="output__plugin_8h.html#a6">output_write_type</a> <a class="el" href="struct__output__plugin.html#o6">_output_plugin::write</a> </table> </td> </tr> </table> <table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td> <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign=top><em>data</em> </td><td>Buffer that contains the data Number of bytes that should be read from the buffer</td></tr> </table> </dl> Write out data to the output device. This is a byte count and will typically be the same size as a fragment. A value of 1 should be returned on success, 0 on failure. </td> </tr> </table> <hr>The documentation for this struct was generated from the following file:<ul> <li><a class="el" href="output__plugin_8h-source.html">output_plugin.h</a></ul> <hr size="1"><address style="align: right;"><small>Generated on Tue Dec 9 10:09:56 2003 for AlsaPlayer by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border=0 > </a>1.3.3 </small></address> </body> </html>