<!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>OpenMAXBellagio: omx_audiomixer_component.c Source File</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="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript"> $(document).ready(initResizable); $(window).load(resizeHeight); </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">OpenMAXBellagio  <span id="projectnumber">0.9.3</span> </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 Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> </div><!-- top --> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> <div id="nav-sync" class="sync"></div> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> $(document).ready(function(){initNavTree('omx__audiomixer__component_8c_source.html','');}); </script> <div id="doc-content"> <div class="header"> <div class="headertitle"> <div class="title">omx_audiomixer_component.c</div> </div> </div><!--header--> <div class="contents"> <a href="omx__audiomixer__component_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> </div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#include <<a class="code" href="omxcore_8h.html">omxcore.h</a>></span></div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="preprocessor">#include <<a class="code" href="omx__base__audio__port_8h.html">omx_base_audio_port.h</a>></span></div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include <<a class="code" href="omx__audiomixer__component_8h.html">omx_audiomixer_component.h</a>></span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include<<a class="code" href="_o_m_x___audio_8h.html">OMX_Audio.h</a>></span></div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">/* Gain value */</span></div> <div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="omx__audiomixer__component_8c.html#a9798945ad354aea53732c9cc98f617e4"> 33</a></span> <span class="preprocessor">#define GAIN_VALUE 100.0f</span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> <div class="line"><a name="l00035"></a><span class="lineno"><a class="line" href="omx__audiomixer__component_8h.html#ad0a03b0e1cb45b3acd497d2ca7c14cfe"> 35</a></span> <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629a">OMX_ERRORTYPE</a> <a class="code" href="omx__audiomixer__component_8c.html#ad0a03b0e1cb45b3acd497d2ca7c14cfe">omx_audio_mixer_component_Constructor</a>(<a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html">OMX_COMPONENTTYPE</a> *openmaxStandComp, <a class="code" href="_o_m_x___types_8h.html#a35830b439b00948006e5ef824fef715f">OMX_STRING</a> cComponentName) {</div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629a">OMX_ERRORTYPE</a> <a class="code" href="omxvolcontroltest_8c.html#a756067b481e3ea442bfda1a27ce0a901">err</a> = <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa5c9da0dc80ae827d74da9249806ba53f">OMX_ErrorNone</a>;</div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  omx_audio_mixer_component_PrivateType* omx_audio_mixer_component_Private;</div> <div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  omx_audio_mixer_component_PortType *pPort;<span class="comment">//,*inPort1, *outPort;</span></div> <div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="_o_m_x___types_8h.html#a04983f4ca9c7876035dffc578597eae3">OMX_U32</a> i;</div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div> <div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <a class="code" href="omx__reference__resource__manager_8c.html#a2e5cb678b1ad832d6a8c1a3783d89dc2">RM_RegisterComponent</a>(<a class="code" href="omx__audiomixer__component_8h.html#aad48dad16db4582851127922c377689d">MIXER_COMP_NAME</a>, <a class="code" href="omx__audiomixer__component_8h.html#ad842ea97152af94f3fa050c087927d2b">MAX_MIXER_COMPONENTS</a>);</div> <div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordflow">if</span> (!openmaxStandComp-><a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#abc8e77802b35b35f7972e9fe7a563ccc">pComponentPrivate</a>) {</div> <div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#aa526b7c349a5bbeb49ca3483b3e908e2">DEB_LEV_FUNCTION_NAME</a>, <span class="stringliteral">"In %s, allocating component\n"</span>,__func__);</div> <div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  openmaxStandComp-><a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#abc8e77802b35b35f7972e9fe7a563ccc">pComponentPrivate</a> = calloc(1, <span class="keyword">sizeof</span>(omx_audio_mixer_component_PrivateType));</div> <div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordflow">if</span>(openmaxStandComp-><a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#abc8e77802b35b35f7972e9fe7a563ccc">pComponentPrivate</a> == NULL) {</div> <div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">return</span> <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa0ad2d44b5618c5c3c9b9c30c0c252b59">OMX_ErrorInsufficientResources</a>;</div> <div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  }</div> <div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  } <span class="keywordflow">else</span> {</div> <div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#aa526b7c349a5bbeb49ca3483b3e908e2">DEB_LEV_FUNCTION_NAME</a>, <span class="stringliteral">"In %s, Error Component %p Already Allocated\n"</span>, __func__, openmaxStandComp-><a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#abc8e77802b35b35f7972e9fe7a563ccc">pComponentPrivate</a>);</div> <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  }</div> <div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div> <div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  omx_audio_mixer_component_Private = openmaxStandComp-><a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#abc8e77802b35b35f7972e9fe7a563ccc">pComponentPrivate</a>;</div> <div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  omx_audio_mixer_component_Private->ports = NULL;</div> <div class="line"><a name="l00054"></a><span class="lineno"> 54</span> </div> <div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  err = <a class="code" href="omx__base__filter_8c.html#a38226d1e5a2bcb7c19f3defa758c929d">omx_base_filter_Constructor</a>(openmaxStandComp, cComponentName);</div> <div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div> <div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="comment">/*Assuming 4 input and 1 output ports*/</span></div> <div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nStartPortNumber = 0;</div> <div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts = <a class="code" href="omx__audiomixer__component_8h.html#a40ad70cc6e2125af9340a4bc26a83764">MAX_PORTS</a>;</div> <div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div> <div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">if</span> (omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts && !omx_audio_mixer_component_Private->ports) {</div> <div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  omx_audio_mixer_component_Private->ports = calloc(omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts, <span class="keyword">sizeof</span>(<a class="code" href="structomx__base___port_type.html">omx_base_PortType</a> *));</div> <div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">if</span> (!omx_audio_mixer_component_Private->ports) {</div> <div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">return</span> <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa0ad2d44b5618c5c3c9b9c30c0c252b59">OMX_ErrorInsufficientResources</a>;</div> <div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  }</div> <div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">for</span> (i=0; i < omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts; i++) {</div> <div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  omx_audio_mixer_component_Private->ports[i] = calloc(1, <span class="keyword">sizeof</span>(omx_audio_mixer_component_PortType));</div> <div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">if</span> (!omx_audio_mixer_component_Private->ports[i]) {</div> <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">return</span> <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa0ad2d44b5618c5c3c9b9c30c0c252b59">OMX_ErrorInsufficientResources</a>;</div> <div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div> <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  }</div> <div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  }</div> <div class="line"><a name="l00075"></a><span class="lineno"> 75</span> </div> <div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="comment">/* construct all input ports */</span></div> <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="keywordflow">for</span>(i=0;i<omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts-1;i++) {</div> <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="omx__base__audio__port_8c.html#a68899010260756fcfde9059dcb83d89c">base_audio_port_Constructor</a>(openmaxStandComp, &omx_audio_mixer_component_Private->ports[i], i, <a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277babd8e08f19e313ba740188e0643ed08db">OMX_TRUE</a>);</div> <div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  }</div> <div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div> <div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="comment">/* construct one output port */</span></div> <div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="code" href="omx__base__audio__port_8c.html#a68899010260756fcfde9059dcb83d89c">base_audio_port_Constructor</a>(openmaxStandComp, &omx_audio_mixer_component_Private->ports[omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts-1], omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts-1, <a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277bae32d6ae989533bc97bec6620fdbcb59b">OMX_FALSE</a>);</div> <div class="line"><a name="l00083"></a><span class="lineno"> 83</span> </div> <div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">for</span>(i=0;i<omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts;i++) {</div> <div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  pPort = (omx_audio_mixer_component_PortType *) omx_audio_mixer_component_Private->ports[i];</div> <div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div> <div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  pPort->sPortParam.nBufferSize = <a class="code" href="omx__base__component_8h.html#a4417d9cbdac624d09cf5812dfcca3c01">DEFAULT_OUT_BUFFER_SIZE</a>;</div> <div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  pPort->gain = <a class="code" href="omx__audiomixer__component_8c.html#a9798945ad354aea53732c9cc98f617e4">GAIN_VALUE</a>; <span class="comment">//100.0f; // default gain</span></div> <div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div> <div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <a class="code" href="omx__base__component_8c.html#a9e48476744a54f3242a243ff1c2c3f36">setHeader</a>(&pPort->pAudioPcmMode,<span class="keyword">sizeof</span>(<a class="code" href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_c_m_m_o_d_e_t_y_p_e.html">OMX_AUDIO_PARAM_PCMMODETYPE</a>));</div> <div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  pPort->pAudioPcmMode.nPortIndex = i;</div> <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  pPort->pAudioPcmMode.nChannels = 2;</div> <div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  pPort->pAudioPcmMode.eNumData = <a class="code" href="_o_m_x___types_8h.html#a5718ca72c1708092c99a714beee4d2f9a47dd215bbfd01911416b4ce71907c2ea">OMX_NumericalDataSigned</a>;</div> <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  pPort->pAudioPcmMode.eEndian = <a class="code" href="_o_m_x___types_8h.html#a3c2c956d0e4e47ad96f1977395ecfb8bab901be48c0ecf3e7ecaca92817804140">OMX_EndianBig</a>;</div> <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  pPort->pAudioPcmMode.bInterleaved = <a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277babd8e08f19e313ba740188e0643ed08db">OMX_TRUE</a>;</div> <div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  pPort->pAudioPcmMode.nBitPerSample = 16;</div> <div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  pPort->pAudioPcmMode.nSamplingRate = 44100;</div> <div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  pPort->pAudioPcmMode.ePCMMode = <a class="code" href="group__audio.html#ggaf71f3f9a1169afed6e76cd6911cd5d65a643a0498a099a602db9a6a39c21274cc">OMX_AUDIO_PCMModeLinear</a>;</div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span> </div> <div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  <a class="code" href="omx__base__component_8c.html#a9e48476744a54f3242a243ff1c2c3f36">setHeader</a>(&pPort->sVolume,<span class="keyword">sizeof</span>(<a class="code" href="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e.html">OMX_AUDIO_CONFIG_VOLUMETYPE</a>));</div> <div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  pPort->sVolume.nPortIndex = i;</div> <div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  pPort->sVolume.bLinear = <a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277babd8e08f19e313ba740188e0643ed08db">OMX_TRUE</a>; </div> <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  pPort->sVolume.sVolume.nValue = (<a class="code" href="_o_m_x___types_8h.html#a8a31dd95e8a7d81701f312de0cccc05d">OMX_S32</a>)<a class="code" href="omx__audiomixer__component_8c.html#a9798945ad354aea53732c9cc98f617e4">GAIN_VALUE</a>;</div> <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  pPort->sVolume.sVolume.nMin = 0; </div> <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  pPort->sVolume.sVolume.nMax = (<a class="code" href="_o_m_x___types_8h.html#a8a31dd95e8a7d81701f312de0cccc05d">OMX_S32</a>)<a class="code" href="omx__audiomixer__component_8c.html#a9798945ad354aea53732c9cc98f617e4">GAIN_VALUE</a>;</div> <div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  }</div> <div class="line"><a name="l00109"></a><span class="lineno"> 109</span> </div> <div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  omx_audio_mixer_component_Private->destructor = <a class="code" href="omx__audiomixer__component_8c.html#af545bea12031ef1759299b1cbb5d6c0d">omx_audio_mixer_component_Destructor</a>;</div> <div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  openmaxStandComp-><a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#a0264daf0b4a5a5c91de28533e26fb8a0">SetParameter</a> = <a class="code" href="omx__audiomixer__component_8c.html#ab87f0da6dea6224806ceaf4c6cc23aea">omx_audio_mixer_component_SetParameter</a>;</div> <div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  openmaxStandComp-><a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#a6dbfc4532045b381d3b2a73e9ddf567b">GetParameter</a> = <a class="code" href="omx__audiomixer__component_8c.html#a171523b3c6e884d7139c938dc9b37f39">omx_audio_mixer_component_GetParameter</a>;</div> <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  openmaxStandComp-><a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#a40042eb121e37461ceb851995d450a03">GetConfig</a> = <a class="code" href="omx__audiomixer__component_8c.html#aca915f1479673cff0bf59e2f6b2ee105">omx_audio_mixer_component_GetConfig</a>;</div> <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  openmaxStandComp-><a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#a0b474b5dd1c0e432e44d2f1ca15984c3">SetConfig</a> = <a class="code" href="omx__audiomixer__component_8c.html#ae37d60299de367f2ed0a2cf0d59f5b63">omx_audio_mixer_component_SetConfig</a>;</div> <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  omx_audio_mixer_component_Private->BufferMgmtCallback = <a class="code" href="omx__audiomixer__component_8c.html#aa69df866649fad54f477087d5c12619d">omx_audio_mixer_component_BufferMgmtCallback</a>;</div> <div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  omx_audio_mixer_component_Private->BufferMgmtFunction = <a class="code" href="omx__audiomixer__component_8c.html#a7ebd6c69e7580b8850378911e4fda0a1">omx_audio_mixer_BufferMgmtFunction</a>;</div> <div class="line"><a name="l00117"></a><span class="lineno"> 117</span> </div> <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="comment">/* resource management special section */</span></div> <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  omx_audio_mixer_component_Private->nqualitylevels = <a class="code" href="omx__audiomixer__component_8h.html#a98af3e8a0ab43aaee0a8362a973b40eb">MIXER_QUALITY_LEVELS</a>;</div> <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  omx_audio_mixer_component_Private->currentQualityLevel = 1;</div> <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  omx_audio_mixer_component_Private->multiResourceLevel = malloc(<span class="keyword">sizeof</span>(<a class="code" href="structmulti_resource_descriptor.html">multiResourceDescriptor</a> *) * <a class="code" href="omx__audiomixer__component_8h.html#a98af3e8a0ab43aaee0a8362a973b40eb">MIXER_QUALITY_LEVELS</a>);</div> <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">for</span> (i = 0; i<<a class="code" href="omx__audiomixer__component_8h.html#a98af3e8a0ab43aaee0a8362a973b40eb">MIXER_QUALITY_LEVELS</a>; i++) {</div> <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  omx_audio_mixer_component_Private->multiResourceLevel[i] = malloc(<span class="keyword">sizeof</span>(<a class="code" href="structmulti_resource_descriptor.html">multiResourceDescriptor</a>));</div> <div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  omx_audio_mixer_component_Private->multiResourceLevel[i]->CPUResourceRequested = mixerQualityLevels[i * 2];</div> <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  omx_audio_mixer_component_Private->multiResourceLevel[i]->MemoryResourceRequested = mixerQualityLevels[i * 2 + 1];</div> <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  }</div> <div class="line"><a name="l00127"></a><span class="lineno"> 127</span> </div> <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">return</span> <a class="code" href="omxvolcontroltest_8c.html#a756067b481e3ea442bfda1a27ce0a901">err</a>;</div> <div class="line"><a name="l00129"></a><span class="lineno"> 129</span> }</div> <div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div> <div class="line"><a name="l00131"></a><span class="lineno"> 131</span> </div> <div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="omx__audiomixer__component_8h.html#af545bea12031ef1759299b1cbb5d6c0d"> 134</a></span> <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629a">OMX_ERRORTYPE</a> <a class="code" href="omx__audiomixer__component_8c.html#af545bea12031ef1759299b1cbb5d6c0d">omx_audio_mixer_component_Destructor</a>(<a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html">OMX_COMPONENTTYPE</a> *openmaxStandComp) {</div> <div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div> <div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  omx_audio_mixer_component_PrivateType* omx_audio_mixer_component_Private = openmaxStandComp-><a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#abc8e77802b35b35f7972e9fe7a563ccc">pComponentPrivate</a>;</div> <div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <a class="code" href="_o_m_x___types_8h.html#a04983f4ca9c7876035dffc578597eae3">OMX_U32</a> i;</div> <div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div> <div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#aa526b7c349a5bbeb49ca3483b3e908e2">DEB_LEV_FUNCTION_NAME</a>, <span class="stringliteral">"In %s\n"</span>, __func__);</div> <div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="comment">/* frees port/s */</span></div> <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">if</span> (omx_audio_mixer_component_Private->ports) {</div> <div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="keywordflow">for</span> (i=0; i < omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts; i++) {</div> <div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">if</span>(omx_audio_mixer_component_Private->ports[i])</div> <div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  omx_audio_mixer_component_Private->ports[i]->PortDestructor(omx_audio_mixer_component_Private->ports[i]);</div> <div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  }</div> <div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  free(omx_audio_mixer_component_Private->ports);</div> <div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  omx_audio_mixer_component_Private->ports=NULL;</div> <div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  }</div> <div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div> <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <a class="code" href="omx__base__filter_8c.html#af02c8c172a5dcfb8a7b1eef2f3e8cc60">omx_base_filter_Destructor</a>(openmaxStandComp);</div> <div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div> <div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#aa526b7c349a5bbeb49ca3483b3e908e2">DEB_LEV_FUNCTION_NAME</a>, <span class="stringliteral">"Out of %s\n"</span>, __func__);</div> <div class="line"><a name="l00153"></a><span class="lineno"> 153</span> </div> <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordflow">return</span> <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa5c9da0dc80ae827d74da9249806ba53f">OMX_ErrorNone</a>;</div> <div class="line"><a name="l00155"></a><span class="lineno"> 155</span> }</div> <div class="line"><a name="l00156"></a><span class="lineno"> 156</span> </div> <div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="omx__audiomixer__component_8h.html#a016ea764c9a8cacc5b77f5433a560ef5"> 159</a></span> <span class="keywordtype">void</span> <a class="code" href="omx__audiomixer__component_8c.html#aa69df866649fad54f477087d5c12619d">omx_audio_mixer_component_BufferMgmtCallback</a>(<a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html">OMX_COMPONENTTYPE</a> *openmaxStandComp, <a class="code" href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html">OMX_BUFFERHEADERTYPE</a>* pInBuffer, <a class="code" href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html">OMX_BUFFERHEADERTYPE</a>* pOutBuffer) {</div> <div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="code" href="_o_m_x___types_8h.html#a8a31dd95e8a7d81701f312de0cccc05d">OMX_S32</a> denominator=0;</div> <div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <a class="code" href="_o_m_x___types_8h.html#a04983f4ca9c7876035dffc578597eae3">OMX_U32</a> i,sampleCount = pInBuffer-><a class="code" href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html#a1bdb4f2d2e541f5f48c0885d2f936c93">nFilledLen</a> / 2; <span class="comment">// signed 16 bit samples assumed</span></div> <div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  omx_audio_mixer_component_PrivateType* omx_audio_mixer_component_Private = openmaxStandComp-><a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#abc8e77802b35b35f7972e9fe7a563ccc">pComponentPrivate</a>;</div> <div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  omx_audio_mixer_component_PortType* pPort;</div> <div class="line"><a name="l00164"></a><span class="lineno"> 164</span> </div> <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">for</span>(i=0;i<omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts-1;i++) {</div> <div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  pPort = (omx_audio_mixer_component_PortType*)omx_audio_mixer_component_Private->ports[i];</div> <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordflow">if</span>(<a class="code" href="omx__base__port_8h.html#a96b9870fce37d9a71f49a4bd228976b8">PORT_IS_ENABLED</a>(pPort)){</div> <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  denominator+=pPort->sVolume.sVolume.nValue;</div> <div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  }</div> <div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  }</div> <div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div> <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  pPort = (omx_audio_mixer_component_PortType*)omx_audio_mixer_component_Private->ports[pInBuffer-><a class="code" href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html#aa5c1d1e65a5342b23237313803fa0576">nInputPortIndex</a>];</div> <div class="line"><a name="l00173"></a><span class="lineno"> 173</span> </div> <div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="comment">/*Copy the first buffer with appropriate gain*/</span></div> <div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">if</span>(pOutBuffer-><a class="code" href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html#a1bdb4f2d2e541f5f48c0885d2f936c93">nFilledLen</a> == 0) {</div> <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  memset(pOutBuffer-><a class="code" href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html#a676f0fb6d3de86578444edcae4896a04">pBuffer</a>,0,pInBuffer-><a class="code" href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html#a1bdb4f2d2e541f5f48c0885d2f936c93">nFilledLen</a>);</div> <div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div> <div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordflow">for</span> (i = 0; i < sampleCount; i++) {</div> <div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  ((<a class="code" href="_o_m_x___types_8h.html#ad7761a5e2931056da5a5d3ad4e33c54a">OMX_S16</a>*) pOutBuffer-><a class="code" href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html#a676f0fb6d3de86578444edcae4896a04">pBuffer</a>)[i] = (<a class="code" href="_o_m_x___types_8h.html#ad7761a5e2931056da5a5d3ad4e33c54a">OMX_S16</a>)</div> <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  ((((<a class="code" href="_o_m_x___types_8h.html#ad7761a5e2931056da5a5d3ad4e33c54a">OMX_S16</a>*) pInBuffer-><a class="code" href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html#a676f0fb6d3de86578444edcae4896a04">pBuffer</a>)[i] * pPort->sVolume.sVolume.nValue ) / denominator);</div> <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  }</div> <div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  } <span class="keywordflow">else</span> { <span class="comment">// For the second buffer add with the first buffer with gain</span></div> <div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordflow">for</span> (i = 0; i < sampleCount; i++) {</div> <div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  ((<a class="code" href="_o_m_x___types_8h.html#ad7761a5e2931056da5a5d3ad4e33c54a">OMX_S16</a>*) pOutBuffer-><a class="code" href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html#a676f0fb6d3de86578444edcae4896a04">pBuffer</a>)[i] += (<a class="code" href="_o_m_x___types_8h.html#ad7761a5e2931056da5a5d3ad4e33c54a">OMX_S16</a>)</div> <div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  ((((<a class="code" href="_o_m_x___types_8h.html#ad7761a5e2931056da5a5d3ad4e33c54a">OMX_S16</a>*) pInBuffer-><a class="code" href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html#a676f0fb6d3de86578444edcae4896a04">pBuffer</a>)[i] * pPort->sVolume.sVolume.nValue ) / denominator);</div> <div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  }</div> <div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  }</div> <div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div> <div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  pOutBuffer-><a class="code" href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html#a1bdb4f2d2e541f5f48c0885d2f936c93">nFilledLen</a> = pInBuffer-><a class="code" href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html#a1bdb4f2d2e541f5f48c0885d2f936c93">nFilledLen</a>;</div> <div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  pInBuffer-><a class="code" href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html#a1bdb4f2d2e541f5f48c0885d2f936c93">nFilledLen</a>=0;</div> <div class="line"><a name="l00191"></a><span class="lineno"> 191</span> }</div> <div class="line"><a name="l00192"></a><span class="lineno"> 192</span> </div> <div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="omx__audiomixer__component_8h.html#ae37d60299de367f2ed0a2cf0d59f5b63"> 194</a></span> <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629a">OMX_ERRORTYPE</a> <a class="code" href="omx__audiomixer__component_8c.html#ae37d60299de367f2ed0a2cf0d59f5b63">omx_audio_mixer_component_SetConfig</a>(</div> <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <a class="code" href="_o_m_x___types_8h.html#a7b426d7bc825bf8a56ee39dc3c217af7">OMX_HANDLETYPE</a> hComponent,</div> <div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <a class="code" href="_o_m_x___index_8h.html#abc3b6e6cb9a9d5c14cb679ac455ea715">OMX_INDEXTYPE</a> nIndex,</div> <div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <a class="code" href="_o_m_x___types_8h.html#a52f5626b11279ed9a6ce8731abc365be">OMX_PTR</a> pComponentConfigStructure) {</div> <div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div> <div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <a class="code" href="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e.html">OMX_AUDIO_CONFIG_VOLUMETYPE</a>* pVolume;</div> <div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html">OMX_COMPONENTTYPE</a> *openmaxStandComp = (<a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html">OMX_COMPONENTTYPE</a> *)hComponent;</div> <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  omx_audio_mixer_component_PrivateType* omx_audio_mixer_component_Private = openmaxStandComp-><a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#abc8e77802b35b35f7972e9fe7a563ccc">pComponentPrivate</a>;</div> <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  omx_audio_mixer_component_PortType * pPort;</div> <div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629a">OMX_ERRORTYPE</a> <a class="code" href="omxvolcontroltest_8c.html#a756067b481e3ea442bfda1a27ce0a901">err</a> = <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa5c9da0dc80ae827d74da9249806ba53f">OMX_ErrorNone</a>;</div> <div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div> <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <span class="keywordflow">switch</span> (nIndex) {</div> <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">case</span> <a class="code" href="_o_m_x___index_8h.html#abc3b6e6cb9a9d5c14cb679ac455ea715ace7628ba72733f481380dfb1a0f1d7df">OMX_IndexConfigAudioVolume</a> :</div> <div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  pVolume = (<a class="code" href="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e.html">OMX_AUDIO_CONFIG_VOLUMETYPE</a>*) pComponentConfigStructure;</div> <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">if</span>(pVolume-><a class="code" href="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e.html#af6908062071b09281e0eb6f31cb7025d">sVolume</a>.<a class="code" href="struct_o_m_x___b_s32.html#a25f6543a28dab9261a11e4279b20dbdc">nValue</a> > 100) {</div> <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  err = <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aac7eaeea582e8ff5a51bb8abc54c130e0">OMX_ErrorBadParameter</a>;</div> <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  }</div> <div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div> <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="keywordflow">if</span> (pVolume-><a class="code" href="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e.html#a303ebc098d2b1ce3c222bc67098427ef">nPortIndex</a> <= omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts) {</div> <div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  pPort= (omx_audio_mixer_component_PortType *)omx_audio_mixer_component_Private->ports[pVolume-><a class="code" href="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e.html#a303ebc098d2b1ce3c222bc67098427ef">nPortIndex</a>];</div> <div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#abab4d03ab55f2cbfa506529558760d41">DEB_LEV_SIMPLE_SEQ</a>, <span class="stringliteral">"Port %i Gain=%d\n"</span>,(<span class="keywordtype">int</span>)pVolume-><a class="code" href="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e.html#a303ebc098d2b1ce3c222bc67098427ef">nPortIndex</a>,(int)pVolume-><a class="code" href="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e.html#af6908062071b09281e0eb6f31cb7025d">sVolume</a>.<a class="code" href="struct_o_m_x___b_s32.html#a25f6543a28dab9261a11e4279b20dbdc">nValue</a>);</div> <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  memcpy(&pPort->sVolume, pVolume, <span class="keyword">sizeof</span>(<a class="code" href="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e.html">OMX_AUDIO_CONFIG_VOLUMETYPE</a>));</div> <div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  } <span class="keywordflow">else</span> {</div> <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  err = <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa2f103f12c89e2f1bc3b0a5db37ee89e0">OMX_ErrorBadPortIndex</a>;</div> <div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  }</div> <div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordflow">default</span>: <span class="comment">// delegate to superclass</span></div> <div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  err = <a class="code" href="omx__base__component_8c.html#aad8c540d02f632cbd6811235e15dd352">omx_base_component_SetConfig</a>(hComponent, nIndex, pComponentConfigStructure);</div> <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  }</div> <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">return</span> <a class="code" href="omxvolcontroltest_8c.html#a756067b481e3ea442bfda1a27ce0a901">err</a>;</div> <div class="line"><a name="l00225"></a><span class="lineno"> 225</span> }</div> <div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div> <div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="omx__audiomixer__component_8h.html#aca915f1479673cff0bf59e2f6b2ee105"> 227</a></span> <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629a">OMX_ERRORTYPE</a> <a class="code" href="omx__audiomixer__component_8c.html#aca915f1479673cff0bf59e2f6b2ee105">omx_audio_mixer_component_GetConfig</a>(</div> <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <a class="code" href="_o_m_x___types_8h.html#a7b426d7bc825bf8a56ee39dc3c217af7">OMX_HANDLETYPE</a> hComponent,</div> <div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <a class="code" href="_o_m_x___index_8h.html#abc3b6e6cb9a9d5c14cb679ac455ea715">OMX_INDEXTYPE</a> nIndex,</div> <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <a class="code" href="_o_m_x___types_8h.html#a52f5626b11279ed9a6ce8731abc365be">OMX_PTR</a> pComponentConfigStructure) {</div> <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <a class="code" href="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e.html">OMX_AUDIO_CONFIG_VOLUMETYPE</a> *pVolume;</div> <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html">OMX_COMPONENTTYPE</a> *openmaxStandComp = (<a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html">OMX_COMPONENTTYPE</a> *)hComponent;</div> <div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  omx_audio_mixer_component_PrivateType *omx_audio_mixer_component_Private = openmaxStandComp-><a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#abc8e77802b35b35f7972e9fe7a563ccc">pComponentPrivate</a>;</div> <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  omx_audio_mixer_component_PortType *pPort;</div> <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629a">OMX_ERRORTYPE</a> <a class="code" href="omxvolcontroltest_8c.html#a756067b481e3ea442bfda1a27ce0a901">err</a> = <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa5c9da0dc80ae827d74da9249806ba53f">OMX_ErrorNone</a>;</div> <div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div> <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">switch</span> (nIndex) {</div> <div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <span class="keywordflow">case</span> <a class="code" href="_o_m_x___index_8h.html#abc3b6e6cb9a9d5c14cb679ac455ea715ace7628ba72733f481380dfb1a0f1d7df">OMX_IndexConfigAudioVolume</a> :</div> <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  pVolume = (<a class="code" href="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e.html">OMX_AUDIO_CONFIG_VOLUMETYPE</a>*) pComponentConfigStructure;</div> <div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">if</span> (pVolume-><a class="code" href="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e.html#a303ebc098d2b1ce3c222bc67098427ef">nPortIndex</a> <= omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts) {</div> <div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  pPort= (omx_audio_mixer_component_PortType *)omx_audio_mixer_component_Private->ports[pVolume-><a class="code" href="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e.html#a303ebc098d2b1ce3c222bc67098427ef">nPortIndex</a>];</div> <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  memcpy(pVolume,&pPort-><a class="code" href="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e.html#af6908062071b09281e0eb6f31cb7025d">sVolume</a>,<span class="keyword">sizeof</span>(<a class="code" href="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e.html">OMX_AUDIO_CONFIG_VOLUMETYPE</a>));</div> <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  } <span class="keywordflow">else</span> {</div> <div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  err = <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa2f103f12c89e2f1bc3b0a5db37ee89e0">OMX_ErrorBadPortIndex</a>;</div> <div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  }</div> <div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">default</span> :</div> <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  err = <a class="code" href="omx__base__component_8c.html#adb55447e5f101220cb32f7afc29efbed">omx_base_component_GetConfig</a>(hComponent, nIndex, pComponentConfigStructure);</div> <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  }</div> <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">return</span> <a class="code" href="omxvolcontroltest_8c.html#a756067b481e3ea442bfda1a27ce0a901">err</a>;</div> <div class="line"><a name="l00251"></a><span class="lineno"> 251</span> }</div> <div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div> <div class="line"><a name="l00253"></a><span class="lineno"><a class="line" href="omx__audiomixer__component_8h.html#ab87f0da6dea6224806ceaf4c6cc23aea"> 253</a></span> <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629a">OMX_ERRORTYPE</a> <a class="code" href="omx__audiomixer__component_8c.html#ab87f0da6dea6224806ceaf4c6cc23aea">omx_audio_mixer_component_SetParameter</a>(</div> <div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <a class="code" href="_o_m_x___types_8h.html#a7b426d7bc825bf8a56ee39dc3c217af7">OMX_HANDLETYPE</a> hComponent,</div> <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <a class="code" href="_o_m_x___index_8h.html#abc3b6e6cb9a9d5c14cb679ac455ea715">OMX_INDEXTYPE</a> nParamIndex,</div> <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="code" href="_o_m_x___types_8h.html#a52f5626b11279ed9a6ce8731abc365be">OMX_PTR</a> ComponentParameterStructure) {</div> <div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div> <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629a">OMX_ERRORTYPE</a> <a class="code" href="omxvolcontroltest_8c.html#a756067b481e3ea442bfda1a27ce0a901">err</a> = <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa5c9da0dc80ae827d74da9249806ba53f">OMX_ErrorNone</a>;</div> <div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <a class="code" href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_o_r_t_f_o_r_m_a_t_t_y_p_e.html">OMX_AUDIO_PARAM_PORTFORMATTYPE</a> *pAudioPortFormat;</div> <div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <a class="code" href="struct_o_m_x___p_a_r_a_m___c_o_m_p_o_n_e_n_t_r_o_l_e_t_y_p_e.html">OMX_PARAM_COMPONENTROLETYPE</a> *pComponentRole;</div> <div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <a class="code" href="_o_m_x___types_8h.html#a04983f4ca9c7876035dffc578597eae3">OMX_U32</a> portIndex;</div> <div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  omx_audio_mixer_component_PortType *port;</div> <div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div> <div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="comment">/* Check which structure we are being fed and make control its header */</span></div> <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html">OMX_COMPONENTTYPE</a> *openmaxStandComp = (<a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html">OMX_COMPONENTTYPE</a> *)hComponent;</div> <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  omx_audio_mixer_component_PrivateType* omx_audio_mixer_component_Private = openmaxStandComp-><a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#abc8e77802b35b35f7972e9fe7a563ccc">pComponentPrivate</a>;</div> <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keywordflow">if</span> (ComponentParameterStructure == NULL) {</div> <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">return</span> <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aac7eaeea582e8ff5a51bb8abc54c130e0">OMX_ErrorBadParameter</a>;</div> <div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  }</div> <div class="line"><a name="l00270"></a><span class="lineno"> 270</span> </div> <div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#abab4d03ab55f2cbfa506529558760d41">DEB_LEV_SIMPLE_SEQ</a>, <span class="stringliteral">" Setting parameter %i\n"</span>, nParamIndex);</div> <div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordflow">switch</span>(nParamIndex) {</div> <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordflow">case</span> <a class="code" href="_o_m_x___index_8h.html#abc3b6e6cb9a9d5c14cb679ac455ea715a06f041880e6455e605e56505cb58b431">OMX_IndexParamAudioPortFormat</a>:</div> <div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  pAudioPortFormat = (<a class="code" href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_o_r_t_f_o_r_m_a_t_t_y_p_e.html">OMX_AUDIO_PARAM_PORTFORMATTYPE</a>*)ComponentParameterStructure;</div> <div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  portIndex = pAudioPortFormat-><a class="code" href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_o_r_t_f_o_r_m_a_t_t_y_p_e.html#a395451135c65e259ba9422cb494defc9">nPortIndex</a>;</div> <div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  err = <a class="code" href="omx__base__component_8c.html#a8e2ec4ddad3fbb59cccdfefec3cb3b57">omx_base_component_ParameterSanityCheck</a>(hComponent, portIndex, pAudioPortFormat, <span class="keyword">sizeof</span>(<a class="code" href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_o_r_t_f_o_r_m_a_t_t_y_p_e.html">OMX_AUDIO_PARAM_PORTFORMATTYPE</a>));</div> <div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">if</span>(err!=<a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa5c9da0dc80ae827d74da9249806ba53f">OMX_ErrorNone</a>) {</div> <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#aba38c1ee85ec93b3dc63678f16e95e2e">DEB_LEV_ERR</a>, <span class="stringliteral">"In %s Parameter Check Error=%x\n"</span>,__func__,err);</div> <div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  }</div> <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">if</span> (portIndex <= omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts) {</div> <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  port= (omx_audio_mixer_component_PortType *)omx_audio_mixer_component_Private->ports[portIndex];</div> <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  memcpy(&port->sAudioParam, pAudioPortFormat, <span class="keyword">sizeof</span>(<a class="code" href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_o_r_t_f_o_r_m_a_t_t_y_p_e.html">OMX_AUDIO_PARAM_PORTFORMATTYPE</a>));</div> <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  } <span class="keywordflow">else</span> {</div> <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  err = <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa2f103f12c89e2f1bc3b0a5db37ee89e0">OMX_ErrorBadPortIndex</a>;</div> <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  }</div> <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">case</span> <a class="code" href="_o_m_x___index_8h.html#abc3b6e6cb9a9d5c14cb679ac455ea715a97b28d8b48af395a944bf20f1e7399cc">OMX_IndexParamStandardComponentRole</a>:</div> <div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  pComponentRole = (<a class="code" href="struct_o_m_x___p_a_r_a_m___c_o_m_p_o_n_e_n_t_r_o_l_e_t_y_p_e.html">OMX_PARAM_COMPONENTROLETYPE</a>*)ComponentParameterStructure;</div> <div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div> <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordflow">if</span> (omx_audio_mixer_component_Private->state != <a class="code" href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9a9451f308f17785a8b768817eb4faa7c6">OMX_StateLoaded</a> && omx_audio_mixer_component_Private->state != <a class="code" href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9a64bed325d94b49150e505034a6b4ee11">OMX_StateWaitForResources</a>) {</div> <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#aba38c1ee85ec93b3dc63678f16e95e2e">DEB_LEV_ERR</a>, <span class="stringliteral">"In %s Incorrect State=%x lineno=%d\n"</span>,__func__,omx_audio_mixer_component_Private->state,__LINE__);</div> <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keywordflow">return</span> <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aaeb8784a5b09cd9c0b4aa49f1adb768d4">OMX_ErrorIncorrectStateOperation</a>;</div> <div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  }</div> <div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div> <div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordflow">if</span> ((err = <a class="code" href="omx__base__component_8c.html#ae1a8e6fa1f9efc4f846617b487f8b97e">checkHeader</a>(ComponentParameterStructure, <span class="keyword">sizeof</span>(<a class="code" href="struct_o_m_x___p_a_r_a_m___c_o_m_p_o_n_e_n_t_r_o_l_e_t_y_p_e.html">OMX_PARAM_COMPONENTROLETYPE</a>))) != <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa5c9da0dc80ae827d74da9249806ba53f">OMX_ErrorNone</a>) {</div> <div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  }</div> <div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div> <div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordflow">if</span> (strcmp( (<span class="keywordtype">char</span>*) pComponentRole-><a class="code" href="struct_o_m_x___p_a_r_a_m___c_o_m_p_o_n_e_n_t_r_o_l_e_t_y_p_e.html#a7f8494b0b601d83e86a6ecc8f14f11bc">cRole</a>, <a class="code" href="omx__audiomixer__component_8h.html#abd50491aa869cd6526b93c548ce22262">MIXER_COMP_ROLE</a>)) {</div> <div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keywordflow">return</span> <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aac7eaeea582e8ff5a51bb8abc54c130e0">OMX_ErrorBadParameter</a>;</div> <div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  }</div> <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordflow">default</span>:</div> <div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  err = <a class="code" href="omx__base__component_8c.html#a6a0a3b2c41c0ef12b394b691c2f238f3">omx_base_component_SetParameter</a>(hComponent, nParamIndex, ComponentParameterStructure);</div> <div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  }</div> <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordflow">return</span> <a class="code" href="omxvolcontroltest_8c.html#a756067b481e3ea442bfda1a27ce0a901">err</a>;</div> <div class="line"><a name="l00308"></a><span class="lineno"> 308</span> }</div> <div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div> <div class="line"><a name="l00310"></a><span class="lineno"><a class="line" href="omx__audiomixer__component_8h.html#a171523b3c6e884d7139c938dc9b37f39"> 310</a></span> <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629a">OMX_ERRORTYPE</a> <a class="code" href="omx__audiomixer__component_8c.html#a171523b3c6e884d7139c938dc9b37f39">omx_audio_mixer_component_GetParameter</a>(</div> <div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  <a class="code" href="_o_m_x___types_8h.html#a7b426d7bc825bf8a56ee39dc3c217af7">OMX_HANDLETYPE</a> hComponent,</div> <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <a class="code" href="_o_m_x___index_8h.html#abc3b6e6cb9a9d5c14cb679ac455ea715">OMX_INDEXTYPE</a> nParamIndex,</div> <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <a class="code" href="_o_m_x___types_8h.html#a52f5626b11279ed9a6ce8731abc365be">OMX_PTR</a> ComponentParameterStructure) {</div> <div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div> <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <a class="code" href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_o_r_t_f_o_r_m_a_t_t_y_p_e.html">OMX_AUDIO_PARAM_PORTFORMATTYPE</a> *pAudioPortFormat;</div> <div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  <a class="code" href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_c_m_m_o_d_e_t_y_p_e.html">OMX_AUDIO_PARAM_PCMMODETYPE</a> *pAudioPcmMode;</div> <div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <a class="code" href="struct_o_m_x___p_a_r_a_m___c_o_m_p_o_n_e_n_t_r_o_l_e_t_y_p_e.html">OMX_PARAM_COMPONENTROLETYPE</a> *pComponentRole;</div> <div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629a">OMX_ERRORTYPE</a> <a class="code" href="omxvolcontroltest_8c.html#a756067b481e3ea442bfda1a27ce0a901">err</a> = <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa5c9da0dc80ae827d74da9249806ba53f">OMX_ErrorNone</a>;</div> <div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  omx_audio_mixer_component_PortType *port;</div> <div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html">OMX_COMPONENTTYPE</a> *openmaxStandComp = (<a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html">OMX_COMPONENTTYPE</a> *)hComponent;</div> <div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  omx_audio_mixer_component_PrivateType *omx_audio_mixer_component_Private = openmaxStandComp-><a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#abc8e77802b35b35f7972e9fe7a563ccc">pComponentPrivate</a>;</div> <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">if</span> (ComponentParameterStructure == NULL) {</div> <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="keywordflow">return</span> <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aac7eaeea582e8ff5a51bb8abc54c130e0">OMX_ErrorBadParameter</a>;</div> <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  }</div> <div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#abab4d03ab55f2cbfa506529558760d41">DEB_LEV_SIMPLE_SEQ</a>, <span class="stringliteral">" Getting parameter %i\n"</span>, nParamIndex);</div> <div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="comment">/* Check which structure we are being fed and fill its header */</span></div> <div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keywordflow">switch</span>(nParamIndex) {</div> <div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  <span class="keywordflow">case</span> <a class="code" href="_o_m_x___index_8h.html#abc3b6e6cb9a9d5c14cb679ac455ea715a65798294180a94f6190b6e7589adb570">OMX_IndexParamAudioInit</a>:</div> <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordflow">if</span> ((err = <a class="code" href="omx__base__component_8c.html#ae1a8e6fa1f9efc4f846617b487f8b97e">checkHeader</a>(ComponentParameterStructure, <span class="keyword">sizeof</span>(<a class="code" href="struct_o_m_x___p_o_r_t___p_a_r_a_m___t_y_p_e.html">OMX_PORT_PARAM_TYPE</a>))) != <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa5c9da0dc80ae827d74da9249806ba53f">OMX_ErrorNone</a>) {</div> <div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  }</div> <div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  memcpy(ComponentParameterStructure, &omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>], <span class="keyword">sizeof</span>(<a class="code" href="struct_o_m_x___p_o_r_t___p_a_r_a_m___t_y_p_e.html">OMX_PORT_PARAM_TYPE</a>));</div> <div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="keywordflow">case</span> <a class="code" href="_o_m_x___index_8h.html#abc3b6e6cb9a9d5c14cb679ac455ea715a06f041880e6455e605e56505cb58b431">OMX_IndexParamAudioPortFormat</a>:</div> <div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  pAudioPortFormat = (<a class="code" href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_o_r_t_f_o_r_m_a_t_t_y_p_e.html">OMX_AUDIO_PARAM_PORTFORMATTYPE</a>*)ComponentParameterStructure;</div> <div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <span class="keywordflow">if</span> ((err = <a class="code" href="omx__base__component_8c.html#ae1a8e6fa1f9efc4f846617b487f8b97e">checkHeader</a>(ComponentParameterStructure, <span class="keyword">sizeof</span>(<a class="code" href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_o_r_t_f_o_r_m_a_t_t_y_p_e.html">OMX_AUDIO_PARAM_PORTFORMATTYPE</a>))) != <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa5c9da0dc80ae827d74da9249806ba53f">OMX_ErrorNone</a>) {</div> <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  }</div> <div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  <span class="keywordflow">if</span> (pAudioPortFormat-><a class="code" href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_o_r_t_f_o_r_m_a_t_t_y_p_e.html#a395451135c65e259ba9422cb494defc9">nPortIndex</a> <= omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts) {</div> <div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  port= (omx_audio_mixer_component_PortType *)omx_audio_mixer_component_Private->ports[pAudioPortFormat-><a class="code" href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_o_r_t_f_o_r_m_a_t_t_y_p_e.html#a395451135c65e259ba9422cb494defc9">nPortIndex</a>];</div> <div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  memcpy(pAudioPortFormat, &port->sAudioParam, <span class="keyword">sizeof</span>(<a class="code" href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_o_r_t_f_o_r_m_a_t_t_y_p_e.html">OMX_AUDIO_PARAM_PORTFORMATTYPE</a>));</div> <div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  } <span class="keywordflow">else</span> {</div> <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  err = <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa2f103f12c89e2f1bc3b0a5db37ee89e0">OMX_ErrorBadPortIndex</a>;</div> <div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  }</div> <div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">case</span> <a class="code" href="_o_m_x___index_8h.html#abc3b6e6cb9a9d5c14cb679ac455ea715ad7bc2a2b56efb4948d99fd39d7719676">OMX_IndexParamAudioPcm</a>:</div> <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  pAudioPcmMode = (<a class="code" href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_c_m_m_o_d_e_t_y_p_e.html">OMX_AUDIO_PARAM_PCMMODETYPE</a>*)ComponentParameterStructure;</div> <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">if</span> ((err = <a class="code" href="omx__base__component_8c.html#ae1a8e6fa1f9efc4f846617b487f8b97e">checkHeader</a>(ComponentParameterStructure, <span class="keyword">sizeof</span>(<a class="code" href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_c_m_m_o_d_e_t_y_p_e.html">OMX_AUDIO_PARAM_PCMMODETYPE</a>))) != <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa5c9da0dc80ae827d74da9249806ba53f">OMX_ErrorNone</a>) {</div> <div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  }</div> <div class="line"><a name="l00351"></a><span class="lineno"> 351</span> </div> <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keywordflow">if</span> (pAudioPcmMode-><a class="code" href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_c_m_m_o_d_e_t_y_p_e.html#a289f0b9323bb2adf978288700fd4a447">nPortIndex</a> <= omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts) {</div> <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  port= (omx_audio_mixer_component_PortType *)omx_audio_mixer_component_Private->ports[pAudioPcmMode-><a class="code" href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_c_m_m_o_d_e_t_y_p_e.html#a289f0b9323bb2adf978288700fd4a447">nPortIndex</a>];</div> <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  memcpy(pAudioPcmMode, &port->pAudioPcmMode, <span class="keyword">sizeof</span>(<a class="code" href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_c_m_m_o_d_e_t_y_p_e.html">OMX_AUDIO_PARAM_PCMMODETYPE</a>));</div> <div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  } <span class="keywordflow">else</span> {</div> <div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  err = <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa2f103f12c89e2f1bc3b0a5db37ee89e0">OMX_ErrorBadPortIndex</a>;</div> <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  }</div> <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">case</span> <a class="code" href="_o_m_x___index_8h.html#abc3b6e6cb9a9d5c14cb679ac455ea715a97b28d8b48af395a944bf20f1e7399cc">OMX_IndexParamStandardComponentRole</a>:</div> <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  pComponentRole = (<a class="code" href="struct_o_m_x___p_a_r_a_m___c_o_m_p_o_n_e_n_t_r_o_l_e_t_y_p_e.html">OMX_PARAM_COMPONENTROLETYPE</a>*)ComponentParameterStructure;</div> <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="keywordflow">if</span> ((err = <a class="code" href="omx__base__component_8c.html#ae1a8e6fa1f9efc4f846617b487f8b97e">checkHeader</a>(ComponentParameterStructure, <span class="keyword">sizeof</span>(<a class="code" href="struct_o_m_x___p_a_r_a_m___c_o_m_p_o_n_e_n_t_r_o_l_e_t_y_p_e.html">OMX_PARAM_COMPONENTROLETYPE</a>))) != <a class="code" href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa5c9da0dc80ae827d74da9249806ba53f">OMX_ErrorNone</a>) {</div> <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  }</div> <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  strcpy( (<span class="keywordtype">char</span>*) pComponentRole-><a class="code" href="struct_o_m_x___p_a_r_a_m___c_o_m_p_o_n_e_n_t_r_o_l_e_t_y_p_e.html#a7f8494b0b601d83e86a6ecc8f14f11bc">cRole</a>, <a class="code" href="omx__audiomixer__component_8h.html#abd50491aa869cd6526b93c548ce22262">MIXER_COMP_ROLE</a>);</div> <div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">default</span>:</div> <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  err = <a class="code" href="omx__base__component_8c.html#aa6a9e2d69b4e4ae6e1963d6d3c8caff6">omx_base_component_GetParameter</a>(hComponent, nParamIndex, ComponentParameterStructure);</div> <div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  }</div> <div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keywordflow">return</span> <a class="code" href="omxvolcontroltest_8c.html#a756067b481e3ea442bfda1a27ce0a901">err</a>;</div> <div class="line"><a name="l00370"></a><span class="lineno"> 370</span> }</div> <div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div> <div class="line"><a name="l00372"></a><span class="lineno"><a class="line" href="omx__audiomixer__component_8c.html#a8634023fb605e98b1ace868169f6f854"> 372</a></span> <span class="keywordtype">int</span> <a class="code" href="omx__audiomixer__component_8c.html#a8634023fb605e98b1ace868169f6f854">checkAnyPortBeingFlushed</a>(omx_audio_mixer_component_PrivateType* omx_audio_mixer_component_Private) {</div> <div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <a class="code" href="structomx__base___port_type.html">omx_base_PortType</a> *pPort;</div> <div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  <span class="keywordtype">int</span> ret = <a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277bae32d6ae989533bc97bec6620fdbcb59b">OMX_FALSE</a>,i;</div> <div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div> <div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  <span class="keywordflow">if</span>(omx_audio_mixer_component_Private->state == <a class="code" href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9a9451f308f17785a8b768817eb4faa7c6">OMX_StateLoaded</a> ||</div> <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  omx_audio_mixer_component_Private->state == <a class="code" href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9ab9a046cf692b4a48d40c503edbac925f">OMX_StateInvalid</a>) {</div> <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keywordflow">return</span> 0;</div> <div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  }</div> <div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div> <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  pthread_mutex_lock(&omx_audio_mixer_component_Private->flush_mutex);</div> <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keywordflow">for</span> (i=0; i < omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts; i++) {</div> <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  pPort = omx_audio_mixer_component_Private->ports[i];</div> <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <span class="keywordflow">if</span>(<a class="code" href="omx__base__port_8h.html#adb1b7ed45bd0dbf4e2ef8b3714f99916">PORT_IS_BEING_FLUSHED</a>(pPort)) {</div> <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  ret = <a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277babd8e08f19e313ba740188e0643ed08db">OMX_TRUE</a>;</div> <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  }</div> <div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  }</div> <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  pthread_mutex_unlock(&omx_audio_mixer_component_Private->flush_mutex);</div> <div class="line"><a name="l00390"></a><span class="lineno"> 390</span> </div> <div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  <span class="keywordflow">return</span> ret;</div> <div class="line"><a name="l00392"></a><span class="lineno"> 392</span> }</div> <div class="line"><a name="l00393"></a><span class="lineno"> 393</span> </div> <div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="omx__audiomixer__component_8h.html#a7ebd6c69e7580b8850378911e4fda0a1"> 399</a></span> <span class="keywordtype">void</span>* <a class="code" href="omx__audiomixer__component_8c.html#a7ebd6c69e7580b8850378911e4fda0a1">omx_audio_mixer_BufferMgmtFunction</a> (<span class="keywordtype">void</span>* param) {</div> <div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html">OMX_COMPONENTTYPE</a>* openmaxStandComp = (<a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html">OMX_COMPONENTTYPE</a>*)param;</div> <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  omx_audio_mixer_component_PrivateType* omx_audio_mixer_component_Private = (omx_audio_mixer_component_PrivateType*)openmaxStandComp-><a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#abc8e77802b35b35f7972e9fe7a563ccc">pComponentPrivate</a>;</div> <div class="line"><a name="l00402"></a><span class="lineno"> 402</span> </div> <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <a class="code" href="structomx__base___port_type.html">omx_base_PortType</a> *pPort[<a class="code" href="omx__audiomixer__component_8h.html#a40ad70cc6e2125af9340a4bc26a83764">MAX_PORTS</a>];</div> <div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  <a class="code" href="structtsem__t.html">tsem_t</a>* pSem[<a class="code" href="omx__audiomixer__component_8h.html#a40ad70cc6e2125af9340a4bc26a83764">MAX_PORTS</a>];</div> <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <a class="code" href="structqueue__t.html">queue_t</a>* pQueue[<a class="code" href="omx__audiomixer__component_8h.html#a40ad70cc6e2125af9340a4bc26a83764">MAX_PORTS</a>];</div> <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <a class="code" href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html">OMX_BUFFERHEADERTYPE</a>* pBuffer[<a class="code" href="omx__audiomixer__component_8h.html#a40ad70cc6e2125af9340a4bc26a83764">MAX_PORTS</a>];</div> <div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  <a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277b">OMX_BOOL</a> isBufferNeeded[<a class="code" href="omx__audiomixer__component_8h.html#a40ad70cc6e2125af9340a4bc26a83764">MAX_PORTS</a>];</div> <div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html">OMX_COMPONENTTYPE</a>* target_component;</div> <div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  <a class="code" href="_o_m_x___types_8h.html#a04983f4ca9c7876035dffc578597eae3">OMX_U32</a> nOutputPortIndex,i;</div> <div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div> <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <span class="keywordflow">for</span>(i=0;i<omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts;i++){</div> <div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  pPort[i] = omx_audio_mixer_component_Private->ports[i];</div> <div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  pSem[i] = pPort[i]->pBufferSem;</div> <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  pQueue[i] = pPort[i]->pBufferQueue;</div> <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  pBuffer[i] = NULL;</div> <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  isBufferNeeded[i] = <a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277babd8e08f19e313ba740188e0643ed08db">OMX_TRUE</a>;</div> <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  }</div> <div class="line"><a name="l00418"></a><span class="lineno"> 418</span> </div> <div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  nOutputPortIndex = omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts - 1;</div> <div class="line"><a name="l00420"></a><span class="lineno"> 420</span> </div> <div class="line"><a name="l00421"></a><span class="lineno"> 421</span> </div> <div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#aa526b7c349a5bbeb49ca3483b3e908e2">DEB_LEV_FUNCTION_NAME</a>, <span class="stringliteral">"In %s\n"</span>, __func__);</div> <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <span class="keywordflow">while</span>(omx_audio_mixer_component_Private->state == <a class="code" href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9ae87dd9fa7603290b4cd4dafdc104e969">OMX_StateIdle</a> || omx_audio_mixer_component_Private->state == <a class="code" href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9a23edc3556e82e981ad41f7ab9d8ea08e">OMX_StateExecuting</a> || omx_audio_mixer_component_Private->state == <a class="code" href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9affa2690a3c872ec899622e45f04df7e3">OMX_StatePause</a> ||</div> <div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  omx_audio_mixer_component_Private->transientState == <a class="code" href="omx__base__component_8h.html#af1c9703469f22387dad26dafc826fab6afa0f8f8a342f0e10da77d5c3baad8611">OMX_TransStateLoadedToIdle</a>) {</div> <div class="line"><a name="l00425"></a><span class="lineno"> 425</span> </div> <div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <span class="comment">/*Wait till the ports are being flushed*/</span></div> <div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <span class="keywordflow">while</span>( <a class="code" href="omx__audiomixer__component_8c.html#a8634023fb605e98b1ace868169f6f854">checkAnyPortBeingFlushed</a>(omx_audio_mixer_component_Private) ) {</div> <div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div> <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#abae5dba77ef10b16efc17f8e81958e04">DEB_LEV_FULL_SEQ</a>, <span class="stringliteral">"In %s 1 signalling flush all cond iF=%d,oF=%d iSemVal=%d,oSemval=%d\n"</span>,</div> <div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  __func__,isBufferNeeded[0],isBufferNeeded[nOutputPortIndex],pSem[0]->semval,pSem[nOutputPortIndex]->semval);</div> <div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div> <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="keywordflow">for</span>(i=0;i<omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts;i++){</div> <div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="keywordflow">if</span>(isBufferNeeded[i]==<a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277bae32d6ae989533bc97bec6620fdbcb59b">OMX_FALSE</a> && <a class="code" href="omx__base__port_8h.html#adb1b7ed45bd0dbf4e2ef8b3714f99916">PORT_IS_BEING_FLUSHED</a>(pPort[i])) {</div> <div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  pPort[i]->ReturnBufferFunction(pPort[i],pBuffer[i]);</div> <div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  pBuffer[i]=NULL;</div> <div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  isBufferNeeded[i]=<a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277babd8e08f19e313ba740188e0643ed08db">OMX_TRUE</a>;</div> <div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#abae5dba77ef10b16efc17f8e81958e04">DEB_LEV_FULL_SEQ</a>, <span class="stringliteral">"Ports are flushing,so returning buffer %i\n"</span>,(<span class="keywordtype">int</span>)i);</div> <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  }</div> <div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  }</div> <div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div> <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#abae5dba77ef10b16efc17f8e81958e04">DEB_LEV_FULL_SEQ</a>, <span class="stringliteral">"In %s 2 signalling flush all cond iF=%d,oF=%d iSemVal=%d,oSemval=%d\n"</span>,</div> <div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  __func__,isBufferNeeded[0],isBufferNeeded[nOutputPortIndex],pSem[0]->semval,pSem[nOutputPortIndex]->semval);</div> <div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div> <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <a class="code" href="tsemaphore_8c.html#a64d778846c9eb62d0d67db26bbdc9cf0">tsem_up</a>(omx_audio_mixer_component_Private->flush_all_condition);</div> <div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <a class="code" href="tsemaphore_8c.html#ac3aff783e32ae9d0736ba38d76e62be1">tsem_down</a>(omx_audio_mixer_component_Private->flush_condition);</div> <div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  }</div> <div class="line"><a name="l00447"></a><span class="lineno"> 447</span> </div> <div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <span class="keywordflow">if</span>(omx_audio_mixer_component_Private->state == <a class="code" href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9a9451f308f17785a8b768817eb4faa7c6">OMX_StateLoaded</a> || omx_audio_mixer_component_Private->state == <a class="code" href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9ab9a046cf692b4a48d40c503edbac925f">OMX_StateInvalid</a>) {</div> <div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#abab4d03ab55f2cbfa506529558760d41">DEB_LEV_SIMPLE_SEQ</a>, <span class="stringliteral">"In %s Buffer Management Thread is exiting\n"</span>,__func__);</div> <div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  }</div> <div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div> <div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  <span class="comment">/*No buffer to process. So wait here*/</span></div> <div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <span class="keywordflow">for</span>(i=0;i<omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts;i++){</div> <div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">if</span>((isBufferNeeded[i]==<a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277babd8e08f19e313ba740188e0643ed08db">OMX_TRUE</a> && pSem[i]->semval==0) &&</div> <div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  (omx_audio_mixer_component_Private->state != <a class="code" href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9a9451f308f17785a8b768817eb4faa7c6">OMX_StateLoaded</a> && omx_audio_mixer_component_Private->state != <a class="code" href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9ab9a046cf692b4a48d40c503edbac925f">OMX_StateInvalid</a>) &&</div> <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <a class="code" href="omx__base__port_8h.html#a96b9870fce37d9a71f49a4bd228976b8">PORT_IS_ENABLED</a>(pPort[i]) && !<a class="code" href="omx__base__port_8h.html#adb1b7ed45bd0dbf4e2ef8b3714f99916">PORT_IS_BEING_FLUSHED</a>(pPort[i])) {</div> <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="comment">//Signalled from EmptyThisBuffer or FillThisBuffer or some thing else</span></div> <div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#abae5dba77ef10b16efc17f8e81958e04">DEB_LEV_FULL_SEQ</a>, <span class="stringliteral">"Waiting for next input/output buffer\n"</span>);</div> <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <a class="code" href="tsemaphore_8c.html#ac3aff783e32ae9d0736ba38d76e62be1">tsem_down</a>(omx_audio_mixer_component_Private->bMgmtSem);</div> <div class="line"><a name="l00461"></a><span class="lineno"> 461</span> </div> <div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  }</div> <div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <span class="comment">/*Don't wait for buffers, if any port is flushing*/</span></div> <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="keywordflow">if</span>(<a class="code" href="omx__audiomixer__component_8c.html#a8634023fb605e98b1ace868169f6f854">checkAnyPortBeingFlushed</a>(omx_audio_mixer_component_Private)) {</div> <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  }</div> <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <span class="keywordflow">if</span>(omx_audio_mixer_component_Private->state == <a class="code" href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9a9451f308f17785a8b768817eb4faa7c6">OMX_StateLoaded</a> || omx_audio_mixer_component_Private->state == <a class="code" href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9ab9a046cf692b4a48d40c503edbac925f">OMX_StateInvalid</a>) {</div> <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#abab4d03ab55f2cbfa506529558760d41">DEB_LEV_SIMPLE_SEQ</a>, <span class="stringliteral">"In %s Buffer Management Thread is exiting\n"</span>,__func__);</div> <div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  }</div> <div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  }</div> <div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div> <div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keywordflow">for</span>(i=0;i<omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts;i++){</div> <div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#abab4d03ab55f2cbfa506529558760d41">DEB_LEV_SIMPLE_SEQ</a>, <span class="stringliteral">"Waiting for buffer %i semval=%d \n"</span>,(<span class="keywordtype">int</span>)i,pSem[i]->semval);</div> <div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  <span class="keywordflow">if</span>(pSem[i]->semval>0 && isBufferNeeded[i]==<a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277babd8e08f19e313ba740188e0643ed08db">OMX_TRUE</a> && <a class="code" href="omx__base__port_8h.html#a96b9870fce37d9a71f49a4bd228976b8">PORT_IS_ENABLED</a>(pPort[i])) {</div> <div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <a class="code" href="tsemaphore_8c.html#ac3aff783e32ae9d0736ba38d76e62be1">tsem_down</a>(pSem[i]);</div> <div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <span class="keywordflow">if</span>(pQueue[i]->nelem>0){</div> <div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  isBufferNeeded[i]=<a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277bae32d6ae989533bc97bec6620fdbcb59b">OMX_FALSE</a>;</div> <div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  pBuffer[i] = <a class="code" href="queue_8c.html#ada3e91c280824049e9aaa8bb9439bc91">dequeue</a>(pQueue[i]);</div> <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="keywordflow">if</span>(pBuffer[i] == NULL){</div> <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#aba38c1ee85ec93b3dc63678f16e95e2e">DEB_LEV_ERR</a>, <span class="stringliteral">"Had NULL input buffer!!\n"</span>);</div> <div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="keywordflow">break</span>;</div> <div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  }</div> <div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  }</div> <div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  }</div> <div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  }</div> <div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div> <div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keywordflow">if</span>(isBufferNeeded[nOutputPortIndex]==<a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277bae32d6ae989533bc97bec6620fdbcb59b">OMX_FALSE</a>) {</div> <div class="line"><a name="l00489"></a><span class="lineno"> 489</span> </div> <div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="keywordflow">if</span>(omx_audio_mixer_component_Private->pMark.hMarkTargetComponent != NULL){</div> <div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  pBuffer[nOutputPortIndex]->hMarkTargetComponent = omx_audio_mixer_component_Private->pMark.hMarkTargetComponent;</div> <div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  pBuffer[nOutputPortIndex]->pMarkData = omx_audio_mixer_component_Private->pMark.pMarkData;</div> <div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  omx_audio_mixer_component_Private->pMark.hMarkTargetComponent = NULL;</div> <div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  omx_audio_mixer_component_Private->pMark.pMarkData = NULL;</div> <div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  }</div> <div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordflow">for</span>(i=0;i<omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts-1;i++){</div> <div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <span class="keywordflow">if</span>(isBufferNeeded[i]==<a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277bae32d6ae989533bc97bec6620fdbcb59b">OMX_FALSE</a> && <a class="code" href="omx__base__port_8h.html#a96b9870fce37d9a71f49a4bd228976b8">PORT_IS_ENABLED</a>(pPort[i])) {</div> <div class="line"><a name="l00498"></a><span class="lineno"> 498</span> </div> <div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <span class="keywordflow">if</span>(isBufferNeeded[i]==<a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277bae32d6ae989533bc97bec6620fdbcb59b">OMX_FALSE</a>) {</div> <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  target_component=(<a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html">OMX_COMPONENTTYPE</a>*)pBuffer[i]->hMarkTargetComponent;</div> <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="keywordflow">if</span>(target_component==(<a class="code" href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html">OMX_COMPONENTTYPE</a> *)openmaxStandComp) {</div> <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="comment">/*Clear the mark and generate an event*/</span></div> <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  (*(omx_audio_mixer_component_Private->callbacks->EventHandler))</div> <div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  (openmaxStandComp,</div> <div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  omx_audio_mixer_component_Private->callbackData,</div> <div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <a class="code" href="group__comp.html#ggaf9babc952e96b0b7e47efa208ef3fb83a29c0aac8a2b5fe120b7bc0ea4ab2ab19">OMX_EventMark</a>, <span class="comment">/* The command was completed */</span></div> <div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  1, <span class="comment">/* The commands was a OMX_CommandStateSet */</span></div> <div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  0, <span class="comment">/* The state has been changed in message->messageParam2 */</span></div> <div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  pBuffer[i]->pMarkData);</div> <div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(pBuffer[i]->hMarkTargetComponent!=NULL){</div> <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <span class="comment">/*If this is not the target component then pass the mark*/</span></div> <div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  pBuffer[nOutputPortIndex]->hMarkTargetComponent = pBuffer[i]->hMarkTargetComponent;</div> <div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  pBuffer[nOutputPortIndex]->pMarkData = pBuffer[i]->pMarkData;</div> <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  pBuffer[i]->pMarkData=NULL;</div> <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  }</div> <div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  pBuffer[nOutputPortIndex]->nTimeStamp = pBuffer[i]->nTimeStamp;</div> <div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  }</div> <div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div> <div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <span class="keywordflow">if</span>((pBuffer[i]->nFlags & <a class="code" href="group__buf.html#ga5a4f357f6d6d7ab820f7ba2cf313c0f8">OMX_BUFFERFLAG_EOS</a>) == OMX_BUFFERFLAG_EOS && pBuffer[i]->nFilledLen==0) {</div> <div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#abae5dba77ef10b16efc17f8e81958e04">DEB_LEV_FULL_SEQ</a>, <span class="stringliteral">"Detected EOS flags in input buffer %p of %i filled len=%d\n"</span>, pBuffer[i], (<span class="keywordtype">int</span>)i, (<span class="keywordtype">int</span>)pBuffer[i]->nFilledLen);</div> <div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  pBuffer[nOutputPortIndex]->nFlags = pBuffer[i]->nFlags;</div> <div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  pBuffer[i]->nFlags=0;</div> <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  (*(omx_audio_mixer_component_Private->callbacks->EventHandler))</div> <div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  (openmaxStandComp,</div> <div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  omx_audio_mixer_component_Private->callbackData,</div> <div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <a class="code" href="group__comp.html#ggaf9babc952e96b0b7e47efa208ef3fb83a2a9615d7091b47b0474eb3f609b2ec9a">OMX_EventBufferFlag</a>, <span class="comment">/* The command was completed */</span></div> <div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  nOutputPortIndex, <span class="comment">/* The commands was a OMX_CommandStateSet */</span></div> <div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  pBuffer[nOutputPortIndex]->nFlags, <span class="comment">/* The state has been changed in message->messageParam2 */</span></div> <div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  NULL);</div> <div class="line"><a name="l00530"></a><span class="lineno"> 530</span>  }</div> <div class="line"><a name="l00531"></a><span class="lineno"> 531</span> </div> <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="comment">//TBD: To be verified</span></div> <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <span class="keywordflow">if</span>(omx_audio_mixer_component_Private->state == <a class="code" href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9a23edc3556e82e981ad41f7ab9d8ea08e">OMX_StateExecuting</a>) {</div> <div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <span class="keywordflow">if</span> (omx_audio_mixer_component_Private->BufferMgmtCallback && pBuffer[i]->nFilledLen != 0) {</div> <div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  (*(omx_audio_mixer_component_Private->BufferMgmtCallback))(openmaxStandComp, pBuffer[i], pBuffer[nOutputPortIndex]);</div> <div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  } <span class="keywordflow">else</span> {</div> <div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <span class="comment">/*It no buffer management call back the explicitly consume input buffer*/</span></div> <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  pBuffer[i]->nFilledLen = 0;</div> <div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  }</div> <div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  } <span class="keywordflow">else</span> {</div> <div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#aba38c1ee85ec93b3dc63678f16e95e2e">DEB_LEV_ERR</a>, <span class="stringliteral">"In %s Received Buffer in non-Executing State(%x)\n"</span>, __func__, (<span class="keywordtype">int</span>)omx_audio_mixer_component_Private->state);</div> <div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <span class="keywordflow">if</span>(<a class="code" href="omx__base__component_8h.html#af1c9703469f22387dad26dafc826fab6a1a76882d4072e2dcd49dd080ae7697d2">OMX_TransStateExecutingToIdle</a> == omx_audio_mixer_component_Private->transientState ||</div> <div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <a class="code" href="omx__base__component_8h.html#af1c9703469f22387dad26dafc826fab6a9d8e9cfcc84da243f38aebc0789a0e67">OMX_TransStatePauseToIdle</a> == omx_audio_mixer_component_Private->transientState) {</div> <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  pBuffer[i]->nFilledLen = 0;</div> <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  }</div> <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  }</div> <div class="line"><a name="l00547"></a><span class="lineno"> 547</span> </div> <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <span class="comment">/*Input Buffer has been completely consumed. So, get new input buffer*/</span></div> <div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <span class="keywordflow">if</span>(pBuffer[i]->nFilledLen==0) {</div> <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  isBufferNeeded[i] = <a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277babd8e08f19e313ba740188e0643ed08db">OMX_TRUE</a>;</div> <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  }</div> <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  }</div> <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  }</div> <div class="line"><a name="l00554"></a><span class="lineno"> 554</span> </div> <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="keywordflow">if</span>(omx_audio_mixer_component_Private->state==<a class="code" href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9affa2690a3c872ec899622e45f04df7e3">OMX_StatePause</a> &&</div> <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  !(<a class="code" href="omx__audiomixer__component_8c.html#a8634023fb605e98b1ace868169f6f854">checkAnyPortBeingFlushed</a>(omx_audio_mixer_component_Private))) {</div> <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <span class="comment">/*Waiting at paused state*/</span></div> <div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  <a class="code" href="tsemaphore_8c.html#afe09b0908017f9ec0e1be7d2dec04f9f">tsem_wait</a>(omx_audio_mixer_component_Private->bStateSem);</div> <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  }</div> <div class="line"><a name="l00560"></a><span class="lineno"> 560</span> </div> <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <span class="comment">/*If EOS and Input buffer Filled Len Zero then Return output buffer immediately*/</span></div> <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  <span class="keywordflow">if</span>(pBuffer[nOutputPortIndex]->nFilledLen!=0 || (pBuffer[nOutputPortIndex]->nFlags & <a class="code" href="group__buf.html#ga5a4f357f6d6d7ab820f7ba2cf313c0f8">OMX_BUFFERFLAG_EOS</a>) == OMX_BUFFERFLAG_EOS){</div> <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#abab4d03ab55f2cbfa506529558760d41">DEB_LEV_SIMPLE_SEQ</a>, <span class="stringliteral">"Returning output buffer \n"</span>);</div> <div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  pPort[nOutputPortIndex]->ReturnBufferFunction(pPort[nOutputPortIndex],pBuffer[nOutputPortIndex]);</div> <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  pBuffer[nOutputPortIndex]=NULL;</div> <div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  isBufferNeeded[nOutputPortIndex]=<a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277babd8e08f19e313ba740188e0643ed08db">OMX_TRUE</a>;</div> <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  }</div> <div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  }</div> <div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div> <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#abae5dba77ef10b16efc17f8e81958e04">DEB_LEV_FULL_SEQ</a>, <span class="stringliteral">"Input buffer arrived\n"</span>);</div> <div class="line"><a name="l00571"></a><span class="lineno"> 571</span> </div> <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="keywordflow">if</span>(omx_audio_mixer_component_Private->state==<a class="code" href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9affa2690a3c872ec899622e45f04df7e3">OMX_StatePause</a> &&</div> <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  !(<a class="code" href="omx__audiomixer__component_8c.html#a8634023fb605e98b1ace868169f6f854">checkAnyPortBeingFlushed</a>(omx_audio_mixer_component_Private))) {</div> <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <span class="comment">/*Waiting at paused state*/</span></div> <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <a class="code" href="tsemaphore_8c.html#afe09b0908017f9ec0e1be7d2dec04f9f">tsem_wait</a>(omx_audio_mixer_component_Private->bStateSem);</div> <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  }</div> <div class="line"><a name="l00577"></a><span class="lineno"> 577</span> </div> <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  <span class="comment">/*Input Buffer has been completely consumed. So, return input buffer*/</span></div> <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <span class="keywordflow">for</span>(i=0;i<omx_audio_mixer_component_Private->sPortTypesParam[<a class="code" href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a>].nPorts-1;i++){</div> <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <span class="keywordflow">if</span>(isBufferNeeded[i] == <a class="code" href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277babd8e08f19e313ba740188e0643ed08db">OMX_TRUE</a> && pBuffer[i]!=NULL && <a class="code" href="omx__base__port_8h.html#a96b9870fce37d9a71f49a4bd228976b8">PORT_IS_ENABLED</a>(pPort[i])) {</div> <div class="line"><a name="l00581"></a><span class="lineno"> 581</span>  pPort[i]->ReturnBufferFunction(pPort[i],pBuffer[i]);</div> <div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  pBuffer[i]=NULL;</div> <div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  }</div> <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  }</div> <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  }</div> <div class="line"><a name="l00586"></a><span class="lineno"> 586</span>  <a class="code" href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a>(<a class="code" href="omx__comp__debug__levels_8h.html#abab4d03ab55f2cbfa506529558760d41">DEB_LEV_SIMPLE_SEQ</a>,<span class="stringliteral">"Exiting Buffer Management Thread\n"</span>);</div> <div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <span class="keywordflow">return</span> NULL;</div> <div class="line"><a name="l00588"></a><span class="lineno"> 588</span> }</div> <div class="line"><a name="l00589"></a><span class="lineno"> 589</span> </div> <div class="ttc" id="_o_m_x___types_8h_html_a4aa524afe637a18762ac3cfdb3ce277babd8e08f19e313ba740188e0643ed08db"><div class="ttname"><a href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277babd8e08f19e313ba740188e0643ed08db">OMX_TRUE</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___types_8h_source.html#l00191">OMX_Types.h:191</a></div></div> <div class="ttc" id="omx__base__component_8c_html_a6a0a3b2c41c0ef12b394b691c2f238f3"><div class="ttname"><a href="omx__base__component_8c.html#a6a0a3b2c41c0ef12b394b691c2f238f3">omx_base_component_SetParameter</a></div><div class="ttdeci">OMX_ERRORTYPE omx_base_component_SetParameter(OMX_HANDLETYPE hComponent, OMX_INDEXTYPE nParamIndex, OMX_PTR ComponentParameterStructure)</div><div class="ttdoc">Part of the standard OpenMAX function. </div><div class="ttdef"><b>Definition:</b> <a href="omx__base__component_8c_source.html#l01026">omx_base_component.c:1026</a></div></div> <div class="ttc" id="group__comp_html_gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18"><div class="ttname"><a href="group__comp.html#gga4fcecfaa45ade30700a7db7079c22811a1da61f62c93ad1abcecf25403f0c6d18">OMX_PortDomainAudio</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___component_8h_source.html#l00051">OMX_Component.h:51</a></div></div> <div class="ttc" id="_o_m_x___index_8h_html_abc3b6e6cb9a9d5c14cb679ac455ea715ad7bc2a2b56efb4948d99fd39d7719676"><div class="ttname"><a href="_o_m_x___index_8h.html#abc3b6e6cb9a9d5c14cb679ac455ea715ad7bc2a2b56efb4948d99fd39d7719676">OMX_IndexParamAudioPcm</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___index_8h_source.html#l00095">OMX_Index.h:95</a></div></div> <div class="ttc" id="_o_m_x___types_8h_html_a7b426d7bc825bf8a56ee39dc3c217af7"><div class="ttname"><a href="_o_m_x___types_8h.html#a7b426d7bc825bf8a56ee39dc3c217af7">OMX_HANDLETYPE</a></div><div class="ttdeci">void * OMX_HANDLETYPE</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___types_8h_source.html#l00295">OMX_Types.h:295</a></div></div> <div class="ttc" id="_o_m_x___types_8h_html_ad7761a5e2931056da5a5d3ad4e33c54a"><div class="ttname"><a href="_o_m_x___types_8h.html#ad7761a5e2931056da5a5d3ad4e33c54a">OMX_S16</a></div><div class="ttdeci">signed short OMX_S16</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___types_8h_source.html#l00142">OMX_Types.h:142</a></div></div> <div class="ttc" id="tsemaphore_8c_html_afe09b0908017f9ec0e1be7d2dec04f9f"><div class="ttname"><a href="tsemaphore_8c.html#afe09b0908017f9ec0e1be7d2dec04f9f">tsem_wait</a></div><div class="ttdeci">void tsem_wait(tsem_t *tsem)</div><div class="ttdef"><b>Definition:</b> <a href="tsemaphore_8c_source.html#l00131">tsemaphore.c:131</a></div></div> <div class="ttc" id="struct_o_m_x___p_a_r_a_m___c_o_m_p_o_n_e_n_t_r_o_l_e_t_y_p_e_html_a7f8494b0b601d83e86a6ecc8f14f11bc"><div class="ttname"><a href="struct_o_m_x___p_a_r_a_m___c_o_m_p_o_n_e_n_t_r_o_l_e_t_y_p_e.html#a7f8494b0b601d83e86a6ecc8f14f11bc">OMX_PARAM_COMPONENTROLETYPE::cRole</a></div><div class="ttdeci">OMX_U8 cRole[128]</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00287">OMX_Core.h:287</a></div></div> <div class="ttc" id="_o_m_x___types_8h_html_a04983f4ca9c7876035dffc578597eae3"><div class="ttname"><a href="_o_m_x___types_8h.html#a04983f4ca9c7876035dffc578597eae3">OMX_U32</a></div><div class="ttdeci">unsigned long OMX_U32</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___types_8h_source.html#l00145">OMX_Types.h:145</a></div></div> <div class="ttc" id="_o_m_x___types_8h_html_a5718ca72c1708092c99a714beee4d2f9a47dd215bbfd01911416b4ce71907c2ea"><div class="ttname"><a href="_o_m_x___types_8h.html#a5718ca72c1708092c99a714beee4d2f9a47dd215bbfd01911416b4ce71907c2ea">OMX_NumericalDataSigned</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___types_8h_source.html#l00247">OMX_Types.h:247</a></div></div> <div class="ttc" id="_o_m_x___types_8h_html_a4aa524afe637a18762ac3cfdb3ce277bae32d6ae989533bc97bec6620fdbcb59b"><div class="ttname"><a href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277bae32d6ae989533bc97bec6620fdbcb59b">OMX_FALSE</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___types_8h_source.html#l00190">OMX_Types.h:190</a></div></div> <div class="ttc" id="omx__audiomixer__component_8c_html_a9798945ad354aea53732c9cc98f617e4"><div class="ttname"><a href="omx__audiomixer__component_8c.html#a9798945ad354aea53732c9cc98f617e4">GAIN_VALUE</a></div><div class="ttdeci">#define GAIN_VALUE</div><div class="ttdef"><b>Definition:</b> <a href="omx__audiomixer__component_8c_source.html#l00033">omx_audiomixer_component.c:33</a></div></div> <div class="ttc" id="omx__base__component_8c_html_a8e2ec4ddad3fbb59cccdfefec3cb3b57"><div class="ttname"><a href="omx__base__component_8c.html#a8e2ec4ddad3fbb59cccdfefec3cb3b57">omx_base_component_ParameterSanityCheck</a></div><div class="ttdeci">OMX_ERRORTYPE omx_base_component_ParameterSanityCheck(OMX_HANDLETYPE hComponent, OMX_U32 nPortIndex, OMX_PTR pStructure, size_t size)</div><div class="ttdef"><b>Definition:</b> <a href="omx__base__component_8c_source.html#l00759">omx_base_component.c:759</a></div></div> <div class="ttc" id="omxcore_8h_html"><div class="ttname"><a href="omxcore_8h.html">omxcore.h</a></div></div> <div class="ttc" id="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e_html_a1bdb4f2d2e541f5f48c0885d2f936c93"><div class="ttname"><a href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html#a1bdb4f2d2e541f5f48c0885d2f936c93">OMX_BUFFERHEADERTYPE::nFilledLen</a></div><div class="ttdeci">OMX_U32 nFilledLen</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00405">OMX_Core.h:405</a></div></div> <div class="ttc" id="_o_m_x___index_8h_html_abc3b6e6cb9a9d5c14cb679ac455ea715a06f041880e6455e605e56505cb58b431"><div class="ttname"><a href="_o_m_x___index_8h.html#abc3b6e6cb9a9d5c14cb679ac455ea715a06f041880e6455e605e56505cb58b431">OMX_IndexParamAudioPortFormat</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___index_8h_source.html#l00094">OMX_Index.h:94</a></div></div> <div class="ttc" id="omx__base__audio__port_8c_html_a68899010260756fcfde9059dcb83d89c"><div class="ttname"><a href="omx__base__audio__port_8c.html#a68899010260756fcfde9059dcb83d89c">base_audio_port_Constructor</a></div><div class="ttdeci">OMX_ERRORTYPE base_audio_port_Constructor(OMX_COMPONENTTYPE *openmaxStandComp, omx_base_PortType **openmaxStandPort, OMX_U32 nPortIndex, OMX_BOOL isInput)</div><div class="ttdoc">The base constructor for the generic OpenMAX ST Audio port. </div><div class="ttdef"><b>Definition:</b> <a href="omx__base__audio__port_8c_source.html#l00051">omx_base_audio_port.c:51</a></div></div> <div class="ttc" id="omx__base__component_8c_html_ae1a8e6fa1f9efc4f846617b487f8b97e"><div class="ttname"><a href="omx__base__component_8c.html#ae1a8e6fa1f9efc4f846617b487f8b97e">checkHeader</a></div><div class="ttdeci">OMX_ERRORTYPE checkHeader(OMX_PTR header, OMX_U32 size)</div><div class="ttdoc">Checks the header of a structure for consistency with size and spec version. </div><div class="ttdef"><b>Definition:</b> <a href="omx__base__component_8c_source.html#l00720">omx_base_component.c:720</a></div></div> <div class="ttc" id="omx__comp__debug__levels_8h_html_abab4d03ab55f2cbfa506529558760d41"><div class="ttname"><a href="omx__comp__debug__levels_8h.html#abab4d03ab55f2cbfa506529558760d41">DEB_LEV_SIMPLE_SEQ</a></div><div class="ttdeci">#define DEB_LEV_SIMPLE_SEQ</div><div class="ttdef"><b>Definition:</b> <a href="omx__comp__debug__levels_8h_source.html#l00048">omx_comp_debug_levels.h:48</a></div></div> <div class="ttc" id="omx__base__port_8h_html_adb1b7ed45bd0dbf4e2ef8b3714f99916"><div class="ttname"><a href="omx__base__port_8h.html#adb1b7ed45bd0dbf4e2ef8b3714f99916">PORT_IS_BEING_FLUSHED</a></div><div class="ttdeci">#define PORT_IS_BEING_FLUSHED(pPort)</div><div class="ttdef"><b>Definition:</b> <a href="omx__base__port_8h_source.html#l00039">omx_base_port.h:39</a></div></div> <div class="ttc" id="_o_m_x___core_8h_html_a4e2923ea92fd56f5bd9783a6dac7629aaeb8784a5b09cd9c0b4aa49f1adb768d4"><div class="ttname"><a href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aaeb8784a5b09cd9c0b4aa49f1adb768d4">OMX_ErrorIncorrectStateOperation</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00215">OMX_Core.h:215</a></div></div> <div class="ttc" id="omx__base__component_8h_html_af1c9703469f22387dad26dafc826fab6a1a76882d4072e2dcd49dd080ae7697d2"><div class="ttname"><a href="omx__base__component_8h.html#af1c9703469f22387dad26dafc826fab6a1a76882d4072e2dcd49dd080ae7697d2">OMX_TransStateExecutingToIdle</a></div><div class="ttdef"><b>Definition:</b> <a href="omx__base__component_8h_source.html#l00092">omx_base_component.h:92</a></div></div> <div class="ttc" id="_o_m_x___index_8h_html_abc3b6e6cb9a9d5c14cb679ac455ea715a65798294180a94f6190b6e7589adb570"><div class="ttname"><a href="_o_m_x___index_8h.html#abc3b6e6cb9a9d5c14cb679ac455ea715a65798294180a94f6190b6e7589adb570">OMX_IndexParamAudioInit</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___index_8h_source.html#l00064">OMX_Index.h:64</a></div></div> <div class="ttc" id="_o_m_x___types_8h_html_a8a31dd95e8a7d81701f312de0cccc05d"><div class="ttname"><a href="_o_m_x___types_8h.html#a8a31dd95e8a7d81701f312de0cccc05d">OMX_S32</a></div><div class="ttdeci">signed long OMX_S32</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___types_8h_source.html#l00148">OMX_Types.h:148</a></div></div> <div class="ttc" id="group__comp_html_ggaa5db098e918dd8a710d0ba10f90a0cb9affa2690a3c872ec899622e45f04df7e3"><div class="ttname"><a href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9affa2690a3c872ec899622e45f04df7e3">OMX_StatePause</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00107">OMX_Core.h:107</a></div></div> <div class="ttc" id="omx__base__component_8c_html_aad8c540d02f632cbd6811235e15dd352"><div class="ttname"><a href="omx__base__component_8c.html#aad8c540d02f632cbd6811235e15dd352">omx_base_component_SetConfig</a></div><div class="ttdeci">OMX_ERRORTYPE omx_base_component_SetConfig(OMX_HANDLETYPE hComponent, OMX_INDEXTYPE nIndex, OMX_PTR pComponentConfigStructure)</div><div class="ttdoc">base SetConfig function </div><div class="ttdef"><b>Definition:</b> <a href="omx__base__component_8c_source.html#l01242">omx_base_component.c:1242</a></div></div> <div class="ttc" id="omx__audiomixer__component_8c_html_a8634023fb605e98b1ace868169f6f854"><div class="ttname"><a href="omx__audiomixer__component_8c.html#a8634023fb605e98b1ace868169f6f854">checkAnyPortBeingFlushed</a></div><div class="ttdeci">int checkAnyPortBeingFlushed(omx_audio_mixer_component_PrivateType *omx_audio_mixer_component_Private)</div><div class="ttdef"><b>Definition:</b> <a href="omx__audiomixer__component_8c_source.html#l00372">omx_audiomixer_component.c:372</a></div></div> <div class="ttc" id="omx__audiomixer__component_8c_html_ad0a03b0e1cb45b3acd497d2ca7c14cfe"><div class="ttname"><a href="omx__audiomixer__component_8c.html#ad0a03b0e1cb45b3acd497d2ca7c14cfe">omx_audio_mixer_component_Constructor</a></div><div class="ttdeci">OMX_ERRORTYPE omx_audio_mixer_component_Constructor(OMX_COMPONENTTYPE *openmaxStandComp, OMX_STRING cComponentName)</div><div class="ttdef"><b>Definition:</b> <a href="omx__audiomixer__component_8c_source.html#l00035">omx_audiomixer_component.c:35</a></div></div> <div class="ttc" id="omx__comp__debug__levels_8h_html_afb2afbce7d8f9c8d5030e85ab025e8ee"><div class="ttname"><a href="omx__comp__debug__levels_8h.html#afb2afbce7d8f9c8d5030e85ab025e8ee">DEBUG</a></div><div class="ttdeci">#define DEBUG(n, fmt, args...)</div><div class="ttdef"><b>Definition:</b> <a href="omx__comp__debug__levels_8h_source.html#l00077">omx_comp_debug_levels.h:77</a></div></div> <div class="ttc" id="omx__audiomixer__component_8c_html_ab87f0da6dea6224806ceaf4c6cc23aea"><div class="ttname"><a href="omx__audiomixer__component_8c.html#ab87f0da6dea6224806ceaf4c6cc23aea">omx_audio_mixer_component_SetParameter</a></div><div class="ttdeci">OMX_ERRORTYPE omx_audio_mixer_component_SetParameter(OMX_HANDLETYPE hComponent, OMX_INDEXTYPE nParamIndex, OMX_PTR ComponentParameterStructure)</div><div class="ttdef"><b>Definition:</b> <a href="omx__audiomixer__component_8c_source.html#l00253">omx_audiomixer_component.c:253</a></div></div> <div class="ttc" id="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_o_r_t_f_o_r_m_a_t_t_y_p_e_html"><div class="ttname"><a href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_o_r_t_f_o_r_m_a_t_t_y_p_e.html">OMX_AUDIO_PARAM_PORTFORMATTYPE</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___audio_8h_source.html#l00119">OMX_Audio.h:119</a></div></div> <div class="ttc" id="omx__audiomixer__component_8h_html_abd50491aa869cd6526b93c548ce22262"><div class="ttname"><a href="omx__audiomixer__component_8h.html#abd50491aa869cd6526b93c548ce22262">MIXER_COMP_ROLE</a></div><div class="ttdeci">#define MIXER_COMP_ROLE</div><div class="ttdef"><b>Definition:</b> <a href="omx__audiomixer__component_8h_source.html#l00038">omx_audiomixer_component.h:38</a></div></div> <div class="ttc" id="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e_html"><div class="ttname"><a href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html">OMX_BUFFERHEADERTYPE</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00398">OMX_Core.h:398</a></div></div> <div class="ttc" id="omx__audiomixer__component_8c_html_ae37d60299de367f2ed0a2cf0d59f5b63"><div class="ttname"><a href="omx__audiomixer__component_8c.html#ae37d60299de367f2ed0a2cf0d59f5b63">omx_audio_mixer_component_SetConfig</a></div><div class="ttdeci">OMX_ERRORTYPE omx_audio_mixer_component_SetConfig(OMX_HANDLETYPE hComponent, OMX_INDEXTYPE nIndex, OMX_PTR pComponentConfigStructure)</div><div class="ttdef"><b>Definition:</b> <a href="omx__audiomixer__component_8c_source.html#l00194">omx_audiomixer_component.c:194</a></div></div> <div class="ttc" id="omx__audiomixer__component_8h_html_ad842ea97152af94f3fa050c087927d2b"><div class="ttname"><a href="omx__audiomixer__component_8h.html#ad842ea97152af94f3fa050c087927d2b">MAX_MIXER_COMPONENTS</a></div><div class="ttdeci">#define MAX_MIXER_COMPONENTS</div><div class="ttdef"><b>Definition:</b> <a href="omx__audiomixer__component_8h_source.html#l00039">omx_audiomixer_component.h:39</a></div></div> <div class="ttc" id="structtsem__t_html"><div class="ttname"><a href="structtsem__t.html">tsem_t</a></div><div class="ttdef"><b>Definition:</b> <a href="tsemaphore_8h_source.html#l00038">tsemaphore.h:38</a></div></div> <div class="ttc" id="group__comp_html_ggaa5db098e918dd8a710d0ba10f90a0cb9ab9a046cf692b4a48d40c503edbac925f"><div class="ttname"><a href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9ab9a046cf692b4a48d40c503edbac925f">OMX_StateInvalid</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00094">OMX_Core.h:94</a></div></div> <div class="ttc" id="_o_m_x___types_8h_html_a35830b439b00948006e5ef824fef715f"><div class="ttname"><a href="_o_m_x___types_8h.html#a35830b439b00948006e5ef824fef715f">OMX_STRING</a></div><div class="ttdeci">char * OMX_STRING</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___types_8h_source.html#l00206">OMX_Types.h:206</a></div></div> <div class="ttc" id="_o_m_x___audio_8h_html"><div class="ttname"><a href="_o_m_x___audio_8h.html">OMX_Audio.h</a></div></div> <div class="ttc" id="_o_m_x___types_8h_html_a52f5626b11279ed9a6ce8731abc365be"><div class="ttname"><a href="_o_m_x___types_8h.html#a52f5626b11279ed9a6ce8731abc365be">OMX_PTR</a></div><div class="ttdeci">void * OMX_PTR</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___types_8h_source.html#l00199">OMX_Types.h:199</a></div></div> <div class="ttc" id="_o_m_x___types_8h_html_a4aa524afe637a18762ac3cfdb3ce277b"><div class="ttname"><a href="_o_m_x___types_8h.html#a4aa524afe637a18762ac3cfdb3ce277b">OMX_BOOL</a></div><div class="ttdeci">OMX_BOOL</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___types_8h_source.html#l00189">OMX_Types.h:189</a></div></div> <div class="ttc" id="struct_o_m_x___b_s32_html_a25f6543a28dab9261a11e4279b20dbdc"><div class="ttname"><a href="struct_o_m_x___b_s32.html#a25f6543a28dab9261a11e4279b20dbdc">OMX_BS32::nValue</a></div><div class="ttdeci">OMX_S32 nValue</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___types_8h_source.html#l00263">OMX_Types.h:263</a></div></div> <div class="ttc" id="_o_m_x___index_8h_html_abc3b6e6cb9a9d5c14cb679ac455ea715"><div class="ttname"><a href="_o_m_x___index_8h.html#abc3b6e6cb9a9d5c14cb679ac455ea715">OMX_INDEXTYPE</a></div><div class="ttdeci">OMX_INDEXTYPE</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___index_8h_source.html#l00060">OMX_Index.h:60</a></div></div> <div class="ttc" id="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e_html_a303ebc098d2b1ce3c222bc67098427ef"><div class="ttname"><a href="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e.html#a303ebc098d2b1ce3c222bc67098427ef">OMX_AUDIO_CONFIG_VOLUMETYPE::nPortIndex</a></div><div class="ttdeci">OMX_U32 nPortIndex</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___audio_8h_source.html#l01011">OMX_Audio.h:1011</a></div></div> <div class="ttc" id="_o_m_x___core_8h_html_a4e2923ea92fd56f5bd9783a6dac7629aac7eaeea582e8ff5a51bb8abc54c130e0"><div class="ttname"><a href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aac7eaeea582e8ff5a51bb8abc54c130e0">OMX_ErrorBadParameter</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00147">OMX_Core.h:147</a></div></div> <div class="ttc" id="omx__comp__debug__levels_8h_html_aba38c1ee85ec93b3dc63678f16e95e2e"><div class="ttname"><a href="omx__comp__debug__levels_8h.html#aba38c1ee85ec93b3dc63678f16e95e2e">DEB_LEV_ERR</a></div><div class="ttdeci">#define DEB_LEV_ERR</div><div class="ttdef"><b>Definition:</b> <a href="omx__comp__debug__levels_8h_source.html#l00039">omx_comp_debug_levels.h:39</a></div></div> <div class="ttc" id="_o_m_x___index_8h_html_abc3b6e6cb9a9d5c14cb679ac455ea715ace7628ba72733f481380dfb1a0f1d7df"><div class="ttname"><a href="_o_m_x___index_8h.html#abc3b6e6cb9a9d5c14cb679ac455ea715ace7628ba72733f481380dfb1a0f1d7df">OMX_IndexConfigAudioVolume</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___index_8h_source.html#l00128">OMX_Index.h:128</a></div></div> <div class="ttc" id="omx__base__filter_8c_html_af02c8c172a5dcfb8a7b1eef2f3e8cc60"><div class="ttname"><a href="omx__base__filter_8c.html#af02c8c172a5dcfb8a7b1eef2f3e8cc60">omx_base_filter_Destructor</a></div><div class="ttdeci">OMX_ERRORTYPE omx_base_filter_Destructor(OMX_COMPONENTTYPE *openmaxStandComp)</div><div class="ttdoc">the base filter destructor for ST OpenMAX components </div><div class="ttdef"><b>Definition:</b> <a href="omx__base__filter_8c_source.html#l00066">omx_base_filter.c:66</a></div></div> <div class="ttc" id="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e_html_af6908062071b09281e0eb6f31cb7025d"><div class="ttname"><a href="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e.html#af6908062071b09281e0eb6f31cb7025d">OMX_AUDIO_CONFIG_VOLUMETYPE::sVolume</a></div><div class="ttdeci">OMX_BS32 sVolume</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___audio_8h_source.html#l01018">OMX_Audio.h:1018</a></div></div> <div class="ttc" id="tsemaphore_8c_html_a64d778846c9eb62d0d67db26bbdc9cf0"><div class="ttname"><a href="tsemaphore_8c.html#a64d778846c9eb62d0d67db26bbdc9cf0">tsem_up</a></div><div class="ttdeci">void tsem_up(tsem_t *tsem)</div><div class="ttdef"><b>Definition:</b> <a href="tsemaphore_8c_source.html#l00110">tsemaphore.c:110</a></div></div> <div class="ttc" id="omx__base__component_8c_html_a9e48476744a54f3242a243ff1c2c3f36"><div class="ttname"><a href="omx__base__component_8c.html#a9e48476744a54f3242a243ff1c2c3f36">setHeader</a></div><div class="ttdeci">void setHeader(OMX_PTR header, OMX_U32 size)</div><div class="ttdoc">Simply fills the first two fields in any OMX structure with the size and the version. </div><div class="ttdef"><b>Definition:</b> <a href="omx__base__component_8c_source.html#l00746">omx_base_component.c:746</a></div></div> <div class="ttc" id="omx__audiomixer__component_8h_html_a40ad70cc6e2125af9340a4bc26a83764"><div class="ttname"><a href="omx__audiomixer__component_8h.html#a40ad70cc6e2125af9340a4bc26a83764">MAX_PORTS</a></div><div class="ttdeci">#define MAX_PORTS</div><div class="ttdef"><b>Definition:</b> <a href="omx__audiomixer__component_8h_source.html#l00044">omx_audiomixer_component.h:44</a></div></div> <div class="ttc" id="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e_html"><div class="ttname"><a href="struct_o_m_x___a_u_d_i_o___c_o_n_f_i_g___v_o_l_u_m_e_t_y_p_e.html">OMX_AUDIO_CONFIG_VOLUMETYPE</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___audio_8h_source.html#l01008">OMX_Audio.h:1008</a></div></div> <div class="ttc" id="omx__audiomixer__component_8h_html"><div class="ttname"><a href="omx__audiomixer__component_8h.html">omx_audiomixer_component.h</a></div></div> <div class="ttc" id="omx__base__component_8h_html_af1c9703469f22387dad26dafc826fab6afa0f8f8a342f0e10da77d5c3baad8611"><div class="ttname"><a href="omx__base__component_8h.html#af1c9703469f22387dad26dafc826fab6afa0f8f8a342f0e10da77d5c3baad8611">OMX_TransStateLoadedToIdle</a></div><div class="ttdef"><b>Definition:</b> <a href="omx__base__component_8h_source.html#l00088">omx_base_component.h:88</a></div></div> <div class="ttc" id="tsemaphore_8c_html_ac3aff783e32ae9d0736ba38d76e62be1"><div class="ttname"><a href="tsemaphore_8c.html#ac3aff783e32ae9d0736ba38d76e62be1">tsem_down</a></div><div class="ttdeci">void tsem_down(tsem_t *tsem)</div><div class="ttdef"><b>Definition:</b> <a href="tsemaphore_8c_source.html#l00097">tsemaphore.c:97</a></div></div> <div class="ttc" id="structqueue__t_html"><div class="ttname"><a href="structqueue__t.html">queue_t</a></div><div class="ttdef"><b>Definition:</b> <a href="queue_8h_source.html#l00043">queue.h:43</a></div></div> <div class="ttc" id="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e_html_aa5c1d1e65a5342b23237313803fa0576"><div class="ttname"><a href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html#aa5c1d1e65a5342b23237313803fa0576">OMX_BUFFERHEADERTYPE::nInputPortIndex</a></div><div class="ttdeci">OMX_U32 nInputPortIndex</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00441">OMX_Core.h:441</a></div></div> <div class="ttc" id="omx__base__component_8h_html_a4417d9cbdac624d09cf5812dfcca3c01"><div class="ttname"><a href="omx__base__component_8h.html#a4417d9cbdac624d09cf5812dfcca3c01">DEFAULT_OUT_BUFFER_SIZE</a></div><div class="ttdeci">#define DEFAULT_OUT_BUFFER_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="omx__base__component_8h_source.html#l00056">omx_base_component.h:56</a></div></div> <div class="ttc" id="omx__base__component_8c_html_adb55447e5f101220cb32f7afc29efbed"><div class="ttname"><a href="omx__base__component_8c.html#adb55447e5f101220cb32f7afc29efbed">omx_base_component_GetConfig</a></div><div class="ttdeci">OMX_ERRORTYPE omx_base_component_GetConfig(OMX_HANDLETYPE hComponent, OMX_INDEXTYPE nIndex, OMX_PTR pComponentConfigStructure)</div><div class="ttdoc">base GetConfig function </div><div class="ttdef"><b>Definition:</b> <a href="omx__base__component_8c_source.html#l01228">omx_base_component.c:1228</a></div></div> <div class="ttc" id="omx__reference__resource__manager_8c_html_a2e5cb678b1ad832d6a8c1a3783d89dc2"><div class="ttname"><a href="omx__reference__resource__manager_8c.html#a2e5cb678b1ad832d6a8c1a3783d89dc2">RM_RegisterComponent</a></div><div class="ttdeci">OMX_ERRORTYPE RM_RegisterComponent(char *name, int max_components)</div><div class="ttdef"><b>Definition:</b> <a href="omx__reference__resource__manager_8c_source.html#l00062">omx_reference_resource_manager.c:62</a></div></div> <div class="ttc" id="omx__audiomixer__component_8h_html_aad48dad16db4582851127922c377689d"><div class="ttname"><a href="omx__audiomixer__component_8h.html#aad48dad16db4582851127922c377689d">MIXER_COMP_NAME</a></div><div class="ttdeci">#define MIXER_COMP_NAME</div><div class="ttdef"><b>Definition:</b> <a href="omx__audiomixer__component_8h_source.html#l00037">omx_audiomixer_component.h:37</a></div></div> <div class="ttc" id="group__buf_html_ga5a4f357f6d6d7ab820f7ba2cf313c0f8"><div class="ttname"><a href="group__buf.html#ga5a4f357f6d6d7ab820f7ba2cf313c0f8">OMX_BUFFERFLAG_EOS</a></div><div class="ttdeci">#define OMX_BUFFERFLAG_EOS</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00299">OMX_Core.h:299</a></div></div> <div class="ttc" id="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_c_m_m_o_d_e_t_y_p_e_html_a289f0b9323bb2adf978288700fd4a447"><div class="ttname"><a href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_c_m_m_o_d_e_t_y_p_e.html#a289f0b9323bb2adf978288700fd4a447">OMX_AUDIO_PARAM_PCMMODETYPE::nPortIndex</a></div><div class="ttdeci">OMX_U32 nPortIndex</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___audio_8h_source.html#l00162">OMX_Audio.h:162</a></div></div> <div class="ttc" id="structmulti_resource_descriptor_html"><div class="ttname"><a href="structmulti_resource_descriptor.html">multiResourceDescriptor</a></div><div class="ttdef"><b>Definition:</b> <a href="extension__struct_8h_source.html#l00041">extension_struct.h:41</a></div></div> <div class="ttc" id="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_c_m_m_o_d_e_t_y_p_e_html"><div class="ttname"><a href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_c_m_m_o_d_e_t_y_p_e.html">OMX_AUDIO_PARAM_PCMMODETYPE</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___audio_8h_source.html#l00159">OMX_Audio.h:159</a></div></div> <div class="ttc" id="structomx__base___port_type_html"><div class="ttname"><a href="structomx__base___port_type.html">omx_base_PortType</a></div><div class="ttdef"><b>Definition:</b> <a href="omx__base__port_8h_source.html#l00105">omx_base_port.h:105</a></div></div> <div class="ttc" id="omx__base__port_8h_html_a96b9870fce37d9a71f49a4bd228976b8"><div class="ttname"><a href="omx__base__port_8h.html#a96b9870fce37d9a71f49a4bd228976b8">PORT_IS_ENABLED</a></div><div class="ttdeci">#define PORT_IS_ENABLED(pPort)</div><div class="ttdef"><b>Definition:</b> <a href="omx__base__port_8h_source.html#l00041">omx_base_port.h:41</a></div></div> <div class="ttc" id="group__comp_html_ggaf9babc952e96b0b7e47efa208ef3fb83a29c0aac8a2b5fe120b7bc0ea4ab2ab19"><div class="ttname"><a href="group__comp.html#ggaf9babc952e96b0b7e47efa208ef3fb83a29c0aac8a2b5fe120b7bc0ea4ab2ab19">OMX_EventMark</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00483">OMX_Core.h:483</a></div></div> <div class="ttc" id="group__comp_html_ggaa5db098e918dd8a710d0ba10f90a0cb9a64bed325d94b49150e505034a6b4ee11"><div class="ttname"><a href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9a64bed325d94b49150e505034a6b4ee11">OMX_StateWaitForResources</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00108">OMX_Core.h:108</a></div></div> <div class="ttc" id="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e_html_a0b474b5dd1c0e432e44d2f1ca15984c3"><div class="ttname"><a href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#a0b474b5dd1c0e432e44d2f1ca15984c3">OMX_COMPONENTTYPE::SetConfig</a></div><div class="ttdeci">OMX_ERRORTYPE(* SetConfig)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nIndex, OMX_IN OMX_PTR pComponentConfigStructure)</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___component_8h_source.html#l00383">OMX_Component.h:383</a></div></div> <div class="ttc" id="omx__audiomixer__component_8c_html_a171523b3c6e884d7139c938dc9b37f39"><div class="ttname"><a href="omx__audiomixer__component_8c.html#a171523b3c6e884d7139c938dc9b37f39">omx_audio_mixer_component_GetParameter</a></div><div class="ttdeci">OMX_ERRORTYPE omx_audio_mixer_component_GetParameter(OMX_HANDLETYPE hComponent, OMX_INDEXTYPE nParamIndex, OMX_PTR ComponentParameterStructure)</div><div class="ttdef"><b>Definition:</b> <a href="omx__audiomixer__component_8c_source.html#l00310">omx_audiomixer_component.c:310</a></div></div> <div class="ttc" id="struct_o_m_x___p_a_r_a_m___c_o_m_p_o_n_e_n_t_r_o_l_e_t_y_p_e_html"><div class="ttname"><a href="struct_o_m_x___p_a_r_a_m___c_o_m_p_o_n_e_n_t_r_o_l_e_t_y_p_e.html">OMX_PARAM_COMPONENTROLETYPE</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00284">OMX_Core.h:284</a></div></div> <div class="ttc" id="_o_m_x___core_8h_html_a4e2923ea92fd56f5bd9783a6dac7629aa0ad2d44b5618c5c3c9b9c30c0c252b59"><div class="ttname"><a href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa0ad2d44b5618c5c3c9b9c30c0c252b59">OMX_ErrorInsufficientResources</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00131">OMX_Core.h:131</a></div></div> <div class="ttc" id="_o_m_x___core_8h_html_a4e2923ea92fd56f5bd9783a6dac7629aa2f103f12c89e2f1bc3b0a5db37ee89e0"><div class="ttname"><a href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa2f103f12c89e2f1bc3b0a5db37ee89e0">OMX_ErrorBadPortIndex</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00224">OMX_Core.h:224</a></div></div> <div class="ttc" id="omx__audiomixer__component_8c_html_af545bea12031ef1759299b1cbb5d6c0d"><div class="ttname"><a href="omx__audiomixer__component_8c.html#af545bea12031ef1759299b1cbb5d6c0d">omx_audio_mixer_component_Destructor</a></div><div class="ttdeci">OMX_ERRORTYPE omx_audio_mixer_component_Destructor(OMX_COMPONENTTYPE *openmaxStandComp)</div><div class="ttdef"><b>Definition:</b> <a href="omx__audiomixer__component_8c_source.html#l00134">omx_audiomixer_component.c:134</a></div></div> <div class="ttc" id="omx__audiomixer__component_8c_html_aca915f1479673cff0bf59e2f6b2ee105"><div class="ttname"><a href="omx__audiomixer__component_8c.html#aca915f1479673cff0bf59e2f6b2ee105">omx_audio_mixer_component_GetConfig</a></div><div class="ttdeci">OMX_ERRORTYPE omx_audio_mixer_component_GetConfig(OMX_HANDLETYPE hComponent, OMX_INDEXTYPE nIndex, OMX_PTR pComponentConfigStructure)</div><div class="ttdef"><b>Definition:</b> <a href="omx__audiomixer__component_8c_source.html#l00227">omx_audiomixer_component.c:227</a></div></div> <div class="ttc" id="omxvolcontroltest_8c_html_a756067b481e3ea442bfda1a27ce0a901"><div class="ttname"><a href="omxvolcontroltest_8c.html#a756067b481e3ea442bfda1a27ce0a901">err</a></div><div class="ttdeci">OMX_ERRORTYPE err</div><div class="ttdef"><b>Definition:</b> <a href="omxvolcontroltest_8c_source.html#l00034">omxvolcontroltest.c:34</a></div></div> <div class="ttc" id="_o_m_x___index_8h_html_abc3b6e6cb9a9d5c14cb679ac455ea715a97b28d8b48af395a944bf20f1e7399cc"><div class="ttname"><a href="_o_m_x___index_8h.html#abc3b6e6cb9a9d5c14cb679ac455ea715a97b28d8b48af395a944bf20f1e7399cc">OMX_IndexParamStandardComponentRole</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___index_8h_source.html#l00085">OMX_Index.h:85</a></div></div> <div class="ttc" id="omx__comp__debug__levels_8h_html_abae5dba77ef10b16efc17f8e81958e04"><div class="ttname"><a href="omx__comp__debug__levels_8h.html#abae5dba77ef10b16efc17f8e81958e04">DEB_LEV_FULL_SEQ</a></div><div class="ttdeci">#define DEB_LEV_FULL_SEQ</div><div class="ttdef"><b>Definition:</b> <a href="omx__comp__debug__levels_8h_source.html#l00054">omx_comp_debug_levels.h:54</a></div></div> <div class="ttc" id="group__comp_html_ggaf9babc952e96b0b7e47efa208ef3fb83a2a9615d7091b47b0474eb3f609b2ec9a"><div class="ttname"><a href="group__comp.html#ggaf9babc952e96b0b7e47efa208ef3fb83a2a9615d7091b47b0474eb3f609b2ec9a">OMX_EventBufferFlag</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00485">OMX_Core.h:485</a></div></div> <div class="ttc" id="_o_m_x___core_8h_html_a4e2923ea92fd56f5bd9783a6dac7629aa5c9da0dc80ae827d74da9249806ba53f"><div class="ttname"><a href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629aa5c9da0dc80ae827d74da9249806ba53f">OMX_ErrorNone</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00128">OMX_Core.h:128</a></div></div> <div class="ttc" id="omx__base__filter_8c_html_a38226d1e5a2bcb7c19f3defa758c929d"><div class="ttname"><a href="omx__base__filter_8c.html#a38226d1e5a2bcb7c19f3defa758c929d">omx_base_filter_Constructor</a></div><div class="ttdeci">OMX_ERRORTYPE omx_base_filter_Constructor(OMX_COMPONENTTYPE *openmaxStandComp, OMX_STRING cComponentName)</div><div class="ttdoc">The base filter contructor for the OpenMAX ST components. </div><div class="ttdef"><b>Definition:</b> <a href="omx__base__filter_8c_source.html#l00034">omx_base_filter.c:34</a></div></div> <div class="ttc" id="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e_html_a40042eb121e37461ceb851995d450a03"><div class="ttname"><a href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#a40042eb121e37461ceb851995d450a03">OMX_COMPONENTTYPE::GetConfig</a></div><div class="ttdeci">OMX_ERRORTYPE(* GetConfig)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nIndex, OMX_INOUT OMX_PTR pComponentConfigStructure)</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___component_8h_source.html#l00374">OMX_Component.h:374</a></div></div> <div class="ttc" id="omx__base__audio__port_8h_html"><div class="ttname"><a href="omx__base__audio__port_8h.html">omx_base_audio_port.h</a></div></div> <div class="ttc" id="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e_html_a676f0fb6d3de86578444edcae4896a04"><div class="ttname"><a href="struct_o_m_x___b_u_f_f_e_r_h_e_a_d_e_r_t_y_p_e.html#a676f0fb6d3de86578444edcae4896a04">OMX_BUFFERHEADERTYPE::pBuffer</a></div><div class="ttdeci">OMX_U8 * pBuffer</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00402">OMX_Core.h:402</a></div></div> <div class="ttc" id="omx__audiomixer__component_8c_html_aa69df866649fad54f477087d5c12619d"><div class="ttname"><a href="omx__audiomixer__component_8c.html#aa69df866649fad54f477087d5c12619d">omx_audio_mixer_component_BufferMgmtCallback</a></div><div class="ttdeci">void omx_audio_mixer_component_BufferMgmtCallback(OMX_COMPONENTTYPE *openmaxStandComp, OMX_BUFFERHEADERTYPE *pInBuffer, OMX_BUFFERHEADERTYPE *pOutBuffer)</div><div class="ttdef"><b>Definition:</b> <a href="omx__audiomixer__component_8c_source.html#l00159">omx_audiomixer_component.c:159</a></div></div> <div class="ttc" id="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e_html_a0264daf0b4a5a5c91de28533e26fb8a0"><div class="ttname"><a href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#a0264daf0b4a5a5c91de28533e26fb8a0">OMX_COMPONENTTYPE::SetParameter</a></div><div class="ttdeci">OMX_ERRORTYPE(* SetParameter)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nIndex, OMX_IN OMX_PTR pComponentParameterStructure)</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___component_8h_source.html#l00365">OMX_Component.h:365</a></div></div> <div class="ttc" id="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e_html_abc8e77802b35b35f7972e9fe7a563ccc"><div class="ttname"><a href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#abc8e77802b35b35f7972e9fe7a563ccc">OMX_COMPONENTTYPE::pComponentPrivate</a></div><div class="ttdeci">OMX_PTR pComponentPrivate</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___component_8h_source.html#l00326">OMX_Component.h:326</a></div></div> <div class="ttc" id="omx__comp__debug__levels_8h_html_aa526b7c349a5bbeb49ca3483b3e908e2"><div class="ttname"><a href="omx__comp__debug__levels_8h.html#aa526b7c349a5bbeb49ca3483b3e908e2">DEB_LEV_FUNCTION_NAME</a></div><div class="ttdeci">#define DEB_LEV_FUNCTION_NAME</div><div class="ttdef"><b>Definition:</b> <a href="omx__comp__debug__levels_8h_source.html#l00059">omx_comp_debug_levels.h:59</a></div></div> <div class="ttc" id="group__audio_html_ggaf71f3f9a1169afed6e76cd6911cd5d65a643a0498a099a602db9a6a39c21274cc"><div class="ttname"><a href="group__audio.html#ggaf71f3f9a1169afed6e76cd6911cd5d65a643a0498a099a602db9a6a39c21274cc">OMX_AUDIO_PCMModeLinear</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___audio_8h_source.html#l00130">OMX_Audio.h:130</a></div></div> <div class="ttc" id="group__comp_html_ggaa5db098e918dd8a710d0ba10f90a0cb9a23edc3556e82e981ad41f7ab9d8ea08e"><div class="ttname"><a href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9a23edc3556e82e981ad41f7ab9d8ea08e">OMX_StateExecuting</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00105">OMX_Core.h:105</a></div></div> <div class="ttc" id="omx__audiomixer__component_8c_html_a7ebd6c69e7580b8850378911e4fda0a1"><div class="ttname"><a href="omx__audiomixer__component_8c.html#a7ebd6c69e7580b8850378911e4fda0a1">omx_audio_mixer_BufferMgmtFunction</a></div><div class="ttdeci">void * omx_audio_mixer_BufferMgmtFunction(void *param)</div><div class="ttdef"><b>Definition:</b> <a href="omx__audiomixer__component_8c_source.html#l00399">omx_audiomixer_component.c:399</a></div></div> <div class="ttc" id="omx__base__component_8c_html_aa6a9e2d69b4e4ae6e1963d6d3c8caff6"><div class="ttname"><a href="omx__base__component_8c.html#aa6a9e2d69b4e4ae6e1963d6d3c8caff6">omx_base_component_GetParameter</a></div><div class="ttdeci">OMX_ERRORTYPE omx_base_component_GetParameter(OMX_HANDLETYPE hComponent, OMX_INDEXTYPE nParamIndex, OMX_PTR ComponentParameterStructure)</div><div class="ttdoc">Part of the standard OpenMAX function. </div><div class="ttdef"><b>Definition:</b> <a href="omx__base__component_8c_source.html#l00896">omx_base_component.c:896</a></div></div> <div class="ttc" id="struct_o_m_x___p_o_r_t___p_a_r_a_m___t_y_p_e_html"><div class="ttname"><a href="struct_o_m_x___p_o_r_t___p_a_r_a_m___t_y_p_e.html">OMX_PORT_PARAM_TYPE</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00471">OMX_Core.h:471</a></div></div> <div class="ttc" id="omx__base__component_8h_html_af1c9703469f22387dad26dafc826fab6a9d8e9cfcc84da243f38aebc0789a0e67"><div class="ttname"><a href="omx__base__component_8h.html#af1c9703469f22387dad26dafc826fab6a9d8e9cfcc84da243f38aebc0789a0e67">OMX_TransStatePauseToIdle</a></div><div class="ttdef"><b>Definition:</b> <a href="omx__base__component_8h_source.html#l00094">omx_base_component.h:94</a></div></div> <div class="ttc" id="group__comp_html_ggaa5db098e918dd8a710d0ba10f90a0cb9a9451f308f17785a8b768817eb4faa7c6"><div class="ttname"><a href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9a9451f308f17785a8b768817eb4faa7c6">OMX_StateLoaded</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00097">OMX_Core.h:97</a></div></div> <div class="ttc" id="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e_html"><div class="ttname"><a href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html">OMX_COMPONENTTYPE</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___component_8h_source.html#l00307">OMX_Component.h:307</a></div></div> <div class="ttc" id="_o_m_x___types_8h_html_a3c2c956d0e4e47ad96f1977395ecfb8bab901be48c0ecf3e7ecaca92817804140"><div class="ttname"><a href="_o_m_x___types_8h.html#a3c2c956d0e4e47ad96f1977395ecfb8bab901be48c0ecf3e7ecaca92817804140">OMX_EndianBig</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___types_8h_source.html#l00236">OMX_Types.h:236</a></div></div> <div class="ttc" id="omx__audiomixer__component_8h_html_a98af3e8a0ab43aaee0a8362a973b40eb"><div class="ttname"><a href="omx__audiomixer__component_8h.html#a98af3e8a0ab43aaee0a8362a973b40eb">MIXER_QUALITY_LEVELS</a></div><div class="ttdeci">#define MIXER_QUALITY_LEVELS</div><div class="ttdef"><b>Definition:</b> <a href="omx__audiomixer__component_8h_source.html#l00041">omx_audiomixer_component.h:41</a></div></div> <div class="ttc" id="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_o_r_t_f_o_r_m_a_t_t_y_p_e_html_a395451135c65e259ba9422cb494defc9"><div class="ttname"><a href="struct_o_m_x___a_u_d_i_o___p_a_r_a_m___p_o_r_t_f_o_r_m_a_t_t_y_p_e.html#a395451135c65e259ba9422cb494defc9">OMX_AUDIO_PARAM_PORTFORMATTYPE::nPortIndex</a></div><div class="ttdeci">OMX_U32 nPortIndex</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___audio_8h_source.html#l00122">OMX_Audio.h:122</a></div></div> <div class="ttc" id="queue_8c_html_ada3e91c280824049e9aaa8bb9439bc91"><div class="ttname"><a href="queue_8c.html#ada3e91c280824049e9aaa8bb9439bc91">dequeue</a></div><div class="ttdeci">void * dequeue(queue_t *queue)</div><div class="ttdef"><b>Definition:</b> <a href="queue_8c_source.html#l00122">queue.c:122</a></div></div> <div class="ttc" id="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e_html_a6dbfc4532045b381d3b2a73e9ddf567b"><div class="ttname"><a href="struct_o_m_x___c_o_m_p_o_n_e_n_t_t_y_p_e.html#a6dbfc4532045b381d3b2a73e9ddf567b">OMX_COMPONENTTYPE::GetParameter</a></div><div class="ttdeci">OMX_ERRORTYPE(* GetParameter)(OMX_IN OMX_HANDLETYPE hComponent, OMX_IN OMX_INDEXTYPE nParamIndex, OMX_INOUT OMX_PTR pComponentParameterStructure)</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___component_8h_source.html#l00356">OMX_Component.h:356</a></div></div> <div class="ttc" id="_o_m_x___core_8h_html_a4e2923ea92fd56f5bd9783a6dac7629a"><div class="ttname"><a href="_o_m_x___core_8h.html#a4e2923ea92fd56f5bd9783a6dac7629a">OMX_ERRORTYPE</a></div><div class="ttdeci">OMX_ERRORTYPE</div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00126">OMX_Core.h:126</a></div></div> <div class="ttc" id="group__comp_html_ggaa5db098e918dd8a710d0ba10f90a0cb9ae87dd9fa7603290b4cd4dafdc104e969"><div class="ttname"><a href="group__comp.html#ggaa5db098e918dd8a710d0ba10f90a0cb9ae87dd9fa7603290b4cd4dafdc104e969">OMX_StateIdle</a></div><div class="ttdef"><b>Definition:</b> <a href="_o_m_x___core_8h_source.html#l00102">OMX_Core.h:102</a></div></div> </div><!-- fragment --></div><!-- contents --> </div><!-- doc-content --> <html> <body> <hr size="1"><small>Generated for OpenMAX Bellagio rel. 0.9.3 by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small> <br> <a href="http://sourceforge.net"><img src="http://sflogo.sourceforge.net/sflogo.php?group_id=160680&type=4" width="125" height="37" border="0" alt="SourceForge.net Logo" /></a> </body> </html>