<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>jrtplib: RTCPCompoundPacketBuilder Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="jrtplib.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>RTCPCompoundPacketBuilder Class Reference</h1><!-- doxytag: class="RTCPCompoundPacketBuilder" --><!-- doxytag: inherits="RTCPCompoundPacket" -->This class can be used to construct an RTCP compound packet. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="rtcpcompoundpacketbuilder_8h_source.html">rtcpcompoundpacketbuilder.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for RTCPCompoundPacketBuilder:</div> <div class="dynsection"> <p><center><img src="classRTCPCompoundPacketBuilder__inherit__graph.png" border="0" usemap="#RTCPCompoundPacketBuilder__inherit__map" alt="Inheritance graph"></center> <map name="RTCPCompoundPacketBuilder__inherit__map"> <area shape="rect" href="classRTCPCompoundPacket.html" title="Represents an RTCP compound packet." alt="" coords="25,7,188,33"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <div class="dynheader"> Collaboration diagram for RTCPCompoundPacketBuilder:</div> <div class="dynsection"> <p><center><img src="classRTCPCompoundPacketBuilder__coll__graph.png" border="0" usemap="#RTCPCompoundPacketBuilder__coll__map" alt="Collaboration graph"></center> <map name="RTCPCompoundPacketBuilder__coll__map"> <area shape="rect" href="classRTCPCompoundPacket.html" title="Represents an RTCP compound packet." alt="" coords="25,7,188,33"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="classRTCPCompoundPacketBuilder-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPCompoundPacketBuilder.html#4de1f2db8caa78e32e629e642c5f3166">RTCPCompoundPacketBuilder</a> (<a class="el" href="classRTPMemoryManager.html">RTPMemoryManager</a> *memmgr=0)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Constructs an <a class="el" href="classRTCPCompoundPacketBuilder.html" title="This class can be used to construct an RTCP compound packet.">RTCPCompoundPacketBuilder</a> instance, optionally installing a memory manager. <a href="#4de1f2db8caa78e32e629e642c5f3166"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPCompoundPacketBuilder.html#ff61f706910a357bcc3560acdd5cd249">InitBuild</a> (size_t maxpacketsize)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Starts building an RTCP compound packet with maximum size <code>maxpacketsize</code>. <a href="#ff61f706910a357bcc3560acdd5cd249"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPCompoundPacketBuilder.html#aa4ba57a36ad6d1de8a134c5d2c8be11">InitBuild</a> (void *externalbuffer, size_t buffersize)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Starts building a RTCP compound packet. <a href="#aa4ba57a36ad6d1de8a134c5d2c8be11"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPCompoundPacketBuilder.html#6799d97eb08dae5bdbf66731b4eeddcc">StartSenderReport</a> (uint32_t senderssrc, const <a class="el" href="classRTPNTPTime.html">RTPNTPTime</a> &ntptimestamp, uint32_t rtptimestamp, uint32_t packetcount, uint32_t octetcount)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a sender report to the compound packet. <a href="#6799d97eb08dae5bdbf66731b4eeddcc"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPCompoundPacketBuilder.html#80ef812bcc888956afe6b95ef5443fa2">StartReceiverReport</a> (uint32_t senderssrc)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a receiver report to the compound packet. <a href="#80ef812bcc888956afe6b95ef5443fa2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPCompoundPacketBuilder.html#e46386b12cb888a2b912f61c07ed8d33">AddReportBlock</a> (uint32_t ssrc, uint8_t fractionlost, int32_t packetslost, uint32_t exthighestseq, uint32_t jitter, uint32_t lsr, uint32_t dlsr)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds the report block information specified by the function's arguments. <a href="#e46386b12cb888a2b912f61c07ed8d33"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPCompoundPacketBuilder.html#7e8ee7b24ddddc125d1ba3851815717b">AddSDESSource</a> (uint32_t ssrc)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Starts an SDES chunk for participant <code>ssrc</code>. <a href="#7e8ee7b24ddddc125d1ba3851815717b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPCompoundPacketBuilder.html#0f59a63113bf6a7435c82a9110c3963b">AddSDESNormalItem</a> (<a class="el" href="classRTCPSDESPacket.html#8f8a25695509ae0d02ad30ef8a4d8105">RTCPSDESPacket::ItemType</a> t, const void *itemdata, uint8_t itemlength)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a normal (non-private) SDES item of type <code>t</code> to the current SDES chunk. <a href="#0f59a63113bf6a7435c82a9110c3963b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPCompoundPacketBuilder.html#df2c561723e1f015345f961dae504cab">AddSDESPrivateItem</a> (const void *prefixdata, uint8_t prefixlength, const void *valuedata, uint8_t valuelength)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds an SDES PRIV item described by the function's arguments to the current SDES chunk. <a href="#df2c561723e1f015345f961dae504cab"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPCompoundPacketBuilder.html#3124b43b59d4e2f82cf1a778ff1a5f7d">AddBYEPacket</a> (uint32_t *ssrcs, uint8_t numssrcs, const void *reasondata, uint8_t reasonlength)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds a BYE packet to the compound packet. <a href="#3124b43b59d4e2f82cf1a778ff1a5f7d"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPCompoundPacketBuilder.html#e27e5a00f7718b7947e9d61f97e9cb10">AddAPPPacket</a> (uint8_t subtype, uint32_t ssrc, const uint8_t name[4], const void *appdata, size_t appdatalen)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adds the APP packet specified by the arguments to the compound packet. <a href="#e27e5a00f7718b7947e9d61f97e9cb10"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPCompoundPacketBuilder.html#7c0d5aa7fba12208892c79c91c60eb53">EndBuild</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Finishes building the compound packet. <a href="#7c0d5aa7fba12208892c79c91c60eb53"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The <a class="el" href="classRTCPCompoundPacketBuilder.html" title="This class can be used to construct an RTCP compound packet.">RTCPCompoundPacketBuilder</a> class can be used to construct an RTCP compound packet. It inherits the member functions of <a class="el" href="classRTCPCompoundPacket.html" title="Represents an RTCP compound packet.">RTCPCompoundPacket</a> which can be used to access the information in the compound packet once it has been built successfully. The member functions described below return <code>ERR_RTP_RTCPCOMPPACKBUILDER_NOTENOUGHBYTESLEFT</code> if the action would cause the maximum allowed size to be exceeded. <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="4de1f2db8caa78e32e629e642c5f3166"></a><!-- doxytag: member="RTCPCompoundPacketBuilder::RTCPCompoundPacketBuilder" ref="4de1f2db8caa78e32e629e642c5f3166" args="(RTPMemoryManager *memmgr=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">RTCPCompoundPacketBuilder::RTCPCompoundPacketBuilder </td> <td>(</td> <td class="paramtype"><a class="el" href="classRTPMemoryManager.html">RTPMemoryManager</a> * </td> <td class="paramname"> <em>memmgr</em> = <code>0</code> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="e27e5a00f7718b7947e9d61f97e9cb10"></a><!-- doxytag: member="RTCPCompoundPacketBuilder::AddAPPPacket" ref="e27e5a00f7718b7947e9d61f97e9cb10" args="(uint8_t subtype, uint32_t ssrc, const uint8_t name[4], const void *appdata, size_t appdatalen)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPCompoundPacketBuilder::AddAPPPacket </td> <td>(</td> <td class="paramtype">uint8_t </td> <td class="paramname"> <em>subtype</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>ssrc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const uint8_t </td> <td class="paramname"> <em>name</em>[4], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"> <em>appdata</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>appdatalen</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Adds the APP packet specified by the arguments to the compound packet. Note that <code>appdatalen</code> has to be a multiple of four. </div> </div><p> <a class="anchor" name="3124b43b59d4e2f82cf1a778ff1a5f7d"></a><!-- doxytag: member="RTCPCompoundPacketBuilder::AddBYEPacket" ref="3124b43b59d4e2f82cf1a778ff1a5f7d" args="(uint32_t *ssrcs, uint8_t numssrcs, const void *reasondata, uint8_t reasonlength)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPCompoundPacketBuilder::AddBYEPacket </td> <td>(</td> <td class="paramtype">uint32_t * </td> <td class="paramname"> <em>ssrcs</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t </td> <td class="paramname"> <em>numssrcs</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"> <em>reasondata</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t </td> <td class="paramname"> <em>reasonlength</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Adds a BYE packet to the compound packet. It will contain <code>numssrcs</code> source identifiers specified in <code>ssrcs</code> and will indicate as reason for leaving the string of length <code>reasonlength</code> containing data <code>reasondata</code>. </div> </div><p> <a class="anchor" name="e46386b12cb888a2b912f61c07ed8d33"></a><!-- doxytag: member="RTCPCompoundPacketBuilder::AddReportBlock" ref="e46386b12cb888a2b912f61c07ed8d33" args="(uint32_t ssrc, uint8_t fractionlost, int32_t packetslost, uint32_t exthighestseq, uint32_t jitter, uint32_t lsr, uint32_t dlsr)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPCompoundPacketBuilder::AddReportBlock </td> <td>(</td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>ssrc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t </td> <td class="paramname"> <em>fractionlost</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int32_t </td> <td class="paramname"> <em>packetslost</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>exthighestseq</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>jitter</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>lsr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>dlsr</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Adds the report block information specified by the function's arguments. If more than 31 report blocks are added, the builder will automatically use a new RTCP receiver report packet. </div> </div><p> <a class="anchor" name="0f59a63113bf6a7435c82a9110c3963b"></a><!-- doxytag: member="RTCPCompoundPacketBuilder::AddSDESNormalItem" ref="0f59a63113bf6a7435c82a9110c3963b" args="(RTCPSDESPacket::ItemType t, const void *itemdata, uint8_t itemlength)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPCompoundPacketBuilder::AddSDESNormalItem </td> <td>(</td> <td class="paramtype"><a class="el" href="classRTCPSDESPacket.html#8f8a25695509ae0d02ad30ef8a4d8105">RTCPSDESPacket::ItemType</a> </td> <td class="paramname"> <em>t</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"> <em>itemdata</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t </td> <td class="paramname"> <em>itemlength</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Adds a normal (non-private) SDES item of type <code>t</code> to the current SDES chunk. The item's value will have length <code>itemlength</code> and will contain the data <code>itemdata</code>. </div> </div><p> <a class="anchor" name="df2c561723e1f015345f961dae504cab"></a><!-- doxytag: member="RTCPCompoundPacketBuilder::AddSDESPrivateItem" ref="df2c561723e1f015345f961dae504cab" args="(const void *prefixdata, uint8_t prefixlength, const void *valuedata, uint8_t valuelength)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPCompoundPacketBuilder::AddSDESPrivateItem </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"> <em>prefixdata</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t </td> <td class="paramname"> <em>prefixlength</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"> <em>valuedata</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint8_t </td> <td class="paramname"> <em>valuelength</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="7e8ee7b24ddddc125d1ba3851815717b"></a><!-- doxytag: member="RTCPCompoundPacketBuilder::AddSDESSource" ref="7e8ee7b24ddddc125d1ba3851815717b" args="(uint32_t ssrc)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPCompoundPacketBuilder::AddSDESSource </td> <td>(</td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>ssrc</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="7c0d5aa7fba12208892c79c91c60eb53"></a><!-- doxytag: member="RTCPCompoundPacketBuilder::EndBuild" ref="7c0d5aa7fba12208892c79c91c60eb53" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPCompoundPacketBuilder::EndBuild </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Finishes building the compound packet. If successful, the <a class="el" href="classRTCPCompoundPacket.html" title="Represents an RTCP compound packet.">RTCPCompoundPacket</a> member functions can be used to access the RTCP packet data. </div> </div><p> <a class="anchor" name="aa4ba57a36ad6d1de8a134c5d2c8be11"></a><!-- doxytag: member="RTCPCompoundPacketBuilder::InitBuild" ref="aa4ba57a36ad6d1de8a134c5d2c8be11" args="(void *externalbuffer, size_t buffersize)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPCompoundPacketBuilder::InitBuild </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"> <em>externalbuffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>buffersize</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Starts building a RTCP compound packet. Data will be stored in <code>externalbuffer</code> which can contain <code>buffersize</code> bytes. </div> </div><p> <a class="anchor" name="ff61f706910a357bcc3560acdd5cd249"></a><!-- doxytag: member="RTCPCompoundPacketBuilder::InitBuild" ref="ff61f706910a357bcc3560acdd5cd249" args="(size_t maxpacketsize)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPCompoundPacketBuilder::InitBuild </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"> <em>maxpacketsize</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Starts building an RTCP compound packet with maximum size <code>maxpacketsize</code>. New memory will be allocated to store the packet. </div> </div><p> <a class="anchor" name="80ef812bcc888956afe6b95ef5443fa2"></a><!-- doxytag: member="RTCPCompoundPacketBuilder::StartReceiverReport" ref="80ef812bcc888956afe6b95ef5443fa2" args="(uint32_t senderssrc)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPCompoundPacketBuilder::StartReceiverReport </td> <td>(</td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>senderssrc</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Tells the packet builder that the packet should start with a receiver report which will contain he sender SSRC <code>senderssrc</code>. Once the sender report is started, report blocks can be added using the AddReportBlock function. </div> </div><p> <a class="anchor" name="6799d97eb08dae5bdbf66731b4eeddcc"></a><!-- doxytag: member="RTCPCompoundPacketBuilder::StartSenderReport" ref="6799d97eb08dae5bdbf66731b4eeddcc" args="(uint32_t senderssrc, const RTPNTPTime &ntptimestamp, uint32_t rtptimestamp, uint32_t packetcount, uint32_t octetcount)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPCompoundPacketBuilder::StartSenderReport </td> <td>(</td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>senderssrc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classRTPNTPTime.html">RTPNTPTime</a> & </td> <td class="paramname"> <em>ntptimestamp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>rtptimestamp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>packetcount</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"> <em>octetcount</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Tells the packet builder that the packet should start with a sender report which will contain the sender information specified by this function's arguments. Once the sender report is started, report blocks can be added using the AddReportBlock function. </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li>src/<a class="el" href="rtcpcompoundpacketbuilder_8h_source.html">rtcpcompoundpacketbuilder.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Sun Jul 26 09:42:13 2009 for jrtplib by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> </body> </html>