<!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>ccRTP: rtcppkt.h 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="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">ccRTP </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="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</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>File Members</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_9fef96caddec18a3686047afa9edb227.html">ccrtp</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">rtcppkt.h</div> </div> </div><!--header--> <div class="contents"> <a href="rtcppkt_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// Copyright (C) 2001,2002,2004,2007 Federico Montesino Pouzols <fedemp@altern.org>.</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">//</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// This program is free software; you can redistribute it and/or modify</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">// it under the terms of the GNU General Public License as published by</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">// the Free Software Foundation; either version 2 of the License, or</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// (at your option) any later version.</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">//</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// This program is distributed in the hope that it will be useful,</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// GNU General Public License for more details.</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">//</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// You should have received a copy of the GNU Lesser General Public License</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// along with GNU ccRTP. If not, see <http://www.gnu.org/licenses/>.</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">//</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// As a special exception, you may use this file as part of a free software</span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">// library without restriction. Specifically, if other files instantiate</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">// templates or use macros or inline functions from this file, or you compile</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// this file and link it with other files to produce an executable, this</span></div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment">// file does not by itself cause the resulting executable to be covered by</span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment">// the GNU General Public License. This exception does not however</span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment">// invalidate any other reasons why the executable file might be covered by</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment">// the GNU General Public License.</span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment">//</span></div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment">// This exception applies only to the code released under the name GNU</span></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment">// ccRTP. If you copy code from other releases into a copy of GNU</span></div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment">// ccRTP, as the General Public License permits, the exception does</span></div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment">// not apply to the code that you add in this way. To avoid misleading</span></div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment">// anyone as to the status of such modified files, you must delete</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment">// this exception notice from them.</span></div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">//</span></div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="comment">// If you write modifications of your own for GNU ccRTP, it is your choice</span></div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="comment">// whether to permit this exception to apply to your modifications.</span></div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">// If you do not wish that, delete this exception notice.</span></div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="comment">//</span></div> <div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#ifndef CCXX_RTP_RTCPPKT_H_</span></div> <div class="line"><a name="l00038"></a><span class="lineno"> 38</span> <span class="preprocessor">#define CCXX_RTP_RTCPPKT_H_</span></div> <div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="preprocessor">#include <<a class="code" href="base_8h.html">ccrtp/base.h</a>></span></div> <div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div> <div class="line"><a name="l00042"></a><span class="lineno"> 42</span> NAMESPACE_COMMONCPP</div> <div class="line"><a name="l00043"></a><span class="lineno"> 43</span> </div> <div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#gaf6d38e5ccbbcdf2a24ebbd4fc5b4eeac"> 64</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span></div> <div class="line"><a name="l00065"></a><span class="lineno"> 65</span> {</div> <div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca2ab157e2799e810547d13a26088c9e01"> 66</a></span>  <a class="code" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca2ab157e2799e810547d13a26088c9e01">SDESItemTypeEND</a> = 0, </div> <div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca56818aeaa2d578ab0055a59b8d8d28f9"> 67</a></span>  <a class="code" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca56818aeaa2d578ab0055a59b8d8d28f9">SDESItemTypeCNAME</a>, </div> <div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacad2d8ecd66fd5a09b19c357a9178f1982"> 68</a></span>  <a class="code" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacad2d8ecd66fd5a09b19c357a9178f1982">SDESItemTypeNAME</a>, </div> <div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacafd806f44859892e30e1fdb79ee52fd52"> 69</a></span>  <a class="code" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacafd806f44859892e30e1fdb79ee52fd52">SDESItemTypeEMAIL</a>, </div> <div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca27aafda2ff2ceaf53074150976936732"> 70</a></span>  <a class="code" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca27aafda2ff2ceaf53074150976936732">SDESItemTypePHONE</a>, </div> <div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca1bc9de1bb99ecb9d04afa036eef18090"> 71</a></span>  <a class="code" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca1bc9de1bb99ecb9d04afa036eef18090">SDESItemTypeLOC</a>, </div> <div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca34f49dfe99b37116fd6459c6b20435f2"> 72</a></span>  <a class="code" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca34f49dfe99b37116fd6459c6b20435f2">SDESItemTypeTOOL</a>, </div> <div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca94e0214882a86e19eee5e10ade50860a"> 73</a></span>  <a class="code" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca94e0214882a86e19eee5e10ade50860a">SDESItemTypeNOTE</a>, </div> <div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacabfdb7c98ebb4b921d76e17f08fc1f91a"> 74</a></span>  <a class="code" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacabfdb7c98ebb4b921d76e17f08fc1f91a">SDESItemTypePRIV</a>, </div> <div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacae5040ab78402ffe4fb2d7990d09e69d1"> 75</a></span>  <a class="code" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacae5040ab78402ffe4fb2d7990d09e69d1">SDESItemTypeH323CADDR</a>, </div> <div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacae3244c9d0a70415a4c0270893d628a3f"> 76</a></span>  <a class="code" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacae3244c9d0a70415a4c0270893d628a3f">SDESItemTypeLast</a> = <a class="code" href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacae5040ab78402ffe4fb2d7990d09e69d1">SDESItemTypeH323CADDR</a> </div> <div class="line"><a name="l00077"></a><span class="lineno"> 77</span> } <a class="code" href="group__rtcppacket.html#gaf6d38e5ccbbcdf2a24ebbd4fc5b4eeac">SDESItemType</a>;</div> <div class="line"><a name="l00078"></a><span class="lineno"> 78</span> </div> <div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="class_r_t_c_p_compound_handler.html"> 89</a></span> <span class="keyword">class </span>__EXPORT <a class="code" href="class_r_t_c_p_compound_handler.html">RTCPCompoundHandler</a></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> <span class="keyword">public</span>:</div> <div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="class_r_t_c_p_compound_handler.html#a3623ef29bb08c07c38c36baecbe29deb"> 92</a></span>  <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="class_r_t_c_p_compound_handler.html#a3623ef29bb08c07c38c36baecbe29deb">setPathMTU</a>(uint16 mtu)</div> <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  { pathMTU = mtu; }</div> <div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div> <div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="class_r_t_c_p_compound_handler.html#a9e7ab53e1ade61ebb3251cc092742ff7"> 95</a></span>  <span class="keyword">inline</span> uint16 <a class="code" href="class_r_t_c_p_compound_handler.html#a9e7ab53e1ade61ebb3251cc092742ff7">getPathMTU</a>()</div> <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  { <span class="keywordflow">return</span> pathMTU; }</div> <div class="line"><a name="l00097"></a><span class="lineno"> 97</span> </div> <div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="preprocessor">#ifdef CCXX_PACKED</span></div> <div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="preprocessor">#pragma pack(1)</span></div> <div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div> <div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html"> 108</a></span>  <span class="keyword">struct </span><a class="code" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html">ReceiverInfo</a></div> <div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  {</div> <div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#acd40a9b925728ca5110e55762ea448c6"> 110</a></span>  uint8 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#acd40a9b925728ca5110e55762ea448c6">fractionLost</a>; </div> <div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#a6e7edc5fb2fd80bfef7b8e2301eff069"> 111</a></span>  uint8 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#a6e7edc5fb2fd80bfef7b8e2301eff069">lostMSB</a>; </div> <div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#ac60536e4008dc038726698acb08a65f9"> 112</a></span>  uint16 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#ac60536e4008dc038726698acb08a65f9">lostLSW</a>; </div> <div class="line"><a name="l00113"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#a2a4f0a886721846b7f094f99df450956"> 113</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#a2a4f0a886721846b7f094f99df450956">highestSeqNum</a>; </div> <div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#a0ad85fbada528393dc0a3b8be8521c0f"> 114</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#a0ad85fbada528393dc0a3b8be8521c0f">jitter</a>; </div> <div class="line"><a name="l00115"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#a0be37e011beb89df1592aeffc0b4f224"> 115</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#a0be37e011beb89df1592aeffc0b4f224">lsr</a>; </div> <div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#afc56d46ef0ba89a261b0d66787828077"> 116</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#afc56d46ef0ba89a261b0d66787828077">dlsr</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> </div> <div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_r_r_block.html"> 125</a></span>  <span class="keyword">struct </span><a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_r_block.html">RRBlock</a></div> <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  {</div> <div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_r_r_block.html#a5483c6eda6d12469ce49907964a56580"> 127</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_r_block.html#a5483c6eda6d12469ce49907964a56580">ssrc</a>; </div> <div class="line"><a name="l00128"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_r_r_block.html#a65c96aa1dd6cd21b04d117f86e811dc6"> 128</a></span>  <a class="code" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html">ReceiverInfo</a> <a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_r_block.html#a65c96aa1dd6cd21b04d117f86e811dc6">rinfo</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="l00137"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_recv_report.html"> 137</a></span>  <span class="keyword">struct </span><a class="code" href="struct_r_t_c_p_compound_handler_1_1_recv_report.html">RecvReport</a></div> <div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  {</div> <div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_recv_report.html#a1b6990e42a314744fe735a137c0866a8"> 139</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_recv_report.html#a1b6990e42a314744fe735a137c0866a8">ssrc</a>; </div> <div class="line"><a name="l00140"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_recv_report.html#a024fca41688692bb90958f87ed7d6b5a"> 140</a></span>  <a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_r_block.html">RRBlock</a> blocks[1]; </div> <div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  };</div> <div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div> <div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_sender_info.html"> 149</a></span>  <span class="keyword">struct </span><a class="code" href="struct_r_t_c_p_compound_handler_1_1_sender_info.html">SenderInfo</a></div> <div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  {</div> <div class="line"><a name="l00151"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_sender_info.html#a059807c74b7ee010ef61113824771f39"> 151</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_sender_info.html#a059807c74b7ee010ef61113824771f39">NTPMSW</a>; </div> <div class="line"><a name="l00152"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_sender_info.html#a6236c2709ffc5add31660ba837d47dee"> 152</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_sender_info.html#a6236c2709ffc5add31660ba837d47dee">NTPLSW</a>; </div> <div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_sender_info.html#ad9a14ba96e63c2668384bde50747d7ef"> 153</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_sender_info.html#ad9a14ba96e63c2668384bde50747d7ef">RTPTimestamp</a>; </div> <div class="line"><a name="l00154"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_sender_info.html#a2cd1ebfc00726bae03378e889c0982f9"> 154</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_sender_info.html#a2cd1ebfc00726bae03378e889c0982f9">packetCount</a>; </div> <div class="line"><a name="l00155"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_sender_info.html#a0646fee7e9981aff70ccb50a4b750fd5"> 155</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_sender_info.html#a0646fee7e9981aff70ccb50a4b750fd5">octetCount</a>; </div> <div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  };</div> <div class="line"><a name="l00157"></a><span class="lineno"> 157</span> </div> <div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_send_report.html"> 163</a></span>  <span class="keyword">struct </span><a class="code" href="struct_r_t_c_p_compound_handler_1_1_send_report.html">SendReport</a></div> <div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  {</div> <div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_send_report.html#abbcb1ea1d9074b4c04327dad5fe8d092"> 165</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_send_report.html#abbcb1ea1d9074b4c04327dad5fe8d092">ssrc</a>; </div> <div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_send_report.html#a1fbafa8b770f0fbc485e88aaf1f79aa3"> 166</a></span>  <a class="code" href="struct_r_t_c_p_compound_handler_1_1_sender_info.html">SenderInfo</a> <a class="code" href="struct_r_t_c_p_compound_handler_1_1_send_report.html#a1fbafa8b770f0fbc485e88aaf1f79aa3">sinfo</a>; </div> <div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_send_report.html#a1052fff713c7e19e8ee6d424121d7464"> 167</a></span>  <a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_r_block.html">RRBlock</a> blocks[1]; </div> <div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  };</div> <div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div> <div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_item.html"> 175</a></span>  <span class="keyword">struct </span><a class="code" href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_item.html">SDESItem</a></div> <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  {</div> <div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_item.html#a48d9ca697de79b4303fbb59f9f65088f"> 177</a></span>  uint8 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_item.html#a48d9ca697de79b4303fbb59f9f65088f">type</a>; </div> <div class="line"><a name="l00178"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_item.html#a18763299a3ea9884443fac209379a108"> 178</a></span>  uint8 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_item.html#a18763299a3ea9884443fac209379a108">len</a>; </div> <div class="line"><a name="l00179"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_item.html#a9bd243111d1644fc8196ce3fb096b2de"> 179</a></span>  <span class="keywordtype">char</span> data[1]; </div> <div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  };</div> <div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div> <div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_chunk.html"> 187</a></span>  <span class="keyword">struct </span><a class="code" href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_chunk.html">SDESChunk</a></div> <div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  {</div> <div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_chunk.html#abb06410c5b14ea083943a39f492f8a07"> 189</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_chunk.html#abb06410c5b14ea083943a39f492f8a07">getSSRC</a>()<span class="keyword"> const</span></div> <div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> (ntohl(ssrc)); }</div> <div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div> <div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_chunk.html#a45381781add3d4244268e6cef376474b"> 192</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_chunk.html#a45381781add3d4244268e6cef376474b">ssrc</a>; </div> <div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_chunk.html#a287a9b69dd782f58925667fae264fb04"> 193</a></span>  <a class="code" href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_item.html">SDESItem</a> <a class="code" href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_chunk.html#a287a9b69dd782f58925667fae264fb04">item</a>; </div> <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  };</div> <div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div> <div class="line"><a name="l00201"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_b_y_e_packet.html"> 201</a></span>  <span class="keyword">struct </span><a class="code" href="struct_r_t_c_p_compound_handler_1_1_b_y_e_packet.html">BYEPacket</a></div> <div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  {</div> <div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_b_y_e_packet.html#a8f34a2aabb8ff2712ff8cd82483502d1"> 203</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_b_y_e_packet.html#a8f34a2aabb8ff2712ff8cd82483502d1">ssrc</a>; </div> <div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_b_y_e_packet.html#a8a7c385f1360554104e041efe2cc4ae8"> 204</a></span>  uint8 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_b_y_e_packet.html#a8a7c385f1360554104e041efe2cc4ae8">length</a>; </div> <div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  };</div> <div class="line"><a name="l00206"></a><span class="lineno"> 206</span> </div> <div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_a_p_p_packet.html"> 212</a></span>  <span class="keyword">struct </span><a class="code" href="struct_r_t_c_p_compound_handler_1_1_a_p_p_packet.html">APPPacket</a></div> <div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  {</div> <div class="line"><a name="l00214"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_a_p_p_packet.html#a340f00fce484051185dc2c19f3d6554c"> 214</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_a_p_p_packet.html#a340f00fce484051185dc2c19f3d6554c">ssrc</a>; </div> <div class="line"><a name="l00215"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_a_p_p_packet.html#ae72a406da9bb92e848363acd692278af"> 215</a></span>  <span class="keywordtype">char</span> name [4]; </div> <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> data[1]; </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> </div> <div class="line"><a name="l00227"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_f_i_r_packet.html"> 227</a></span>  <span class="keyword">struct </span><a class="code" href="struct_r_t_c_p_compound_handler_1_1_f_i_r_packet.html">FIRPacket</a></div> <div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  {</div> <div class="line"><a name="l00229"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_f_i_r_packet.html#a1dec40a11dad36552b7898b79e787895"> 229</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_f_i_r_packet.html#a1dec40a11dad36552b7898b79e787895">ssrc</a>; </div> <div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  };</div> <div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div> <div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_n_a_c_k_packet.html"> 238</a></span>  <span class="keyword">struct </span><a class="code" href="struct_r_t_c_p_compound_handler_1_1_n_a_c_k_packet.html">NACKPacket</a></div> <div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  {</div> <div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_n_a_c_k_packet.html#a2f8bca349178e36adf6d7ac352ba286b"> 240</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_n_a_c_k_packet.html#a2f8bca349178e36adf6d7ac352ba286b">ssrc</a>; </div> <div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_n_a_c_k_packet.html#a3b02f5fe322211f8187983bf3b26176a"> 241</a></span>  uint16 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_n_a_c_k_packet.html#a3b02f5fe322211f8187983bf3b26176a">fsn</a>; </div> <div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_n_a_c_k_packet.html#ab222a67b39f9d17fa3a4c9235a67910a"> 242</a></span>  uint16 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_n_a_c_k_packet.html#ab222a67b39f9d17fa3a4c9235a67910a">blp</a>; </div> <div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  };</div> <div class="line"><a name="l00244"></a><span class="lineno"> 244</span> </div> <div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_fixed_header.html"> 250</a></span>  <span class="keyword">struct </span><a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_fixed_header.html">RTCPFixedHeader</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> <span class="preprocessor">#if defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN</span></div> <div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> version:2; </div> <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> padding:1; </div> <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> block_count:5; </div> <div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="preprocessor">#else</span></div> <div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> block_count:5; </div> <div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_fixed_header.html#abf98f8c5f57fc81a2f441e4ceac290a0"> 260</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> padding:1; </div> <div class="line"><a name="l00261"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_fixed_header.html#a8db409c3810a744fa24b6c400139da91"> 261</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> version:2; </div> <div class="line"><a name="l00262"></a><span class="lineno"> 262</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00263"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_fixed_header.html#ae2c42f01da4e4e5de1805e5bdbce3e00"> 263</a></span>  uint8 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_fixed_header.html#ae2c42f01da4e4e5de1805e5bdbce3e00">type</a>; </div> <div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_fixed_header.html#a2b5e9d8db5f193abb691fe37bce12a2d"> 264</a></span>  uint16 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_fixed_header.html#a2b5e9d8db5f193abb691fe37bce12a2d">length</a>; </div> <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  };</div> <div class="line"><a name="l00266"></a><span class="lineno"> 266</span> </div> <div class="line"><a name="l00277"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html"> 277</a></span>  <span class="keyword">struct </span><a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html">RTCPPacket</a></div> <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  {</div> <div class="line"><a name="l00284"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#gaba1554acd8799ea098afd9f5c33dfebb"> 284</a></span>  <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div> <div class="line"><a name="l00285"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaba1554acd8799ea098afd9f5c33dfebbab87b69766e8b4586935176eb81218f3e"> 285</a></span>  tSR = 200, </div> <div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaba1554acd8799ea098afd9f5c33dfebba83566f7fd6d28389a379cf7bda6b3428"> 286</a></span>  <a class="code" href="group__rtcppacket.html#ggaba1554acd8799ea098afd9f5c33dfebba83566f7fd6d28389a379cf7bda6b3428">tRR</a>, </div> <div class="line"><a name="l00287"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaba1554acd8799ea098afd9f5c33dfebba7643d7745e72167d28f62758ff1425c2"> 287</a></span>  <a class="code" href="group__rtcppacket.html#ggaba1554acd8799ea098afd9f5c33dfebba7643d7745e72167d28f62758ff1425c2">tSDES</a>, </div> <div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaba1554acd8799ea098afd9f5c33dfebba792ff41b91103efed0b9335b4991e44d"> 288</a></span>  <a class="code" href="group__rtcppacket.html#ggaba1554acd8799ea098afd9f5c33dfebba792ff41b91103efed0b9335b4991e44d">tBYE</a>, </div> <div class="line"><a name="l00289"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaba1554acd8799ea098afd9f5c33dfebba4a6228323107edaaee4bb96ca071d09e"> 289</a></span>  <a class="code" href="group__rtcppacket.html#ggaba1554acd8799ea098afd9f5c33dfebba4a6228323107edaaee4bb96ca071d09e">tAPP</a>, </div> <div class="line"><a name="l00290"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaba1554acd8799ea098afd9f5c33dfebba2ad99da06d146f03b44e011d02eefdb9"> 290</a></span>  tFIR = 192, </div> <div class="line"><a name="l00291"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaba1554acd8799ea098afd9f5c33dfebba24f150df28bb9ac1b02398b5fc834d6a"> 291</a></span>  tNACK = 193, </div> <div class="line"><a name="l00292"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggaba1554acd8799ea098afd9f5c33dfebba8d0597168d6904d735a85a49326f2254"> 292</a></span>  tXR </div> <div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  } Type;</div> <div class="line"><a name="l00294"></a><span class="lineno"> 294</span> </div> <div class="line"><a name="l00299"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#a1f0f0024b873d1a1bda1ac9b53a2f664"> 299</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#a1f0f0024b873d1a1bda1ac9b53a2f664">getLength</a>()<span class="keyword"> const</span></div> <div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> ((ntohs(fh.length) + 1) << 2); }</div> <div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div> <div class="line"><a name="l00306"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#aa29ddee811c44a24aa730d5f0a3756e0"> 306</a></span>  uint32 <a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#aa29ddee811c44a24aa730d5f0a3756e0">getSSRC</a>()<span class="keyword"> const</span></div> <div class="line"><a name="l00307"></a><span class="lineno"> 307</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> (ntohl(info.RR.ssrc)); } <span class="comment">// SSRC is always the first</span></div> <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="comment">// word after fh.</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="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#a1b31e5b2de260168dd57c771c86ea708"> 310</a></span>  <a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_fixed_header.html">RTCPFixedHeader</a> <a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#a1b31e5b2de260168dd57c771c86ea708">fh</a>; </div> <div class="line"><a name="l00311"></a><span class="lineno"> 311</span> </div> <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="comment">// An RTCP packet may be of any of the types defined</span></div> <div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="comment">// above, including APP specific ones.</span></div> <div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <span class="keyword">union</span></div> <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  {</div> <div class="line"><a name="l00316"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#aad83ef07f41ccabc8d87e69e2ef5867c"> 316</a></span>  <a class="code" href="struct_r_t_c_p_compound_handler_1_1_send_report.html">SendReport</a> <a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#aad83ef07f41ccabc8d87e69e2ef5867c">SR</a>;</div> <div class="line"><a name="l00317"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#a5858bc49abca67b807f5d640f63228ea"> 317</a></span>  <a class="code" href="struct_r_t_c_p_compound_handler_1_1_recv_report.html">RecvReport</a> <a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#a5858bc49abca67b807f5d640f63228ea">RR</a>;</div> <div class="line"><a name="l00318"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#a46f1795ba0484f5b13463f18b9eab3d9"> 318</a></span>  <a class="code" href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_chunk.html">SDESChunk</a> <a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#a46f1795ba0484f5b13463f18b9eab3d9">SDES</a>;</div> <div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#ad1bad37427837ff784f225f19a50823a"> 319</a></span>  <a class="code" href="struct_r_t_c_p_compound_handler_1_1_b_y_e_packet.html">BYEPacket</a> <a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#ad1bad37427837ff784f225f19a50823a">BYE</a>;</div> <div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#a2f851a1598bdcd6b125614da44682f4e"> 320</a></span>  <a class="code" href="struct_r_t_c_p_compound_handler_1_1_a_p_p_packet.html">APPPacket</a> <a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#a2f851a1598bdcd6b125614da44682f4e">APP</a>;</div> <div class="line"><a name="l00321"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#a4b93f50da5d9d1386eda98cb875d47cf"> 321</a></span>  <a class="code" href="struct_r_t_c_p_compound_handler_1_1_n_a_c_k_packet.html">NACKPacket</a> <a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#a4b93f50da5d9d1386eda98cb875d47cf">NACK</a>;</div> <div class="line"><a name="l00322"></a><span class="lineno"><a class="line" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#ae0ef70600d389504438894b2b508a474"> 322</a></span>  <a class="code" href="struct_r_t_c_p_compound_handler_1_1_f_i_r_packet.html">FIRPacket</a> <a class="code" href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#ae0ef70600d389504438894b2b508a474">FIR</a>;</div> <div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  } info; </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> <span class="preprocessor">#ifdef CCXX_PACKED</span></div> <div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="preprocessor">#pragma pack()</span></div> <div class="line"><a name="l00327"></a><span class="lineno"> 327</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div> <div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="keyword">protected</span>:</div> <div class="line"><a name="l00330"></a><span class="lineno"><a class="line" href="group__rtcppacket.html#ggae9b0b9f5a967506a540084d3370490bfa09de71c940cfdbd49cc1c49fe58220b7"> 330</a></span>  <span class="keyword">enum</span> { defaultPathMTU = 1500 };</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>  <a class="code" href="class_r_t_c_p_compound_handler.html">RTCPCompoundHandler</a>(uint16 mtu = defaultPathMTU);</div> <div class="line"><a name="l00333"></a><span class="lineno"> 333</span> </div> <div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  ~<a class="code" href="class_r_t_c_p_compound_handler.html">RTCPCompoundHandler</a>();</div> <div class="line"><a name="l00335"></a><span class="lineno"> 335</span> </div> <div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  <span class="keywordtype">bool</span></div> <div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  checkCompoundRTCPHeader(<span class="keywordtype">size_t</span> len);</div> <div class="line"><a name="l00349"></a><span class="lineno"> 349</span> </div> <div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  <span class="comment">// buffer to hold RTCP compound packets being sent. Allocated</span></div> <div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  <span class="comment">// in construction time</span></div> <div class="line"><a name="l00352"></a><span class="lineno"><a class="line" href="class_r_t_c_p_compound_handler.html#a51035644bd0291c76238b39be6745570"> 352</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* <a class="code" href="class_r_t_c_p_compound_handler.html#a51035644bd0291c76238b39be6745570">rtcpSendBuffer</a>;</div> <div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="comment">// buffer to hold RTCP compound packets being</span></div> <div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  <span class="comment">// received. Allocated at construction time</span></div> <div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="class_r_t_c_p_compound_handler.html#ab8d2a43b8e5ac42e4faa11a005b8cfc2"> 355</a></span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* <a class="code" href="class_r_t_c_p_compound_handler.html#ab8d2a43b8e5ac42e4faa11a005b8cfc2">rtcpRecvBuffer</a>;</div> <div class="line"><a name="l00356"></a><span class="lineno"> 356</span> </div> <div class="line"><a name="l00357"></a><span class="lineno"><a class="line" href="class_r_t_c_p_compound_handler.html#a2a20d7d348fbd23cb074951ba06ae9f6"> 357</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_r_t_c_p_sender_info.html">RTCPSenderInfo</a>;</div> <div class="line"><a name="l00358"></a><span class="lineno"><a class="line" href="class_r_t_c_p_compound_handler.html#a9aa5832d33dc9fc7a7d8157fe45c6da3"> 358</a></span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="class_r_t_c_p_receiver_info.html">RTCPReceiverInfo</a>;</div> <div class="line"><a name="l00359"></a><span class="lineno"> 359</span> <span class="keyword">private</span>:</div> <div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="comment">// path MTU. RTCP packets should not be greater than this</span></div> <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  uint16 pathMTU;</div> <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="comment">// masks for RTCP header validation;</span></div> <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="keyword">static</span> <span class="keyword">const</span> uint16 RTCP_VALID_MASK;</div> <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <span class="keyword">static</span> <span class="keyword">const</span> uint16 RTCP_VALID_VALUE;</div> <div class="line"><a name="l00365"></a><span class="lineno"> 365</span> };</div> <div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div> <div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="class_r_t_c_p_receiver_info.html"> 373</a></span> <span class="keyword">class </span>__EXPORT <a class="code" href="class_r_t_c_p_receiver_info.html">RTCPReceiverInfo</a></div> <div class="line"><a name="l00374"></a><span class="lineno"> 374</span> {</div> <div class="line"><a name="l00375"></a><span class="lineno"> 375</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="class_r_t_c_p_receiver_info.html#ab762ee23564243349275e9ae59ed1df8"> 376</a></span>  <a class="code" href="class_r_t_c_p_receiver_info.html#ab762ee23564243349275e9ae59ed1df8">RTCPReceiverInfo</a>(<span class="keywordtype">void</span>* ri)</div> <div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  { memcpy(&receiverInfo,&ri,</div> <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keyword">sizeof</span>(<a class="code" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html">RTCPCompoundHandler::ReceiverInfo</a>));}</div> <div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div> <div class="line"><a name="l00380"></a><span class="lineno"><a class="line" href="class_r_t_c_p_receiver_info.html#a0c60ed6b8079a83c3687c1624071bb84"> 380</a></span>  <a class="code" href="class_r_t_c_p_receiver_info.html#a0c60ed6b8079a83c3687c1624071bb84">RTCPReceiverInfo</a>(<a class="code" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html">RTCPCompoundHandler::ReceiverInfo</a>& si)</div> <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  : receiverInfo( si )</div> <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  {</div> <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  }</div> <div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div> <div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="class_r_t_c_p_receiver_info.html#a2bc3fbbe671318da279a051c23d5fa8f"> 385</a></span>  <a class="code" href="class_r_t_c_p_receiver_info.html#a2bc3fbbe671318da279a051c23d5fa8f">~RTCPReceiverInfo</a>()</div> <div class="line"><a name="l00386"></a><span class="lineno"> 386</span>  { }</div> <div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div> <div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keyword">inline</span> uint8</div> <div class="line"><a name="l00393"></a><span class="lineno"><a class="line" href="class_r_t_c_p_receiver_info.html#aaa9e6614a089fb9120f375b3ef11f41e"> 393</a></span>  <a class="code" href="class_r_t_c_p_receiver_info.html#aaa9e6614a089fb9120f375b3ef11f41e">getFractionLost</a>()<span class="keyword"> const</span></div> <div class="line"><a name="l00394"></a><span class="lineno"> 394</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> receiverInfo.fractionLost; }</div> <div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div> <div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keyword">inline</span> uint32</div> <div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="class_r_t_c_p_receiver_info.html#a628bbe9739bffac717ca0fcc6d30700b"> 397</a></span>  <a class="code" href="class_r_t_c_p_receiver_info.html#a628bbe9739bffac717ca0fcc6d30700b">getCumulativePacketLost</a>()<span class="keyword"> const</span></div> <div class="line"><a name="l00398"></a><span class="lineno"> 398</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> ( ((uint32)ntohs(receiverInfo.lostLSW)) +</div> <div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  (((uint32)receiverInfo.lostMSB) << 16) ); }</div> <div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div> <div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <span class="keyword">inline</span> uint32</div> <div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="class_r_t_c_p_receiver_info.html#a6956ba83ceb94cf218517ff6bf5e0f47"> 402</a></span>  <a class="code" href="class_r_t_c_p_receiver_info.html#a6956ba83ceb94cf218517ff6bf5e0f47">getExtendedSeqNum</a>()<span class="keyword"> const</span></div> <div class="line"><a name="l00403"></a><span class="lineno"> 403</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> ntohl(receiverInfo.highestSeqNum); }</div> <div class="line"><a name="l00404"></a><span class="lineno"> 404</span> </div> <div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  uint32</div> <div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="class_r_t_c_p_receiver_info.html#a59e02663ca8f4f09ef540254e101fa77"> 412</a></span>  <a class="code" href="class_r_t_c_p_receiver_info.html#a59e02663ca8f4f09ef540254e101fa77">getJitter</a>()<span class="keyword"> const</span></div> <div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> ntohl(receiverInfo.jitter); }</div> <div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div> <div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  uint16</div> <div class="line"><a name="l00421"></a><span class="lineno"><a class="line" href="class_r_t_c_p_receiver_info.html#add2897fb994e78e2ab403c404cf08f16"> 421</a></span>  <a class="code" href="class_r_t_c_p_receiver_info.html#add2897fb994e78e2ab403c404cf08f16">getLastSRNTPTimestampInt</a>()<span class="keyword"> const</span></div> <div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> (uint16)((ntohl(receiverInfo.lsr) & 0xFFFF0000) >> 16); }</div> <div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div> <div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  uint16</div> <div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="class_r_t_c_p_receiver_info.html#a74108f07817626491239b11e38404352"> 430</a></span>  <a class="code" href="class_r_t_c_p_receiver_info.html#a74108f07817626491239b11e38404352">getLastSRNTPTimestampFrac</a>()<span class="keyword"> const</span></div> <div class="line"><a name="l00431"></a><span class="lineno"> 431</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> (uint16)(ntohl(receiverInfo.lsr) & 0xFFFF); }</div> <div class="line"><a name="l00432"></a><span class="lineno"> 432</span> </div> <div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  uint32</div> <div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="class_r_t_c_p_receiver_info.html#a6dd8393ce0ac9137cb879df1e78c6791"> 440</a></span>  <a class="code" href="class_r_t_c_p_receiver_info.html#a6dd8393ce0ac9137cb879df1e78c6791">getDelayLastSR</a>()<span class="keyword"> const</span></div> <div class="line"><a name="l00441"></a><span class="lineno"> 441</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> ntohl(receiverInfo.dlsr); }</div> <div class="line"><a name="l00442"></a><span class="lineno"> 442</span> </div> <div class="line"><a name="l00443"></a><span class="lineno"> 443</span> <span class="keyword">private</span>:</div> <div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <a class="code" href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html">RTCPCompoundHandler::ReceiverInfo</a> receiverInfo;</div> <div class="line"><a name="l00445"></a><span class="lineno"> 445</span> };</div> <div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div> <div class="line"><a name="l00453"></a><span class="lineno"><a class="line" href="class_r_t_c_p_sender_info.html"> 453</a></span> <span class="keyword">class </span>__EXPORT <a class="code" href="class_r_t_c_p_sender_info.html">RTCPSenderInfo</a></div> <div class="line"><a name="l00454"></a><span class="lineno"> 454</span> {</div> <div class="line"><a name="l00455"></a><span class="lineno"> 455</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00456"></a><span class="lineno"><a class="line" href="class_r_t_c_p_sender_info.html#aed69ed7a5cfee9def4361f0c0ea94347"> 456</a></span>  <a class="code" href="class_r_t_c_p_sender_info.html#aed69ed7a5cfee9def4361f0c0ea94347">RTCPSenderInfo</a>(<span class="keywordtype">void</span>* si)</div> <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  { memcpy(&senderInfo,&si,</div> <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="keyword">sizeof</span>(<a class="code" href="struct_r_t_c_p_compound_handler_1_1_sender_info.html">RTCPCompoundHandler::SenderInfo</a>));}</div> <div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div> <div class="line"><a name="l00460"></a><span class="lineno"><a class="line" href="class_r_t_c_p_sender_info.html#a7322036d10bff1898d4ed37dd140ac99"> 460</a></span>  <a class="code" href="class_r_t_c_p_sender_info.html#a7322036d10bff1898d4ed37dd140ac99">RTCPSenderInfo</a>(<a class="code" href="struct_r_t_c_p_compound_handler_1_1_sender_info.html">RTCPCompoundHandler::SenderInfo</a>& si)</div> <div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  : senderInfo( si )</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>  }</div> <div class="line"><a name="l00464"></a><span class="lineno"> 464</span> </div> <div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="class_r_t_c_p_sender_info.html#a8f459aaa74198e51cd5a5615b2270663"> 465</a></span>  <a class="code" href="class_r_t_c_p_sender_info.html#a8f459aaa74198e51cd5a5615b2270663">~RTCPSenderInfo</a>()</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> </div> <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  uint32</div> <div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="class_r_t_c_p_sender_info.html#afa803d35a5ea717b6f2ac6c378caa33e"> 473</a></span>  <a class="code" href="class_r_t_c_p_sender_info.html#afa803d35a5ea717b6f2ac6c378caa33e">getNTPTimestampInt</a>()<span class="keyword"> const</span></div> <div class="line"><a name="l00474"></a><span class="lineno"> 474</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> ntohl(senderInfo.NTPMSW); }</div> <div class="line"><a name="l00475"></a><span class="lineno"> 475</span> </div> <div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  uint32</div> <div class="line"><a name="l00481"></a><span class="lineno"><a class="line" href="class_r_t_c_p_sender_info.html#a77ef13de46413470078405e77ec23de9"> 481</a></span>  <a class="code" href="class_r_t_c_p_sender_info.html#a77ef13de46413470078405e77ec23de9">getNTPTimestampFrac</a>()<span class="keyword"> const</span></div> <div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> ntohl(senderInfo.NTPLSW); }</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>  <span class="keyword">inline</span> uint32</div> <div class="line"><a name="l00485"></a><span class="lineno"><a class="line" href="class_r_t_c_p_sender_info.html#a5ca06c8c1d193b98559019bd811c71b1"> 485</a></span>  <a class="code" href="class_r_t_c_p_sender_info.html#a5ca06c8c1d193b98559019bd811c71b1">getRTPTimestamp</a>()<span class="keyword"> const</span></div> <div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> ntohl(senderInfo.RTPTimestamp); }</div> <div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div> <div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keyword">inline</span> uint32</div> <div class="line"><a name="l00492"></a><span class="lineno"><a class="line" href="class_r_t_c_p_sender_info.html#a7fbe662395922a2131cf6a0b4e9468e1"> 492</a></span>  <a class="code" href="class_r_t_c_p_sender_info.html#a7fbe662395922a2131cf6a0b4e9468e1">getPacketCount</a>()<span class="keyword"> const</span></div> <div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> ntohl(senderInfo.packetCount); }</div> <div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div> <div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keyword">inline</span> uint32</div> <div class="line"><a name="l00496"></a><span class="lineno"><a class="line" href="class_r_t_c_p_sender_info.html#a65846e1e78e28e8fafc5bc6dffbac72a"> 496</a></span>  <a class="code" href="class_r_t_c_p_sender_info.html#a65846e1e78e28e8fafc5bc6dffbac72a">getOctetCount</a>()<span class="keyword"> const</span></div> <div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="keyword"> </span>{ <span class="keywordflow">return</span> ntohl(senderInfo.octetCount); }</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="keyword">private</span>:</div> <div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <a class="code" href="struct_r_t_c_p_compound_handler_1_1_sender_info.html">RTCPCompoundHandler::SenderInfo</a> senderInfo;</div> <div class="line"><a name="l00501"></a><span class="lineno"> 501</span> };</div> <div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div> <div class="line"><a name="l00511"></a><span class="lineno"> 511</span> timeval</div> <div class="line"><a name="l00512"></a><span class="lineno"> 512</span> <a class="code" href="group__rtcppacket.html#ga854f3202157f7c3a3f64af77794b7598">NTP2Timeval</a>(uint32 msw, uint32 lsw);</div> <div class="line"><a name="l00513"></a><span class="lineno"> 513</span> </div> <div class="line"><a name="l00521"></a><span class="lineno"> 521</span> uint32</div> <div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <a class="code" href="group__rtcppacket.html#gad57d4689eec9bb3987b3e70613d9e9e1">timevalIntervalTo65536</a>(timeval& t);</div> <div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <span class="comment">// rtcppacket</span></div> <div class="line"><a name="l00525"></a><span class="lineno"> 525</span> </div> <div class="line"><a name="l00526"></a><span class="lineno"> 526</span> END_NAMESPACE</div> <div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div> <div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="preprocessor">#endif // ndef CCXX_RTP_RTCPPKT_H_</span></div> <div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div> <div class="ttc" id="class_r_t_c_p_compound_handler_html_ab8d2a43b8e5ac42e4faa11a005b8cfc2"><div class="ttname"><a href="class_r_t_c_p_compound_handler.html#ab8d2a43b8e5ac42e4faa11a005b8cfc2">RTCPCompoundHandler::rtcpRecvBuffer</a></div><div class="ttdeci">unsigned char * rtcpRecvBuffer</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:355</div></div> <div class="ttc" id="class_r_t_c_p_sender_info_html_a5ca06c8c1d193b98559019bd811c71b1"><div class="ttname"><a href="class_r_t_c_p_sender_info.html#a5ca06c8c1d193b98559019bd811c71b1">RTCPSenderInfo::getRTPTimestamp</a></div><div class="ttdeci">uint32 getRTPTimestamp() const </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:485</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_send_report_html"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_send_report.html">RTCPCompoundHandler::SendReport</a></div><div class="ttdoc">Struct for SR (sender report) RTCP packets. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:163</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_b_y_e_packet_html_a8a7c385f1360554104e041efe2cc4ae8"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_b_y_e_packet.html#a8a7c385f1360554104e041efe2cc4ae8">RTCPCompoundHandler::BYEPacket::length</a></div><div class="ttdeci">uint8 length</div><div class="ttdoc">[optional] length of reason. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:204</div></div> <div class="ttc" id="class_r_t_c_p_receiver_info_html_ab762ee23564243349275e9ae59ed1df8"><div class="ttname"><a href="class_r_t_c_p_receiver_info.html#ab762ee23564243349275e9ae59ed1df8">RTCPReceiverInfo::RTCPReceiverInfo</a></div><div class="ttdeci">RTCPReceiverInfo(void *ri)</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:376</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_n_a_c_k_packet_html_a2f8bca349178e36adf6d7ac352ba286b"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_n_a_c_k_packet.html#a2f8bca349178e36adf6d7ac352ba286b">RTCPCompoundHandler::NACKPacket::ssrc</a></div><div class="ttdeci">uint32 ssrc</div><div class="ttdoc">ssrc identifier of source. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:240</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_sender_info_html"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_sender_info.html">RTCPCompoundHandler::SenderInfo</a></div><div class="ttdoc">Struct for the sender info block in a SR (sender report) RTCP packet. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:149</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet_html_ae0ef70600d389504438894b2b508a474"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#ae0ef70600d389504438894b2b508a474">RTCPCompoundHandler::RTCPPacket::FIR</a></div><div class="ttdeci">FIRPacket FIR</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:322</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_chunk_html_a287a9b69dd782f58925667fae264fb04"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_chunk.html#a287a9b69dd782f58925667fae264fb04">RTCPCompoundHandler::SDESChunk::item</a></div><div class="ttdeci">SDESItem item</div><div class="ttdoc">SDES item from sender. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:193</div></div> <div class="ttc" id="group__rtcppacket_html_ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacae3244c9d0a70415a4c0270893d628a3f"><div class="ttname"><a href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacae3244c9d0a70415a4c0270893d628a3f">SDESItemTypeLast</a></div><div class="ttdoc">Last defined code. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:76</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_sender_info_html_ad9a14ba96e63c2668384bde50747d7ef"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_sender_info.html#ad9a14ba96e63c2668384bde50747d7ef">RTCPCompoundHandler::SenderInfo::RTPTimestamp</a></div><div class="ttdeci">uint32 RTPTimestamp</div><div class="ttdoc">RTP timestamp. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:153</div></div> <div class="ttc" id="class_r_t_c_p_sender_info_html_aed69ed7a5cfee9def4361f0c0ea94347"><div class="ttname"><a href="class_r_t_c_p_sender_info.html#aed69ed7a5cfee9def4361f0c0ea94347">RTCPSenderInfo::RTCPSenderInfo</a></div><div class="ttdeci">RTCPSenderInfo(void *si)</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:456</div></div> <div class="ttc" id="group__rtcppacket_html_ggaba1554acd8799ea098afd9f5c33dfebba7643d7745e72167d28f62758ff1425c2"><div class="ttname"><a href="group__rtcppacket.html#ggaba1554acd8799ea098afd9f5c33dfebba7643d7745e72167d28f62758ff1425c2">RTCPCompoundHandler::RTCPPacket::tSDES</a></div><div class="ttdoc">Source DEScription. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:287</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_sender_info_html_a2cd1ebfc00726bae03378e889c0982f9"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_sender_info.html#a2cd1ebfc00726bae03378e889c0982f9">RTCPCompoundHandler::SenderInfo::packetCount</a></div><div class="ttdeci">uint32 packetCount</div><div class="ttdoc">cumulative packet counter. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:154</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_n_a_c_k_packet_html_a3b02f5fe322211f8187983bf3b26176a"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_n_a_c_k_packet.html#a3b02f5fe322211f8187983bf3b26176a">RTCPCompoundHandler::NACKPacket::fsn</a></div><div class="ttdeci">uint16 fsn</div><div class="ttdoc">First Sequence Number lost. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:241</div></div> <div class="ttc" id="class_r_t_c_p_compound_handler_html_a9e7ab53e1ade61ebb3251cc092742ff7"><div class="ttname"><a href="class_r_t_c_p_compound_handler.html#a9e7ab53e1ade61ebb3251cc092742ff7">RTCPCompoundHandler::getPathMTU</a></div><div class="ttdeci">uint16 getPathMTU()</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:95</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_receiver_info_html"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html">RTCPCompoundHandler::ReceiverInfo</a></div><div class="ttdoc">Struct for the data contained in a receiver info block. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:108</div></div> <div class="ttc" id="group__rtcppacket_html_ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca56818aeaa2d578ab0055a59b8d8d28f9"><div class="ttname"><a href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca56818aeaa2d578ab0055a59b8d8d28f9">SDESItemTypeCNAME</a></div><div class="ttdoc">Canonical end-point identifier. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:67</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_r_r_block_html"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_r_r_block.html">RTCPCompoundHandler::RRBlock</a></div><div class="ttdoc">Struct for a receiver info block in a SR (sender report) or an RR (receiver report) RTCP packet...</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:125</div></div> <div class="ttc" id="group__rtcppacket_html_ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca94e0214882a86e19eee5e10ade50860a"><div class="ttname"><a href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca94e0214882a86e19eee5e10ade50860a">SDESItemTypeNOTE</a></div><div class="ttdoc">Comment usually reporting state. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:73</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_item_html_a48d9ca697de79b4303fbb59f9f65088f"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_item.html#a48d9ca697de79b4303fbb59f9f65088f">RTCPCompoundHandler::SDESItem::type</a></div><div class="ttdeci">uint8 type</div><div class="ttdoc">item identifier. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:177</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_sender_info_html_a0646fee7e9981aff70ccb50a4b750fd5"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_sender_info.html#a0646fee7e9981aff70ccb50a4b750fd5">RTCPCompoundHandler::SenderInfo::octetCount</a></div><div class="ttdeci">uint32 octetCount</div><div class="ttdoc">cumulative octet counter. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:155</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_receiver_info_html_a0ad85fbada528393dc0a3b8be8521c0f"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#a0ad85fbada528393dc0a3b8be8521c0f">RTCPCompoundHandler::ReceiverInfo::jitter</a></div><div class="ttdeci">uint32 jitter</div><div class="ttdoc">arrival jitter. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:114</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_receiver_info_html_ac60536e4008dc038726698acb08a65f9"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#ac60536e4008dc038726698acb08a65f9">RTCPCompoundHandler::ReceiverInfo::lostLSW</a></div><div class="ttdeci">uint16 lostLSW</div><div class="ttdoc">cumulative lost two LSB. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:112</div></div> <div class="ttc" id="class_r_t_c_p_receiver_info_html"><div class="ttname"><a href="class_r_t_c_p_receiver_info.html">RTCPReceiverInfo</a></div><div class="ttdoc">Report block information of SR/RR RTCP reports. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:373</div></div> <div class="ttc" id="group__rtcppacket_html_ggaba1554acd8799ea098afd9f5c33dfebba792ff41b91103efed0b9335b4991e44d"><div class="ttname"><a href="group__rtcppacket.html#ggaba1554acd8799ea098afd9f5c33dfebba792ff41b91103efed0b9335b4991e44d">RTCPCompoundHandler::RTCPPacket::tBYE</a></div><div class="ttdoc">End of participation. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:288</div></div> <div class="ttc" id="group__rtcppacket_html_ggaba1554acd8799ea098afd9f5c33dfebba4a6228323107edaaee4bb96ca071d09e"><div class="ttname"><a href="group__rtcppacket.html#ggaba1554acd8799ea098afd9f5c33dfebba4a6228323107edaaee4bb96ca071d09e">RTCPCompoundHandler::RTCPPacket::tAPP</a></div><div class="ttdoc">APPlication specific. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:289</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet_html_ad1bad37427837ff784f225f19a50823a"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#ad1bad37427837ff784f225f19a50823a">RTCPCompoundHandler::RTCPPacket::BYE</a></div><div class="ttdeci">BYEPacket BYE</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:319</div></div> <div class="ttc" id="group__rtcppacket_html_ggaba1554acd8799ea098afd9f5c33dfebba83566f7fd6d28389a379cf7bda6b3428"><div class="ttname"><a href="group__rtcppacket.html#ggaba1554acd8799ea098afd9f5c33dfebba83566f7fd6d28389a379cf7bda6b3428">RTCPCompoundHandler::RTCPPacket::tRR</a></div><div class="ttdoc">Receiver Report. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:286</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_chunk_html"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_chunk.html">RTCPCompoundHandler::SDESChunk</a></div><div class="ttdoc">Struct for a chunk of items in a SDES RTCP packet. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:187</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_recv_report_html_a1b6990e42a314744fe735a137c0866a8"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_recv_report.html#a1b6990e42a314744fe735a137c0866a8">RTCPCompoundHandler::RecvReport::ssrc</a></div><div class="ttdeci">uint32 ssrc</div><div class="ttdoc">source identifier. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:139</div></div> <div class="ttc" id="group__rtcppacket_html_ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca27aafda2ff2ceaf53074150976936732"><div class="ttname"><a href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca27aafda2ff2ceaf53074150976936732">SDESItemTypePHONE</a></div><div class="ttdoc">Phone number of the user. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:70</div></div> <div class="ttc" id="class_r_t_c_p_sender_info_html_a77ef13de46413470078405e77ec23de9"><div class="ttname"><a href="class_r_t_c_p_sender_info.html#a77ef13de46413470078405e77ec23de9">RTCPSenderInfo::getNTPTimestampFrac</a></div><div class="ttdeci">uint32 getNTPTimestampFrac() const </div><div class="ttdoc">Get fractional part of the NTP timestamp of this packet. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:481</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_r_r_block_html_a65c96aa1dd6cd21b04d117f86e811dc6"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_r_r_block.html#a65c96aa1dd6cd21b04d117f86e811dc6">RTCPCompoundHandler::RRBlock::rinfo</a></div><div class="ttdeci">ReceiverInfo rinfo</div><div class="ttdoc">info about the source. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:128</div></div> <div class="ttc" id="class_r_t_c_p_receiver_info_html_add2897fb994e78e2ab403c404cf08f16"><div class="ttname"><a href="class_r_t_c_p_receiver_info.html#add2897fb994e78e2ab403c404cf08f16">RTCPReceiverInfo::getLastSRNTPTimestampInt</a></div><div class="ttdeci">uint16 getLastSRNTPTimestampInt() const </div><div class="ttdoc">Get the integer part of the NTP timestamp of the last SR RTCP packet received from the source this re...</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:421</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet_html_a46f1795ba0484f5b13463f18b9eab3d9"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#a46f1795ba0484f5b13463f18b9eab3d9">RTCPCompoundHandler::RTCPPacket::SDES</a></div><div class="ttdeci">SDESChunk SDES</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:318</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_a_p_p_packet_html_a340f00fce484051185dc2c19f3d6554c"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_a_p_p_packet.html#a340f00fce484051185dc2c19f3d6554c">RTCPCompoundHandler::APPPacket::ssrc</a></div><div class="ttdeci">uint32 ssrc</div><div class="ttdoc">ssrc identifier of source. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:214</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_b_y_e_packet_html"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_b_y_e_packet.html">RTCPCompoundHandler::BYEPacket</a></div><div class="ttdoc">Struct for BYE (leaving session) RTCP packets. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:201</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_f_i_r_packet_html_a1dec40a11dad36552b7898b79e787895"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_f_i_r_packet.html#a1dec40a11dad36552b7898b79e787895">RTCPCompoundHandler::FIRPacket::ssrc</a></div><div class="ttdeci">uint32 ssrc</div><div class="ttdoc">ssrc identifier of source. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:229</div></div> <div class="ttc" id="class_r_t_c_p_receiver_info_html_a59e02663ca8f4f09ef540254e101fa77"><div class="ttname"><a href="class_r_t_c_p_receiver_info.html#a59e02663ca8f4f09ef540254e101fa77">RTCPReceiverInfo::getJitter</a></div><div class="ttdeci">uint32 getJitter() const </div><div class="ttdoc">Get the statistical variance of the RTP data packets interarrival time. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:412</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_fixed_header_html"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_fixed_header.html">RTCPCompoundHandler::RTCPFixedHeader</a></div><div class="ttdoc">Fixed RTCP packet header. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:250</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet_html_a1f0f0024b873d1a1bda1ac9b53a2f664"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#a1f0f0024b873d1a1bda1ac9b53a2f664">RTCPCompoundHandler::RTCPPacket::getLength</a></div><div class="ttdeci">uint32 getLength() const </div><div class="ttdoc">Get the packet length specified in its header, in octets and in host order. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:299</div></div> <div class="ttc" id="class_r_t_c_p_compound_handler_html_a51035644bd0291c76238b39be6745570"><div class="ttname"><a href="class_r_t_c_p_compound_handler.html#a51035644bd0291c76238b39be6745570">RTCPCompoundHandler::rtcpSendBuffer</a></div><div class="ttdeci">unsigned char * rtcpSendBuffer</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:352</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_receiver_info_html_a6e7edc5fb2fd80bfef7b8e2301eff069"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#a6e7edc5fb2fd80bfef7b8e2301eff069">RTCPCompoundHandler::ReceiverInfo::lostMSB</a></div><div class="ttdeci">uint8 lostMSB</div><div class="ttdoc">cumulative lost MSB of 3 octets. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:111</div></div> <div class="ttc" id="group__rtcppacket_html_ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca2ab157e2799e810547d13a26088c9e01"><div class="ttname"><a href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca2ab157e2799e810547d13a26088c9e01">SDESItemTypeEND</a></div><div class="ttdoc">END of SDES item list. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:66</div></div> <div class="ttc" id="class_r_t_c_p_compound_handler_html"><div class="ttname"><a href="class_r_t_c_p_compound_handler.html">RTCPCompoundHandler</a></div><div class="ttdoc">low level structs and RTCP packet parsing and building methods. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:89</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet_html_aa29ddee811c44a24aa730d5f0a3756e0"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#aa29ddee811c44a24aa730d5f0a3756e0">RTCPCompoundHandler::RTCPPacket::getSSRC</a></div><div class="ttdeci">uint32 getSSRC() const </div><div class="ttdoc">Get the SSRC identifier specified in the packet header, in host order. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:306</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_receiver_info_html_a2a4f0a886721846b7f094f99df450956"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#a2a4f0a886721846b7f094f99df450956">RTCPCompoundHandler::ReceiverInfo::highestSeqNum</a></div><div class="ttdeci">uint32 highestSeqNum</div><div class="ttdoc">highest sequence number. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:113</div></div> <div class="ttc" id="class_r_t_c_p_sender_info_html"><div class="ttname"><a href="class_r_t_c_p_sender_info.html">RTCPSenderInfo</a></div><div class="ttdoc">Sender block information of SR RTCP reports. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:453</div></div> <div class="ttc" id="group__rtcppacket_html_ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacabfdb7c98ebb4b921d76e17f08fc1f91a"><div class="ttname"><a href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacabfdb7c98ebb4b921d76e17f08fc1f91a">SDESItemTypePRIV</a></div><div class="ttdoc">Private extension. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:74</div></div> <div class="ttc" id="class_r_t_c_p_receiver_info_html_aaa9e6614a089fb9120f375b3ef11f41e"><div class="ttname"><a href="class_r_t_c_p_receiver_info.html#aaa9e6614a089fb9120f375b3ef11f41e">RTCPReceiverInfo::getFractionLost</a></div><div class="ttdeci">uint8 getFractionLost() const </div><div class="ttdoc">Get fraction of lost packets, as a number between 0 and 255. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:393</div></div> <div class="ttc" id="class_r_t_c_p_receiver_info_html_a2bc3fbbe671318da279a051c23d5fa8f"><div class="ttname"><a href="class_r_t_c_p_receiver_info.html#a2bc3fbbe671318da279a051c23d5fa8f">RTCPReceiverInfo::~RTCPReceiverInfo</a></div><div class="ttdeci">~RTCPReceiverInfo()</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:385</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_n_a_c_k_packet_html"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_n_a_c_k_packet.html">RTCPCompoundHandler::NACKPacket</a></div><div class="ttdoc">Struct for Negative ACKnowledgements (NACK) RTCP packet. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:238</div></div> <div class="ttc" id="group__rtcppacket_html_gad57d4689eec9bb3987b3e70613d9e9e1"><div class="ttname"><a href="group__rtcppacket.html#gad57d4689eec9bb3987b3e70613d9e9e1">timevalIntervalTo65536</a></div><div class="ttdeci">uint32 timevalIntervalTo65536(timeval &t)</div><div class="ttdoc">Convert a time interval, expressed as a timeval, into a 32-bit time interval expressed in units of 1/...</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_f_i_r_packet_html"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_f_i_r_packet.html">RTCPCompoundHandler::FIRPacket</a></div><div class="ttdoc">Struct for Full Intra-frame Request (FIR) RTCP packet. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:227</div></div> <div class="ttc" id="class_r_t_c_p_receiver_info_html_a0c60ed6b8079a83c3687c1624071bb84"><div class="ttname"><a href="class_r_t_c_p_receiver_info.html#a0c60ed6b8079a83c3687c1624071bb84">RTCPReceiverInfo::RTCPReceiverInfo</a></div><div class="ttdeci">RTCPReceiverInfo(RTCPCompoundHandler::ReceiverInfo &si)</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:380</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_fixed_header_html_a2b5e9d8db5f193abb691fe37bce12a2d"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_fixed_header.html#a2b5e9d8db5f193abb691fe37bce12a2d">RTCPCompoundHandler::RTCPFixedHeader::length</a></div><div class="ttdeci">uint16 length</div><div class="ttdoc">number of 32-bit words in the packet (minus one). </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:264</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_item_html"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_item.html">RTCPCompoundHandler::SDESItem</a></div><div class="ttdoc">Struct for an item description of a SDES packet. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:175</div></div> <div class="ttc" id="class_r_t_c_p_sender_info_html_a7322036d10bff1898d4ed37dd140ac99"><div class="ttname"><a href="class_r_t_c_p_sender_info.html#a7322036d10bff1898d4ed37dd140ac99">RTCPSenderInfo::RTCPSenderInfo</a></div><div class="ttdeci">RTCPSenderInfo(RTCPCompoundHandler::SenderInfo &si)</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:460</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet_html"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html">RTCPCompoundHandler::RTCPPacket</a></div><div class="ttdoc">Struct representing general RTCP packet headers as they are sent through the network. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:277</div></div> <div class="ttc" id="group__rtcppacket_html_ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacad2d8ecd66fd5a09b19c357a9178f1982"><div class="ttname"><a href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacad2d8ecd66fd5a09b19c357a9178f1982">SDESItemTypeNAME</a></div><div class="ttdoc">Personal NAME of the user. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:68</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_n_a_c_k_packet_html_ab222a67b39f9d17fa3a4c9235a67910a"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_n_a_c_k_packet.html#ab222a67b39f9d17fa3a4c9235a67910a">RTCPCompoundHandler::NACKPacket::blp</a></div><div class="ttdeci">uint16 blp</div><div class="ttdoc">Bitmask of following Lost Packets. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:242</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_chunk_html_abb06410c5b14ea083943a39f492f8a07"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_chunk.html#abb06410c5b14ea083943a39f492f8a07">RTCPCompoundHandler::SDESChunk::getSSRC</a></div><div class="ttdeci">uint32 getSSRC() const </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:189</div></div> <div class="ttc" id="group__rtcppacket_html_ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacae5040ab78402ffe4fb2d7990d09e69d1"><div class="ttname"><a href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacae5040ab78402ffe4fb2d7990d09e69d1">SDESItemTypeH323CADDR</a></div><div class="ttdoc">H323 callable address. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:75</div></div> <div class="ttc" id="class_r_t_c_p_receiver_info_html_a74108f07817626491239b11e38404352"><div class="ttname"><a href="class_r_t_c_p_receiver_info.html#a74108f07817626491239b11e38404352">RTCPReceiverInfo::getLastSRNTPTimestampFrac</a></div><div class="ttdeci">uint16 getLastSRNTPTimestampFrac() const </div><div class="ttdoc">Get the fractional part of the NTP timestamp of the last SR RTCP packet received from the source this...</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:430</div></div> <div class="ttc" id="class_r_t_c_p_compound_handler_html_a3623ef29bb08c07c38c36baecbe29deb"><div class="ttname"><a href="class_r_t_c_p_compound_handler.html#a3623ef29bb08c07c38c36baecbe29deb">RTCPCompoundHandler::setPathMTU</a></div><div class="ttdeci">void setPathMTU(uint16 mtu)</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:92</div></div> <div class="ttc" id="base_8h_html"><div class="ttname"><a href="base_8h.html">base.h</a></div><div class="ttdoc">Base elements for RTP stacks: constants, types and global functions. </div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet_html_a4b93f50da5d9d1386eda98cb875d47cf"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#a4b93f50da5d9d1386eda98cb875d47cf">RTCPCompoundHandler::RTCPPacket::NACK</a></div><div class="ttdeci">NACKPacket NACK</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:321</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_a_p_p_packet_html"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_a_p_p_packet.html">RTCPCompoundHandler::APPPacket</a></div><div class="ttdoc">Struct for APP (application specific) RTCP packets. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:212</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_fixed_header_html_ae2c42f01da4e4e5de1805e5bdbce3e00"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_fixed_header.html#ae2c42f01da4e4e5de1805e5bdbce3e00">RTCPCompoundHandler::RTCPFixedHeader::type</a></div><div class="ttdeci">uint8 type</div><div class="ttdoc">type of RTCP packet. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:263</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet_html_a5858bc49abca67b807f5d640f63228ea"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#a5858bc49abca67b807f5d640f63228ea">RTCPCompoundHandler::RTCPPacket::RR</a></div><div class="ttdeci">RecvReport RR</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:317</div></div> <div class="ttc" id="group__rtcppacket_html_ga854f3202157f7c3a3f64af77794b7598"><div class="ttname"><a href="group__rtcppacket.html#ga854f3202157f7c3a3f64af77794b7598">NTP2Timeval</a></div><div class="ttdeci">timeval NTP2Timeval(uint32 msw, uint32 lsw)</div><div class="ttdoc">Convert a NTP timestamp, expressed as two 32-bit long words, into a timeval value. </div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_r_r_block_html_a5483c6eda6d12469ce49907964a56580"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_r_r_block.html#a5483c6eda6d12469ce49907964a56580">RTCPCompoundHandler::RRBlock::ssrc</a></div><div class="ttdeci">uint32 ssrc</div><div class="ttdoc">source identifier. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:127</div></div> <div class="ttc" id="class_r_t_c_p_receiver_info_html_a6956ba83ceb94cf218517ff6bf5e0f47"><div class="ttname"><a href="class_r_t_c_p_receiver_info.html#a6956ba83ceb94cf218517ff6bf5e0f47">RTCPReceiverInfo::getExtendedSeqNum</a></div><div class="ttdeci">uint32 getExtendedSeqNum() const </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:402</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_receiver_info_html_a0be37e011beb89df1592aeffc0b4f224"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#a0be37e011beb89df1592aeffc0b4f224">RTCPCompoundHandler::ReceiverInfo::lsr</a></div><div class="ttdeci">uint32 lsr</div><div class="ttdoc">last sender report timestamp. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:115</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_item_html_a18763299a3ea9884443fac209379a108"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_item.html#a18763299a3ea9884443fac209379a108">RTCPCompoundHandler::SDESItem::len</a></div><div class="ttdeci">uint8 len</div><div class="ttdoc">item len in octets. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:178</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet_html_a2f851a1598bdcd6b125614da44682f4e"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#a2f851a1598bdcd6b125614da44682f4e">RTCPCompoundHandler::RTCPPacket::APP</a></div><div class="ttdeci">APPPacket APP</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:320</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet_html_a1b31e5b2de260168dd57c771c86ea708"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#a1b31e5b2de260168dd57c771c86ea708">RTCPCompoundHandler::RTCPPacket::fh</a></div><div class="ttdeci">RTCPFixedHeader fh</div><div class="ttdoc">Fixed RTCP header. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:310</div></div> <div class="ttc" id="class_r_t_c_p_receiver_info_html_a628bbe9739bffac717ca0fcc6d30700b"><div class="ttname"><a href="class_r_t_c_p_receiver_info.html#a628bbe9739bffac717ca0fcc6d30700b">RTCPReceiverInfo::getCumulativePacketLost</a></div><div class="ttdeci">uint32 getCumulativePacketLost() const </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:397</div></div> <div class="ttc" id="class_r_t_c_p_sender_info_html_a7fbe662395922a2131cf6a0b4e9468e1"><div class="ttname"><a href="class_r_t_c_p_sender_info.html#a7fbe662395922a2131cf6a0b4e9468e1">RTCPSenderInfo::getPacketCount</a></div><div class="ttdeci">uint32 getPacketCount() const </div><div class="ttdoc">Get count of sent data packets. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:492</div></div> <div class="ttc" id="class_r_t_c_p_sender_info_html_afa803d35a5ea717b6f2ac6c378caa33e"><div class="ttname"><a href="class_r_t_c_p_sender_info.html#afa803d35a5ea717b6f2ac6c378caa33e">RTCPSenderInfo::getNTPTimestampInt</a></div><div class="ttdeci">uint32 getNTPTimestampInt() const </div><div class="ttdoc">Get integer part of the NTP timestamp of this packet. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:473</div></div> <div class="ttc" id="group__rtcppacket_html_ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca34f49dfe99b37116fd6459c6b20435f2"><div class="ttname"><a href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca34f49dfe99b37116fd6459c6b20435f2">SDESItemTypeTOOL</a></div><div class="ttdoc">Application or tool. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:72</div></div> <div class="ttc" id="class_r_t_c_p_sender_info_html_a8f459aaa74198e51cd5a5615b2270663"><div class="ttname"><a href="class_r_t_c_p_sender_info.html#a8f459aaa74198e51cd5a5615b2270663">RTCPSenderInfo::~RTCPSenderInfo</a></div><div class="ttdeci">~RTCPSenderInfo()</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:465</div></div> <div class="ttc" id="class_r_t_c_p_sender_info_html_a65846e1e78e28e8fafc5bc6dffbac72a"><div class="ttname"><a href="class_r_t_c_p_sender_info.html#a65846e1e78e28e8fafc5bc6dffbac72a">RTCPSenderInfo::getOctetCount</a></div><div class="ttdeci">uint32 getOctetCount() const </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:496</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_receiver_info_html_acd40a9b925728ca5110e55762ea448c6"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#acd40a9b925728ca5110e55762ea448c6">RTCPCompoundHandler::ReceiverInfo::fractionLost</a></div><div class="ttdeci">uint8 fractionLost</div><div class="ttdoc">packet fraction lost. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:110</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_sender_info_html_a059807c74b7ee010ef61113824771f39"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_sender_info.html#a059807c74b7ee010ef61113824771f39">RTCPCompoundHandler::SenderInfo::NTPMSW</a></div><div class="ttdeci">uint32 NTPMSW</div><div class="ttdoc">NTP timestamp higher octets. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:151</div></div> <div class="ttc" id="group__rtcppacket_html_ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacafd806f44859892e30e1fdb79ee52fd52"><div class="ttname"><a href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeacafd806f44859892e30e1fdb79ee52fd52">SDESItemTypeEMAIL</a></div><div class="ttdoc">EMAIL address of the user. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:69</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_sender_info_html_a6236c2709ffc5add31660ba837d47dee"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_sender_info.html#a6236c2709ffc5add31660ba837d47dee">RTCPCompoundHandler::SenderInfo::NTPLSW</a></div><div class="ttdeci">uint32 NTPLSW</div><div class="ttdoc">NTP timestamp lower octets. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:152</div></div> <div class="ttc" id="group__rtcppacket_html_gaf6d38e5ccbbcdf2a24ebbd4fc5b4eeac"><div class="ttname"><a href="group__rtcppacket.html#gaf6d38e5ccbbcdf2a24ebbd4fc5b4eeac">SDESItemType</a></div><div class="ttdeci">SDESItemType</div><div class="ttdoc">SDES items that may be carried in a Source DEScription RTCP packet. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:64</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_receiver_info_html_afc56d46ef0ba89a261b0d66787828077"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_receiver_info.html#afc56d46ef0ba89a261b0d66787828077">RTCPCompoundHandler::ReceiverInfo::dlsr</a></div><div class="ttdeci">uint32 dlsr</div><div class="ttdoc">delay since last sender report. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:116</div></div> <div class="ttc" id="class_r_t_c_p_receiver_info_html_a6dd8393ce0ac9137cb879df1e78c6791"><div class="ttname"><a href="class_r_t_c_p_receiver_info.html#a6dd8393ce0ac9137cb879df1e78c6791">RTCPReceiverInfo::getDelayLastSR</a></div><div class="ttdeci">uint32 getDelayLastSR() const </div><div class="ttdoc">Get the delay between the last SR packet received and the transmission of this report. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:440</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet_html_aad83ef07f41ccabc8d87e69e2ef5867c"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_r_t_c_p_packet.html#aad83ef07f41ccabc8d87e69e2ef5867c">RTCPCompoundHandler::RTCPPacket::SR</a></div><div class="ttdeci">SendReport SR</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:316</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_send_report_html_a1fbafa8b770f0fbc485e88aaf1f79aa3"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_send_report.html#a1fbafa8b770f0fbc485e88aaf1f79aa3">RTCPCompoundHandler::SendReport::sinfo</a></div><div class="ttdeci">SenderInfo sinfo</div><div class="ttdoc">actual sender info. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:166</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_send_report_html_abbcb1ea1d9074b4c04327dad5fe8d092"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_send_report.html#abbcb1ea1d9074b4c04327dad5fe8d092">RTCPCompoundHandler::SendReport::ssrc</a></div><div class="ttdeci">uint32 ssrc</div><div class="ttdoc">source identifier. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:165</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_b_y_e_packet_html_a8f34a2aabb8ff2712ff8cd82483502d1"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_b_y_e_packet.html#a8f34a2aabb8ff2712ff8cd82483502d1">RTCPCompoundHandler::BYEPacket::ssrc</a></div><div class="ttdeci">uint32 ssrc</div><div class="ttdoc">ssrc identifier of source leaving. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:203</div></div> <div class="ttc" id="group__rtcppacket_html_ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca1bc9de1bb99ecb9d04afa036eef18090"><div class="ttname"><a href="group__rtcppacket.html#ggaf6d38e5ccbbcdf2a24ebbd4fc5b4eeaca1bc9de1bb99ecb9d04afa036eef18090">SDESItemTypeLOC</a></div><div class="ttdoc">Location where the user is. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:71</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_recv_report_html"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_recv_report.html">RTCPCompoundHandler::RecvReport</a></div><div class="ttdoc">raw structure of the source and every receiver report in an SR or RR RTCP packet. ...</div><div class="ttdef"><b>Definition:</b> rtcppkt.h:137</div></div> <div class="ttc" id="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_chunk_html_a45381781add3d4244268e6cef376474b"><div class="ttname"><a href="struct_r_t_c_p_compound_handler_1_1_s_d_e_s_chunk.html#a45381781add3d4244268e6cef376474b">RTCPCompoundHandler::SDESChunk::ssrc</a></div><div class="ttdeci">uint32 ssrc</div><div class="ttdoc">SSRC identifer from sender. </div><div class="ttdef"><b>Definition:</b> rtcppkt.h:192</div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Sun Feb 8 2015 08:32:24 for ccRTP by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.8 </small></address> </body> </html>