Sophie

Sophie

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

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: 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&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>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 &lt;<a class="el" href="rtcpcompoundpacketbuilder_8h_source.html">rtcpcompoundpacketbuilder.h</a>&gt;</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">&nbsp;</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">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPCompoundPacketBuilder.html#ff61f706910a357bcc3560acdd5cd249">InitBuild</a> (size_t maxpacketsize)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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> &amp;ntptimestamp, uint32_t rtptimestamp, uint32_t packetcount, uint32_t octetcount)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPCompoundPacketBuilder.html#80ef812bcc888956afe6b95ef5443fa2">StartReceiverReport</a> (uint32_t senderssrc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPCompoundPacketBuilder.html#7e8ee7b24ddddc125d1ba3851815717b">AddSDESSource</a> (uint32_t ssrc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</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">&nbsp;</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&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classRTCPCompoundPacketBuilder.html#7c0d5aa7fba12208892c79c91c60eb53">EndBuild</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</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 &amp; 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> *&nbsp;</td>
          <td class="paramname"> <em>memmgr</em> = <code>0</code>          </td>
          <td>&nbsp;)&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>subtype</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>ssrc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t&nbsp;</td>
          <td class="paramname"> <em>name</em>[4], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>appdata</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>appdatalen</em></td><td>&nbsp;</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 *&nbsp;</td>
          <td class="paramname"> <em>ssrcs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>numssrcs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>reasondata</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>reasonlength</em></td><td>&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>ssrc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>fractionlost</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>packetslost</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>exthighestseq</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>jitter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>lsr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>dlsr</em></td><td>&nbsp;</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>&nbsp;</td>
          <td class="paramname"> <em>t</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>itemdata</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>itemlength</em></td><td>&nbsp;</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 *&nbsp;</td>
          <td class="paramname"> <em>prefixdata</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>prefixlength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&nbsp;</td>
          <td class="paramname"> <em>valuedata</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>valuelength</em></td><td>&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>ssrc</em>          </td>
          <td>&nbsp;)&nbsp;</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>&nbsp;)&nbsp;</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 *&nbsp;</td>
          <td class="paramname"> <em>externalbuffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&nbsp;</td>
          <td class="paramname"> <em>buffersize</em></td><td>&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>maxpacketsize</em>          </td>
          <td>&nbsp;)&nbsp;</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&nbsp;</td>
          <td class="paramname"> <em>senderssrc</em>          </td>
          <td>&nbsp;)&nbsp;</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 &amp;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&nbsp;</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> &amp;&nbsp;</td>
          <td class="paramname"> <em>ntptimestamp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>rtptimestamp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>packetcount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>octetcount</em></td><td>&nbsp;</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&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>