Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 7c0c66d6521a2c8efa0ef6bf03291d7f > files > 89

jrtplib-devel-3.7.1-7.fc12.i686.rpm

<!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&nbsp;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&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;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 &lt;<a class="el" href="rtcppacketbuilder_8h_source.html">rtcppacketbuilder.h</a>&gt;</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&#45;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">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#78355c2b1f23b75140aba28617b14226">RTCPPacketBuilder</a> (<a class="el" href="classRTPSources.html">RTPSources</a> &amp;sources, <a class="el" href="classRTPPacketBuilder.html">RTPPacketBuilder</a> &amp;rtppackbuilder, <a class="el" href="classRTPMemoryManager.html">RTPMemoryManager</a> *mgr=0)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</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">&nbsp;</td><td class="mdescRight">Initializes the builder.  <a href="#7a2c0c06a77fffcaf822f251e760e6da"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#4a861aae8f6864a500038f0e43586f36">Destroy</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#fe5958d7c1ad50e06568893747478f56">SetTimestampUnit</a> (double tsunit)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#9b50b03cccc7b61901690ce1b2f3ee24">SetMaximumPacketSize</a> (size_t maxpacksize)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#9edd4743ac1dae6c9c5ed450980f0bbc">SetPreTransmissionDelay</a> (const <a class="el" href="classRTPTime.html">RTPTime</a> &amp;delay)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#0c3558e1ed16f5c4b67e521481358618">SetNameInterval</a> (int count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#01e7495c7419af26f2c820b5a5709a0e">SetEMailInterval</a> (int count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#69788907d417b524732188c55f8ffb4b">SetLocationInterval</a> (int count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#a312fb75d5fa3f32288f044b24b189a2">SetPhoneInterval</a> (int count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#064f49fe2246744e88b71a255052fe05">SetToolInterval</a> (int count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPPacketBuilder.html#999f2abf154d767bff38e4cb53e12000">SetNoteInterval</a> (int count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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 *&nbsp;</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">&nbsp;</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 &amp; Destructor Documentation</h2>
<a class="anchor" name="78355c2b1f23b75140aba28617b14226"></a><!-- doxytag: member="RTCPPacketBuilder::RTCPPacketBuilder" ref="78355c2b1f23b75140aba28617b14226" args="(RTPSources &amp;sources, RTPPacketBuilder &amp;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> &amp;&nbsp;</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> &amp;&nbsp;</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> *&nbsp;</td>
          <td class="paramname"> <em>mgr</em> = <code>0</code></td><td>&nbsp;</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> **&nbsp;</td>
          <td class="paramname"> <em>pack</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>reason</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>reasonlength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>useSRifpossible</em> = <code>true</code></td><td>&nbsp;</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> **&nbsp;</td>
          <td class="paramname"> <em>pack</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>maxpacksize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&nbsp;</td>
          <td class="paramname"> <em>timestampunit</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>cname</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>cnamelen</em></td><td>&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>count</em>          </td>
          <td>&nbsp;)&nbsp;</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 *&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</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 *&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</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 *&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</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 *&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</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 *&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</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 *&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>count</em>          </td>
          <td>&nbsp;)&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>maxpacksize</em>          </td>
          <td>&nbsp;)&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>count</em>          </td>
          <td>&nbsp;)&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>count</em>          </td>
          <td>&nbsp;)&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>count</em>          </td>
          <td>&nbsp;)&nbsp;</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 &amp;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> &amp;&nbsp;</td>
          <td class="paramname"> <em>delay</em>          </td>
          <td>&nbsp;)&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>tsunit</em>          </td>
          <td>&nbsp;)&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>count</em>          </td>
          <td>&nbsp;)&nbsp;</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&nbsp;
<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>