Sophie

Sophie

distrib > Fedora > 14 > i386 > by-pkgid > 598246a3099b0106d22dd5249478d3b7 > files > 63

ccrtp-devel-1.7.1-2.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>ccRTP: IncomingRTPPkt Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.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><a href="modules.html"><span>Modules</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="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</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>IncomingRTPPkt Class Reference<br>
<small>
[<a class="el" href="group__rtppacket.html">RTP data packets manipulation.</a>]</small>
</h1><!-- doxytag: class="IncomingRTPPkt" --><!-- doxytag: inherits="RTPPacket" -->RTP packets received from other participants.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="rtppkt_8h_source.html">rtppkt.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for IncomingRTPPkt:</div>
<div class="dynsection">

<p><center><img src="class_incoming_r_t_p_pkt.png" usemap="#IncomingRTPPkt_map" border="0" alt=""></center>
<map name="IncomingRTPPkt_map">
<area href="class_r_t_p_packet.html" alt="RTPPacket" shape="rect" coords="0,0,102,24">
</map>
</div>

<p>
<a href="class_incoming_r_t_p_pkt-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="class_incoming_r_t_p_pkt.html#f9b87c274f500add283be28d510f74e3">IncomingRTPPkt</a> (const unsigned char *block, size_t len)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Build an RTP packet object from a data buffer.  <a href="#f9b87c274f500add283be28d510f74e3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_r_t_p_pkt.html#2c81f3b5fb2c83bf07b254a656080c16">~IncomingRTPPkt</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_r_t_p_pkt.html#6e66b5f86f07fb30584e0ab2064da7e7">isHeaderValid</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get validity of this packet.  <a href="#6e66b5f86f07fb30584e0ab2064da7e7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_r_t_p_pkt.html#66459c52ff9cf1e22605b570b0235ded">getSSRC</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get synchronization source numeric identifier.  <a href="#66459c52ff9cf1e22605b570b0235ded"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int32&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_r_t_p_pkt.html#35d0a1eb4b39413c05c5bce596f28ed0">unprotect</a> (<a class="el" href="class_crypto_context.html">CryptoContext</a> *pcc)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unprotect a received packet.  <a href="#35d0a1eb4b39413c05c5bce596f28ed0"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_r_t_p_pkt.html#4f993815747c556594158fe06acff748">operator==</a> (const <a class="el" href="class_incoming_r_t_p_pkt.html">IncomingRTPPkt</a> &amp;p) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Two incoming packets are equal if they come from sources with the same SSRC and have the same sequence number.  <a href="#4f993815747c556594158fe06acff748"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_r_t_p_pkt.html#b1c8c99a2f5e78d1ef722c32ea33e1b3">operator!=</a> (const <a class="el" href="class_incoming_r_t_p_pkt.html">IncomingRTPPkt</a> &amp;p) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Two incoming packets are not equal if they come from different sources or have different sequence numbers.  <a href="#b1c8c99a2f5e78d1ef722c32ea33e1b3"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
RTP packets received from other participants. 
<p>
This class is intented to construct a packet object just after every packet is received by the scheduled queue, so that they are processed in an understandable and format independent manner inside the stack.<p>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Federico Montesino Pouzols &lt;<a href="mailto:fedemp@altern.org">fedemp@altern.org</a>&gt; </dd></dl>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="f9b87c274f500add283be28d510f74e3"></a><!-- doxytag: member="IncomingRTPPkt::IncomingRTPPkt" ref="f9b87c274f500add283be28d510f74e3" args="(const unsigned char *block, size_t len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">IncomingRTPPkt::IncomingRTPPkt           </td>
          <td>(</td>
          <td class="paramtype">const unsigned char *&nbsp;</td>
          <td class="paramname"> <em>block</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></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Build an RTP packet object from a data buffer. 
<p>
This constructor first performs a generic RTP data packet header check, whose result can be checked via <a class="el" href="class_incoming_r_t_p_pkt.html#6e66b5f86f07fb30584e0ab2064da7e7" title="Get validity of this packet.">isHeaderValid()</a>.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>block</em>&nbsp;</td><td>pointer to the buffer the whole packet is stored in. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>length of the whole packet, expressed in octets.</td></tr>
  </table>
</dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>If check fails, the packet object is incomplete. checking <a class="el" href="class_incoming_r_t_p_pkt.html#6e66b5f86f07fb30584e0ab2064da7e7" title="Get validity of this packet.">isHeaderValid()</a> is recommended before using a new <a class="el" href="class_r_t_p_packet.html" title="A base class for both IncomingRTPPkt and OutgoingRTPPkt.">RTPPacket</a> object. </dd></dl>

</div>
</div><p>
<a class="anchor" name="2c81f3b5fb2c83bf07b254a656080c16"></a><!-- doxytag: member="IncomingRTPPkt::~IncomingRTPPkt" ref="2c81f3b5fb2c83bf07b254a656080c16" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">IncomingRTPPkt::~IncomingRTPPkt           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="66459c52ff9cf1e22605b570b0235ded"></a><!-- doxytag: member="IncomingRTPPkt::getSSRC" ref="66459c52ff9cf1e22605b570b0235ded" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32 IncomingRTPPkt::getSSRC           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get synchronization source numeric identifier. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>32-bits Synchronization SouRCe numeric identifier, in host order. </dd></dl>

</div>
</div><p>
<a class="anchor" name="6e66b5f86f07fb30584e0ab2064da7e7"></a><!-- doxytag: member="IncomingRTPPkt::isHeaderValid" ref="6e66b5f86f07fb30584e0ab2064da7e7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool IncomingRTPPkt::isHeaderValid           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get validity of this packet. 
<p>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>whether the header check performed at construction time ended successfully. </dd></dl>

</div>
</div><p>
<a class="anchor" name="b1c8c99a2f5e78d1ef722c32ea33e1b3"></a><!-- doxytag: member="IncomingRTPPkt::operator!=" ref="b1c8c99a2f5e78d1ef722c32ea33e1b3" args="(const IncomingRTPPkt &amp;p) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool IncomingRTPPkt::operator!=           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_incoming_r_t_p_pkt.html">IncomingRTPPkt</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>p</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Two incoming packets are not equal if they come from different sources or have different sequence numbers. 
<p>

</div>
</div><p>
<a class="anchor" name="4f993815747c556594158fe06acff748"></a><!-- doxytag: member="IncomingRTPPkt::operator==" ref="4f993815747c556594158fe06acff748" args="(const IncomingRTPPkt &amp;p) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool IncomingRTPPkt::operator==           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_incoming_r_t_p_pkt.html">IncomingRTPPkt</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>p</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Two incoming packets are equal if they come from sources with the same SSRC and have the same sequence number. 
<p>

</div>
</div><p>
<a class="anchor" name="35d0a1eb4b39413c05c5bce596f28ed0"></a><!-- doxytag: member="IncomingRTPPkt::unprotect" ref="35d0a1eb4b39413c05c5bce596f28ed0" args="(CryptoContext *pcc)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32 IncomingRTPPkt::unprotect           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_crypto_context.html">CryptoContext</a> *&nbsp;</td>
          <td class="paramname"> <em>pcc</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Unprotect a received packet. 
<p>
Perform SRTP processing on this packet.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pcc</em>&nbsp;</td><td>Pointer to SRTP <a class="el" href="class_crypto_context.html" title="The implementation for a SRTP cryptographic context.">CryptoContext</a>. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>one if no errors, -1 if authentication failed, -2 if replay check failed </dd></dl>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="rtppkt_8h_source.html">rtppkt.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Fri Jul 24 21:42:25 2009 for ccRTP 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>