📄 audio__plugin__if_8h.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>BlueLab: audio_plugin_if.h File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.8 --><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>audio_plugin_if.h File Reference</h1><h2>Data Structures</h2><ul><li>struct <a class="el" href="struct_a_u_d_i_o___p_l_u_g_i_n___c_o_n_n_e_c_t___m_s_g___t.html">AUDIO_PLUGIN_CONNECT_MSG_T</a><dl class="el"><dd class="mdescRight">This message is generated by the audio manager and is issued to an audio plugin module. The plugin module should connect the Synchronous connection to its pre defined outputs. <a href="struct_a_u_d_i_o___p_l_u_g_i_n___c_o_n_n_e_c_t___m_s_g___t.html#_details">More...</a><br></dl><li>struct <a class="el" href="struct_a_u_d_i_o___p_l_u_g_i_n___s_e_t___v_o_l_u_m_e___m_s_g___t.html">AUDIO_PLUGIN_SET_VOLUME_MSG_T</a><dl class="el"><dd class="mdescRight">This message is generated by the audio manager and is issued to an audio plugin module. The plugin module should connect the Synchronous connection to its pre defined outputs. <a href="struct_a_u_d_i_o___p_l_u_g_i_n___s_e_t___v_o_l_u_m_e___m_s_g___t.html#_details">More...</a><br></dl><li>struct <a class="el" href="struct_a_u_d_i_o___p_l_u_g_i_n___s_e_t___m_o_d_e___m_s_g___t.html">AUDIO_PLUGIN_SET_MODE_MSG_T</a><dl class="el"><dd class="mdescRight">This message is generated by the audio manager and is issued to an audio plugin module. <a href="struct_a_u_d_i_o___p_l_u_g_i_n___s_e_t___m_o_d_e___m_s_g___t.html#_details">More...</a><br></dl><li>struct <a class="el" href="struct_a_u_d_i_o___p_l_u_g_i_n___p_l_a_y___t_o_n_e___m_s_g___t.html">AUDIO_PLUGIN_PLAY_TONE_MSG_T</a><dl class="el"><dd class="mdescRight">This message is generated by the audio manager and is issued to an audio plugin module. <a href="struct_a_u_d_i_o___p_l_u_g_i_n___p_l_a_y___t_o_n_e___m_s_g___t.html#_details">More...</a><br></dl></ul><h2>Audio Plugin Interface Messages</h2>These messages are sent to the audio plugin modules.<p>An Audio plugin must implement all of the messages below <ul><li>typedef enum <a class="el" href="audio__plugin__if_8h.html#a18">audio_plugin_interface_message_type_tag</a> <a class="el" href="audio__plugin__if_8h.html#a4">audio_plugin_interface_message_type_t</a><li>enum <a class="el" href="audio__plugin__if_8h.html#a18">audio_plugin_interface_message_type_tag</a> { <br> <a class="el" href="audio__plugin__if_8h.html#a18a10">AUDIO_PLUGIN_CONNECT_MSG</a> = AUDIO_MESSAGE_BASE, <br> <a class="el" href="audio__plugin__if_8h.html#a18a11">AUDIO_PLUGIN_DISCONNECT_MSG</a>, <br> <a class="el" href="audio__plugin__if_8h.html#a18a12">AUDIO_PLUGIN_SET_MODE_MSG</a>, <br> <a class="el" href="audio__plugin__if_8h.html#a18a13">AUDIO_PLUGIN_SET_VOLUME_MSG</a>, <br> <a class="el" href="audio__plugin__if_8h.html#a18a14">AUDIO_PLUGIN_PLAY_TONE_MSG</a>, <br> <a class="el" href="audio__plugin__if_8h.html#a18a15">AUDIO_PLUGIN_STOP_TONE_MSG</a>, <br> <a class="el" href="audio__plugin__if_8h.html#a18a16">AUDIO_MESSAGE_TOP</a><br> }<li><a class="el" href="csrtypes_8h.html#a4">uint16</a> <a class="el" href="audio__plugin__if_8h.html#a5">AUDIO_BUSY</a><dl class="el"><dd class="mdescRight">This global flag acts as a semaphore that indicates if the audio plugin is busy All messages will be queued conditionally on the value of AUDIO_BUSY ;. <a href="#a5"></a><br></dl></ul><h2>Defines</h2><ul><li>#define <a class="el" href="audio__plugin__if_8h.html#a0">MAKE_AUDIO_MESSAGE</a>(TYPE) TYPE##_T *message = PanicUnlessNew(TYPE##_T);<li>#define <a class="el" href="audio__plugin__if_8h.html#a1">MAKE_AUDIO_MESSAGE_WITH_LEN</a>(TYPE, LEN) TYPE##_T *message = (TYPE##_T *) PanicUnlessMalloc(sizeof(TYPE##_T) + LEN);<li>#define <a class="el" href="audio__plugin__if_8h.html#a2">AUDIO_MESSAGE_BASE</a> 0x5d00<dl class="el"><dd class="mdescRight">Define the types for the upstream messages sent from the Hfp profile library to the application. <a href="#a2"></a><br></dl></ul><h2>Typedefs</h2><ul><li>typedef enum <a class="el" href="audio__plugin__if_8h.html#a17">AudioModeTag</a> <a class="el" href="audio__plugin__if_8h.html#a3">AUDIO_MODE_T</a></ul><h2>Enumerations</h2><ul><li>enum <a class="el" href="audio__plugin__if_8h.html#a17">AudioModeTag</a> { <br> <a class="el" href="audio__plugin__if_8h.html#a17a6">AUDIO_MODE_MUTE_MIC</a>, <br> <a class="el" href="audio__plugin__if_8h.html#a17a7">AUDIO_MODE_MUTE_SPEAKER</a>, <br> <a class="el" href="audio__plugin__if_8h.html#a17a8">AUDIO_MODE_MUTE_BOTH</a>, <br> <a class="el" href="audio__plugin__if_8h.html#a17a9">AUDIO_MODE_CONNECTED</a><br> }</ul><hr><h2>Define Documentation</h2><a class="anchor" name="a0" doxytag="audio_plugin_if.h::MAKE_AUDIO_MESSAGE" ></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"> #define MAKE_AUDIO_MESSAGE </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">TYPE </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> TYPE##_T *message = PanicUnlessNew(TYPE##_T);</td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a class="anchor" name="a1" doxytag="audio_plugin_if.h::MAKE_AUDIO_MESSAGE_WITH_LEN" ></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"> #define MAKE_AUDIO_MESSAGE_WITH_LEN </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">TYPE, <tr> <td class="md" nowrap align="right"></td> <td></td> <td class="md" nowrap>LEN </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> TYPE##_T *message = (TYPE##_T *) PanicUnlessMalloc(sizeof(TYPE##_T) + LEN);</td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a class="anchor" name="a2" doxytag="audio_plugin_if.h::AUDIO_MESSAGE_BASE" ></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"> #define AUDIO_MESSAGE_BASE 0x5d00 </td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>Define the types for the upstream messages sent from the Hfp profile library to the application. <p> </td> </tr></table><hr><h2>Typedef Documentation</h2><a class="anchor" name="a3" doxytag="audio_plugin_if.h::AUDIO_MODE_T" ></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"> typedef enum <a class="el" href="audio__plugin__if_8h.html#a17">AudioModeTag</a> <a class="el" href="audio__plugin__if_8h.html#a3">AUDIO_MODE_T</a> </td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><a class="anchor" name="a4" doxytag="audio_plugin_if.h::audio_plugin_interface_message_type_t" ></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"> typedef enum <a class="el" href="audio__plugin__if_8h.html#a18">audio_plugin_interface_message_type_tag</a> <a class="el" href="audio__plugin__if_8h.html#a4">audio_plugin_interface_message_type_t</a> </td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p> </td> </tr></table><hr><h2>Enumeration Type Documentation</h2><a class="anchor" name="a17" doxytag="audio_plugin_if.h::AudioModeTag" ></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"> enum <a class="el" href="audio__plugin__if_8h.html#a17">AudioModeTag</a> </td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p><dl compact><dt><b>Enumeration values: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em><a class="anchor" name="a17a6" doxytag="AUDIO_MODE_MUTE_MIC" ></a>AUDIO_MODE_MUTE_MIC</em> </td><td></td></tr><tr><td valign=top><em><a class="anchor" name="a17a7" doxytag="AUDIO_MODE_MUTE_SPEAKER" ></a>AUDIO_MODE_MUTE_SPEAKER</em> </td><td></td></tr><tr><td valign=top><em><a class="anchor" name="a17a8" doxytag="AUDIO_MODE_MUTE_BOTH" ></a>AUDIO_MODE_MUTE_BOTH</em> </td><td></td></tr><tr><td valign=top><em><a class="anchor" name="a17a9" doxytag="AUDIO_MODE_CONNECTED" ></a>AUDIO_MODE_CONNECTED</em> </td><td></td></tr></table></dl> </td> </tr></table><a class="anchor" name="a18" doxytag="audio_plugin_if.h::audio_plugin_interface_message_type_tag" ></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"> enum <a class="el" href="audio__plugin__if_8h.html#a18">audio_plugin_interface_message_type_tag</a> </td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p><dl compact><dt><b>Enumeration values: </b></dt><dd><table border=0 cellspacing=2 cellpadding=0><tr><td valign=top><em><a class="anchor" name="a18a10" doxytag="AUDIO_PLUGIN_CONNECT_MSG" ></a>AUDIO_PLUGIN_CONNECT_MSG</em> </td><td></td></tr><tr><td valign=top><em><a class="anchor" name="a18a11" doxytag="AUDIO_PLUGIN_DISCONNECT_MSG" ></a>AUDIO_PLUGIN_DISCONNECT_MSG</em> </td><td></td></tr><tr><td valign=top><em><a class="anchor" name="a18a12" doxytag="AUDIO_PLUGIN_SET_MODE_MSG" ></a>AUDIO_PLUGIN_SET_MODE_MSG</em> </td><td></td></tr><tr><td valign=top><em><a class="anchor" name="a18a13" doxytag="AUDIO_PLUGIN_SET_VOLUME_MSG" ></a>AUDIO_PLUGIN_SET_VOLUME_MSG</em> </td><td></td></tr><tr><td valign=top><em><a class="anchor" name="a18a14" doxytag="AUDIO_PLUGIN_PLAY_TONE_MSG" ></a>AUDIO_PLUGIN_PLAY_TONE_MSG</em> </td><td></td></tr><tr><td valign=top><em><a class="anchor" name="a18a15" doxytag="AUDIO_PLUGIN_STOP_TONE_MSG" ></a>AUDIO_PLUGIN_STOP_TONE_MSG</em> </td><td></td></tr><tr><td valign=top><em><a class="anchor" name="a18a16" doxytag="AUDIO_MESSAGE_TOP" ></a>AUDIO_MESSAGE_TOP</em> </td><td></td></tr></table></dl> </td> </tr></table><hr><h2>Variable Documentation</h2><a class="anchor" name="a5" doxytag="audio_plugin_if.h::AUDIO_BUSY" ></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="csrtypes_8h.html#a4">uint16</a> <a class="el" href="audio__plugin__if_8h.html#a5">AUDIO_BUSY</a> </td> </tr> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </td> <td><p>This global flag acts as a semaphore that indicates if the audio plugin is busy All messages will be queued conditionally on the value of AUDIO_BUSY ;. <p> </td> </tr></table></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -