<!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: RTCPPacketBuilder 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>RTCPPacketBuilder Class Reference</h1><!-- doxytag: class="RTCPPacketBuilder" --><!-- doxytag: inherits="RTPMemoryObject" -->This class can be used to build RTCP compound packets, on a higher level than the <a class="el" href="classRTCPCompoundPacketBuilder.html" title="This class can be used to construct an RTCP compound packet.">RTCPCompoundPacketBuilder</a>. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="rtcppacketbuilder_8h_source.html">rtcppacketbuilder.h</a>></code> <p> Inherits RTPMemoryObject. <p> <div class="dynheader"> Collaboration diagram for RTCPPacketBuilder:</div> <div class="dynsection"> <p><center><img src="classRTCPPacketBuilder__coll__graph.png" border="0" usemap="#RTCPPacketBuilder__coll__map" alt="Collaboration graph"></center> <map name="RTCPPacketBuilder__coll__map"> <area shape="rect" href="classRTPPacketBuilder.html" title="This class can be used to build RTP packets and is a bit more high-level than the..." alt="" coords="53,105,181,132"><area shape="rect" href="classRTPRandom.html" title="The RTPRandom class can be used to generate random numbers." alt="" coords="5,7,101,33"><area shape="rect" href="classRTPTime.html" title="This class is used to specify wallclock time, delay intervals etc." alt="" coords="161,7,239,33"><area shape="rect" href="classRTPSources.html" title="Represents a table in which information about the participating sources is kept." alt="" coords="367,105,463,132"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="classRTCPPacketBuilder-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="classRTCPPacketBuilder.html#78355c2b1f23b75140aba28617b14226">RTCPPacketBuilder</a> (<a class="el" href="classRTPSources.html">RTPSources</a> &sources, <a class="el" href="classRTPPacketBuilder.html">RTPPacketBuilder</a> &rtppackbuilder, <a class="el" href="classRTPMemoryManager.html">RTPMemoryManager</a> *mgr=0)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates an <a class="el" href="classRTCPPacketBuilder.html" title="This class can be used to build RTCP compound packets, on a higher level than the...">RTCPPacketBuilder</a> instance. <a href="#78355c2b1f23b75140aba28617b14226"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#7a2c0c06a77fffcaf822f251e760e6da">Init</a> (size_t maxpacksize, double timestampunit, const void *cname, size_t cnamelen)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Initializes the builder. <a href="#7a2c0c06a77fffcaf822f251e760e6da"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#4a861aae8f6864a500038f0e43586f36">Destroy</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Cleans up the builder. <a href="#4a861aae8f6864a500038f0e43586f36"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#fe5958d7c1ad50e06568893747478f56">SetTimestampUnit</a> (double tsunit)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the timestamp unit to be used to <code>tsunit</code>. <a href="#fe5958d7c1ad50e06568893747478f56"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#9b50b03cccc7b61901690ce1b2f3ee24">SetMaximumPacketSize</a> (size_t maxpacksize)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the maximum size allowed size of an RTCP compound packet to <code>maxpacksize</code>. <a href="#9b50b03cccc7b61901690ce1b2f3ee24"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#9edd4743ac1dae6c9c5ed450980f0bbc">SetPreTransmissionDelay</a> (const <a class="el" href="classRTPTime.html">RTPTime</a> &delay)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This function allows you to inform RTCP packet builder about the delay between sampling the first sample of a packet and sending the packet. <a href="#9edd4743ac1dae6c9c5ed450980f0bbc"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#2a7683fb2f660f063b5a2958d8bf3d71">BuildNextPacket</a> (<a class="el" href="classRTCPCompoundPacket.html">RTCPCompoundPacket</a> **pack)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Builds the next RTCP compound packet which should be sent and stores it in <code>pack</code>. <a href="#2a7683fb2f660f063b5a2958d8bf3d71"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#1e34e48a2bf0a768dc002a39fe318260">BuildBYEPacket</a> (<a class="el" href="classRTCPCompoundPacket.html">RTCPCompoundPacket</a> **pack, const void *reason, size_t reasonlength, bool useSRifpossible=true)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Builds a BYE packet with reason for leaving specified by <code>reason</code> and length <code>reasonlength</code>. <a href="#1e34e48a2bf0a768dc002a39fe318260"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#0c3558e1ed16f5c4b67e521481358618">SetNameInterval</a> (int count)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the RTCP interval for the SDES name item. <a href="#0c3558e1ed16f5c4b67e521481358618"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#01e7495c7419af26f2c820b5a5709a0e">SetEMailInterval</a> (int count)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the RTCP interval for the SDES e-mail item. <a href="#01e7495c7419af26f2c820b5a5709a0e"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#69788907d417b524732188c55f8ffb4b">SetLocationInterval</a> (int count)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the RTCP interval for the SDES location item. <a href="#69788907d417b524732188c55f8ffb4b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#a312fb75d5fa3f32288f044b24b189a2">SetPhoneInterval</a> (int count)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the RTCP interval for the SDES phone item. <a href="#a312fb75d5fa3f32288f044b24b189a2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#064f49fe2246744e88b71a255052fe05">SetToolInterval</a> (int count)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the RTCP interval for the SDES tool item. <a href="#064f49fe2246744e88b71a255052fe05"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#999f2abf154d767bff38e4cb53e12000">SetNoteInterval</a> (int count)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the RTCP interval for the SDES note item. <a href="#999f2abf154d767bff38e4cb53e12000"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#ff96bc9bb997c9ff0b4bd87a277424dc">SetLocalName</a> (const void *s, size_t len)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the SDES name item for the local participant to the value <code>s</code> with length <code>len</code>. <a href="#ff96bc9bb997c9ff0b4bd87a277424dc"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#8d961c2038c3d9fbc82c8c0b970b142f">SetLocalEMail</a> (const void *s, size_t len)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the SDES e-mail item for the local participant to the value <code>s</code> with length <code>len</code>. <a href="#8d961c2038c3d9fbc82c8c0b970b142f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#62c3601b1c121197a46532e64bec1066">SetLocalLocation</a> (const void *s, size_t len)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the SDES location item for the local participant to the value <code>s</code> with length <code>len</code>. <a href="#62c3601b1c121197a46532e64bec1066"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#e0af3cd2bcaac6a503de1fca6413e59f">SetLocalPhone</a> (const void *s, size_t len)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the SDES phone item for the local participant to the value <code>s</code> with length <code>len</code>. <a href="#e0af3cd2bcaac6a503de1fca6413e59f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#b67fbb85c8623fdbae431a1e37e54c61">SetLocalTool</a> (const void *s, size_t len)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the SDES tool item for the local participant to the value <code>s</code> with length <code>len</code>. <a href="#b67fbb85c8623fdbae431a1e37e54c61"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#4c24365b3c2736dd5d638f3dcc7d5ae4">SetLocalNote</a> (const void *s, size_t len)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the SDES note item for the local participant to the value <code>s</code> with length <code>len</code>. <a href="#4c24365b3c2736dd5d638f3dcc7d5ae4"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fe0441644e981f1548012ff80a1bfcaa"></a><!-- doxytag: member="RTCPPacketBuilder::GetLocalCNAME" ref="fe0441644e981f1548012ff80a1bfcaa" args="(size_t *len) const " --> uint8_t * </td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#fe0441644e981f1548012ff80a1bfcaa">GetLocalCNAME</a> (size_t *len) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the own CNAME item with length <code>len</code>. <br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The class <a class="el" href="classRTCPPacketBuilder.html" title="This class can be used to build RTCP compound packets, on a higher level than the...">RTCPPacketBuilder</a> can be used to build RTCP compound packets. This class is more high-level than the <a class="el" href="classRTCPCompoundPacketBuilder.html" title="This class can be used to construct an RTCP compound packet.">RTCPCompoundPacketBuilder</a> class: it uses the information of an <a class="el" href="classRTPPacketBuilder.html" title="This class can be used to build RTP packets and is a bit more high-level than the...">RTPPacketBuilder</a> instance and of an <a class="el" href="classRTPSources.html" title="Represents a table in which information about the participating sources is kept.">RTPSources</a> instance to automatically generate the next compound packet which should be sent. It also provides functions to determine when SDES items other than the CNAME item should be sent. <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="78355c2b1f23b75140aba28617b14226"></a><!-- doxytag: member="RTCPPacketBuilder::RTCPPacketBuilder" ref="78355c2b1f23b75140aba28617b14226" args="(RTPSources &sources, RTPPacketBuilder &rtppackbuilder, RTPMemoryManager *mgr=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">RTCPPacketBuilder::RTCPPacketBuilder </td> <td>(</td> <td class="paramtype"><a class="el" href="classRTPSources.html">RTPSources</a> & </td> <td class="paramname"> <em>sources</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classRTPPacketBuilder.html">RTPPacketBuilder</a> & </td> <td class="paramname"> <em>rtppackbuilder</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classRTPMemoryManager.html">RTPMemoryManager</a> * </td> <td class="paramname"> <em>mgr</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Creates an instance which will use the source table <code>sources</code> and the RTP packet builder <code>rtppackbuilder</code> to determine the information for the next RTCP compound packet. Optionally, the memory manager <code>mgr</code> can be installed. </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="1e34e48a2bf0a768dc002a39fe318260"></a><!-- doxytag: member="RTCPPacketBuilder::BuildBYEPacket" ref="1e34e48a2bf0a768dc002a39fe318260" args="(RTCPCompoundPacket **pack, const void *reason, size_t reasonlength, bool useSRifpossible=true)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPPacketBuilder::BuildBYEPacket </td> <td>(</td> <td class="paramtype"><a class="el" href="classRTCPCompoundPacket.html">RTCPCompoundPacket</a> ** </td> <td class="paramname"> <em>pack</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"> <em>reason</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>reasonlength</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>useSRifpossible</em> = <code>true</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Builds a BYE packet with reason for leaving specified by <code>reason</code> and length <code>reasonlength</code>. If <code>useSRifpossible</code> is set to <code>true</code>, the RTCP compound packet will start with a sender report if allowed. Otherwise, a receiver report is used. </div> </div><p> <a class="anchor" name="2a7683fb2f660f063b5a2958d8bf3d71"></a><!-- doxytag: member="RTCPPacketBuilder::BuildNextPacket" ref="2a7683fb2f660f063b5a2958d8bf3d71" args="(RTCPCompoundPacket **pack)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPPacketBuilder::BuildNextPacket </td> <td>(</td> <td class="paramtype"><a class="el" href="classRTCPCompoundPacket.html">RTCPCompoundPacket</a> ** </td> <td class="paramname"> <em>pack</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="4a861aae8f6864a500038f0e43586f36"></a><!-- doxytag: member="RTCPPacketBuilder::Destroy" ref="4a861aae8f6864a500038f0e43586f36" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void RTCPPacketBuilder::Destroy </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="7a2c0c06a77fffcaf822f251e760e6da"></a><!-- doxytag: member="RTCPPacketBuilder::Init" ref="7a2c0c06a77fffcaf822f251e760e6da" args="(size_t maxpacksize, double timestampunit, const void *cname, size_t cnamelen)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPPacketBuilder::Init </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"> <em>maxpacksize</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">double </td> <td class="paramname"> <em>timestampunit</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const void * </td> <td class="paramname"> <em>cname</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>cnamelen</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Initializes the builder to use the maximum allowed packet size <code>maxpacksize</code>, timestamp unit <code>timestampunit</code> and the SDES CNAME item specified by <code>cname</code> with length <code>cnamelen</code>. The timestamp unit is defined as a time interval divided by the timestamp interval corresponding to that interval: for 8000 Hz audio this would be 1/8000. </div> </div><p> <a class="anchor" name="01e7495c7419af26f2c820b5a5709a0e"></a><!-- doxytag: member="RTCPPacketBuilder::SetEMailInterval" ref="01e7495c7419af26f2c820b5a5709a0e" args="(int count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void RTCPPacketBuilder::SetEMailInterval </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>count</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> After all possible sources in the source table have been processed, the class will check if other SDES items need to be sent. If <code>count</code> is zero or negative, nothing will happen. If <code>count</code> is positive, an SDES e-mail item will be added after the sources in the source table have been processed <code>count</code> times. </div> </div><p> <a class="anchor" name="8d961c2038c3d9fbc82c8c0b970b142f"></a><!-- doxytag: member="RTCPPacketBuilder::SetLocalEMail" ref="8d961c2038c3d9fbc82c8c0b970b142f" args="(const void *s, size_t len)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPPacketBuilder::SetLocalEMail </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"> <em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>len</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="62c3601b1c121197a46532e64bec1066"></a><!-- doxytag: member="RTCPPacketBuilder::SetLocalLocation" ref="62c3601b1c121197a46532e64bec1066" args="(const void *s, size_t len)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPPacketBuilder::SetLocalLocation </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"> <em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>len</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="ff96bc9bb997c9ff0b4bd87a277424dc"></a><!-- doxytag: member="RTCPPacketBuilder::SetLocalName" ref="ff96bc9bb997c9ff0b4bd87a277424dc" args="(const void *s, size_t len)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPPacketBuilder::SetLocalName </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"> <em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>len</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="4c24365b3c2736dd5d638f3dcc7d5ae4"></a><!-- doxytag: member="RTCPPacketBuilder::SetLocalNote" ref="4c24365b3c2736dd5d638f3dcc7d5ae4" args="(const void *s, size_t len)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPPacketBuilder::SetLocalNote </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"> <em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>len</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="e0af3cd2bcaac6a503de1fca6413e59f"></a><!-- doxytag: member="RTCPPacketBuilder::SetLocalPhone" ref="e0af3cd2bcaac6a503de1fca6413e59f" args="(const void *s, size_t len)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPPacketBuilder::SetLocalPhone </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"> <em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>len</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="b67fbb85c8623fdbae431a1e37e54c61"></a><!-- doxytag: member="RTCPPacketBuilder::SetLocalTool" ref="b67fbb85c8623fdbae431a1e37e54c61" args="(const void *s, size_t len)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPPacketBuilder::SetLocalTool </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"> <em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>len</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="69788907d417b524732188c55f8ffb4b"></a><!-- doxytag: member="RTCPPacketBuilder::SetLocationInterval" ref="69788907d417b524732188c55f8ffb4b" args="(int count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void RTCPPacketBuilder::SetLocationInterval </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>count</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> After all possible sources in the source table have been processed, the class will check if other SDES items need to be sent. If <code>count</code> is zero or negative, nothing will happen. If <code>count</code> is positive, an SDES location item will be added after the sources in the source table have been processed <code>count</code> times. </div> </div><p> <a class="anchor" name="9b50b03cccc7b61901690ce1b2f3ee24"></a><!-- doxytag: member="RTCPPacketBuilder::SetMaximumPacketSize" ref="9b50b03cccc7b61901690ce1b2f3ee24" args="(size_t maxpacksize)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPPacketBuilder::SetMaximumPacketSize </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"> <em>maxpacksize</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="0c3558e1ed16f5c4b67e521481358618"></a><!-- doxytag: member="RTCPPacketBuilder::SetNameInterval" ref="0c3558e1ed16f5c4b67e521481358618" args="(int count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void RTCPPacketBuilder::SetNameInterval </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>count</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> After all possible sources in the source table have been processed, the class will check if other SDES items need to be sent. If <code>count</code> is zero or negative, nothing will happen. If <code>count</code> is positive, an SDES name item will be added after the sources in the source table have been processed <code>count</code> times. </div> </div><p> <a class="anchor" name="999f2abf154d767bff38e4cb53e12000"></a><!-- doxytag: member="RTCPPacketBuilder::SetNoteInterval" ref="999f2abf154d767bff38e4cb53e12000" args="(int count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void RTCPPacketBuilder::SetNoteInterval </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>count</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> After all possible sources in the source table have been processed, the class will check if other SDES items need to be sent. If <code>count</code> is zero or negative, nothing will happen. If <code>count</code> is positive, an SDES note item will be added after the sources in the source table have been processed <code>count</code> times. </div> </div><p> <a class="anchor" name="a312fb75d5fa3f32288f044b24b189a2"></a><!-- doxytag: member="RTCPPacketBuilder::SetPhoneInterval" ref="a312fb75d5fa3f32288f044b24b189a2" args="(int count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void RTCPPacketBuilder::SetPhoneInterval </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>count</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> After all possible sources in the source table have been processed, the class will check if other SDES items need to be sent. If <code>count</code> is zero or negative, nothing will happen. If <code>count</code> is positive, an SDES phone item will be added after the sources in the source table have been processed <code>count</code> times. </div> </div><p> <a class="anchor" name="9edd4743ac1dae6c9c5ed450980f0bbc"></a><!-- doxytag: member="RTCPPacketBuilder::SetPreTransmissionDelay" ref="9edd4743ac1dae6c9c5ed450980f0bbc" args="(const RTPTime &delay)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPPacketBuilder::SetPreTransmissionDelay </td> <td>(</td> <td class="paramtype">const <a class="el" href="classRTPTime.html">RTPTime</a> & </td> <td class="paramname"> <em>delay</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> This function allows you to inform RTCP packet builder about the delay between sampling the first sample of a packet and sending the packet. This delay is taken into account when calculating the relation between RTP timestamp and wallclock time, used for inter-media synchronization. </div> </div><p> <a class="anchor" name="fe5958d7c1ad50e06568893747478f56"></a><!-- doxytag: member="RTCPPacketBuilder::SetTimestampUnit" ref="fe5958d7c1ad50e06568893747478f56" args="(double tsunit)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int RTCPPacketBuilder::SetTimestampUnit </td> <td>(</td> <td class="paramtype">double </td> <td class="paramname"> <em>tsunit</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Sets the timestamp unit to be used to <code>tsunit</code>. The timestamp unit is defined as a time interval divided by the timestamp interval corresponding to that interval: for 8000 Hz audio this would be 1/8000. </div> </div><p> <a class="anchor" name="064f49fe2246744e88b71a255052fe05"></a><!-- doxytag: member="RTCPPacketBuilder::SetToolInterval" ref="064f49fe2246744e88b71a255052fe05" args="(int count)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void RTCPPacketBuilder::SetToolInterval </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>count</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> After all possible sources in the source table have been processed, the class will check if other SDES items need to be sent. If <code>count</code> is zero or negative, nothing will happen. If <code>count</code> is positive, an SDES tool item will be added after the sources in the source table have been processed <code>count</code> times. </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li>src/<a class="el" href="rtcppacketbuilder_8h_source.html">rtcppacketbuilder.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>