Sophie

Sophie

distrib > Mageia > 5 > x86_64 > media > core-release > by-pkgid > a2fa4fed774700990ee58705b206cf50 > files > 117

lib64ccrtp-devel-2.1.1-1.mga5.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.8"/>
<title>ccRTP: RTPDataQueue Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">ccRTP
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.8 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;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 id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="class_r_t_p_data_queue-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">RTPDataQueue Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="group__ioqueue.html">Generic RTP input/output queues.</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>A packet queue handler for building different kinds of RTP protocol systems.  
 <a href="class_r_t_p_data_queue.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="ioqueue_8h_source.html">ioqueue.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for RTPDataQueue:</div>
<div class="dyncontent">
 <div class="center">
  <img src="class_r_t_p_data_queue.png" usemap="#RTPDataQueue_map" alt=""/>
  <map id="RTPDataQueue_map" name="RTPDataQueue_map">
<area href="class_incoming_data_queue.html" title="Queue for incoming RTP data packets in an RTP session. " alt="IncomingDataQueue" shape="rect" coords="247,112,402,136"/>
<area href="class_outgoing_data_queue.html" title="A generic outgoing RTP data queue supporting multiple destinations. " alt="OutgoingDataQueue" shape="rect" coords="1072,112,1227,136"/>
<area href="class_incoming_data_queue_base.html" alt="IncomingDataQueueBase" shape="rect" coords="0,56,155,80"/>
<area href="class_membership_bookkeeping.html" title="Controls the group membership in the current session. " alt="MembershipBookkeeping" shape="rect" coords="495,56,650,80"/>
<area href="class_outgoing_data_queue_base.html" alt="OutgoingDataQueueBase" shape="rect" coords="990,56,1145,80"/>
<area href="class_destination_list_handler.html" title="This class handles a list of destination addresses. " alt="DestinationListHandler" shape="rect" coords="1155,56,1310,80"/>
<area href="class_r_t_p_queue_base.html" title="A virtual base class for RTP queue hierarchies. " alt="RTPQueueBase" shape="rect" coords="0,0,155,24"/>
<area href="class_sync_source_handler.html" title="SyncSource objects modification methods. " alt="SyncSourceHandler" shape="rect" coords="165,0,320,24"/>
<area href="class_participant_handler.html" title="Participant objects modification methods. " alt="ParticipantHandler" shape="rect" coords="330,0,485,24"/>
<area href="class_application_handler.html" title="Application objects modification methods. " alt="ApplicationHandler" shape="rect" coords="495,0,650,24"/>
<area href="class_conflict_handler.html" title="To track addresses of sources conflicting with the local one. " alt="ConflictHandler" shape="rect" coords="660,0,815,24"/>
<area href="class_members.html" title="members and senders accounting " alt="Members" shape="rect" coords="825,0,980,24"/>
<area href="class_r_t_p_queue_base.html" title="A virtual base class for RTP queue hierarchies. " alt="RTPQueueBase" shape="rect" coords="990,0,1145,24"/>
<area href="class_queue_r_t_c_p_manager.html" title="Adds generic management of RTCP functions to an RTP data queue. " alt="QueueRTCPManager" shape="rect" coords="577,224,732,248"/>
<area href="class_r_t_p_duplex.html" title="A peer associated RTP socket pair for physically connected peer hosts. " alt="RTPDuplex" shape="rect" coords="742,224,897,248"/>
<area href="class_a_v_p_queue.html" title="This class, an RTP/RTCP queue, adds audio/video profile (AVP) specific methods to the generic RTCP se..." alt="AVPQueue" shape="rect" coords="577,280,732,304"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:gafa5169fe853e891b04897fab6f8efca1"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__ioqueue.html#gafa5169fe853e891b04897fab6f8efca1">Tos</a> { <a class="el" href="group__ioqueue.html#ggafa5169fe853e891b04897fab6f8efca1a6dc3c20fe1dd9d54192e897866e3768a">tosBestEffort</a>, 
<a class="el" href="group__ioqueue.html#ggafa5169fe853e891b04897fab6f8efca1ae36023f8f3626a08e501ba65e4fefc24">tosEnhanced</a>
 }</td></tr>
<tr class="memdesc:gafa5169fe853e891b04897fab6f8efca1"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="rtp_8h.html" title="Generic and audio/video profile specific RTP interface of ccRTP. ">rtp.h</a> cc++/rtp.h  <a href="group__ioqueue.html#gafa5169fe853e891b04897fab6f8efca1">More...</a><br /></td></tr>
<tr class="separator:gafa5169fe853e891b04897fab6f8efca1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0edd2b1a8a22780b60da8eb05921ad16"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_data_queue.html#a0edd2b1a8a22780b60da8eb05921ad16">setTypeOfService</a> (<a class="el" href="group__ioqueue.html#gafa5169fe853e891b04897fab6f8efca1">Tos</a> tos)</td></tr>
<tr class="memdesc:a0edd2b1a8a22780b60da8eb05921ad16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specify the kind of service the application expects to use.  <a href="#a0edd2b1a8a22780b60da8eb05921ad16">More...</a><br /></td></tr>
<tr class="separator:a0edd2b1a8a22780b60da8eb05921ad16"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afee8bf2e2943d8785352eef2b804a91d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_data_queue.html#afee8bf2e2943d8785352eef2b804a91d">enableStack</a> ()</td></tr>
<tr class="memdesc:afee8bf2e2943d8785352eef2b804a91d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable packet queue processing in the stack.  <a href="#afee8bf2e2943d8785352eef2b804a91d">More...</a><br /></td></tr>
<tr class="separator:afee8bf2e2943d8785352eef2b804a91d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa68b9d380c05c3c2c18ad6920aab9179"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_data_queue.html#aa68b9d380c05c3c2c18ad6920aab9179">disableStack</a> ()</td></tr>
<tr class="memdesc:aa68b9d380c05c3c2c18ad6920aab9179"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disable packet queue processing in the stack.  <a href="#aa68b9d380c05c3c2c18ad6920aab9179">More...</a><br /></td></tr>
<tr class="separator:aa68b9d380c05c3c2c18ad6920aab9179"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d2531b75d7c79d815cff5c487d4ecc8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_data_queue.html#a3d2531b75d7c79d815cff5c487d4ecc8">isActive</a> () const </td></tr>
<tr class="memdesc:a3d2531b75d7c79d815cff5c487d4ecc8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get active connection state flag.  <a href="#a3d2531b75d7c79d815cff5c487d4ecc8">More...</a><br /></td></tr>
<tr class="separator:a3d2531b75d7c79d815cff5c487d4ecc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf7ff6490ae207bd2588bc0c69f8034a"><td class="memItemLeft" align="right" valign="top">uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_data_queue.html#abf7ff6490ae207bd2588bc0c69f8034a">getCurrentTimestamp</a> () const </td></tr>
<tr class="memdesc:abf7ff6490ae207bd2588bc0c69f8034a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the timestamp that should be given for a packet whose payload sampling instant corresponds to the current system time.  <a href="#abf7ff6490ae207bd2588bc0c69f8034a">More...</a><br /></td></tr>
<tr class="separator:abf7ff6490ae207bd2588bc0c69f8034a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa51bc8859fd4c7e5460caa31d8c518b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_data_queue.html#afa51bc8859fd4c7e5460caa31d8c518b">setSessionBandwidth</a> (uint32 bw)</td></tr>
<tr class="memdesc:afa51bc8859fd4c7e5460caa31d8c518b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Specify the bandwidth of the current session.  <a href="#afa51bc8859fd4c7e5460caa31d8c518b">More...</a><br /></td></tr>
<tr class="separator:afa51bc8859fd4c7e5460caa31d8c518b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed0854a61cdd61dc2c6915d81da44d88"><td class="memItemLeft" align="right" valign="top">uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_data_queue.html#aed0854a61cdd61dc2c6915d81da44d88">getDefaultSessionBandwidth</a> () const </td></tr>
<tr class="separator:aed0854a61cdd61dc2c6915d81da44d88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90a9016c723622f778aa9b078f400ab2"><td class="memItemLeft" align="right" valign="top">uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_data_queue.html#a90a9016c723622f778aa9b078f400ab2">getSessionBandwidth</a> () const </td></tr>
<tr class="separator:a90a9016c723622f778aa9b078f400ab2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c16280cc4b45de49acd61d0dc1f53b8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_data_queue.html#a3c16280cc4b45de49acd61d0dc1f53b8">setTimeclock</a> ()</td></tr>
<tr class="memdesc:a3c16280cc4b45de49acd61d0dc1f53b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the packet timeclock for synchronizing timestamps.  <a href="#a3c16280cc4b45de49acd61d0dc1f53b8">More...</a><br /></td></tr>
<tr class="separator:a3c16280cc4b45de49acd61d0dc1f53b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1007b5aceb1feb516cdd5bdd34318b6b"><td class="memItemLeft" align="right" valign="top">timeout_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_data_queue.html#a1007b5aceb1feb516cdd5bdd34318b6b">getTimeclock</a> () const </td></tr>
<tr class="memdesc:a1007b5aceb1feb516cdd5bdd34318b6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the packet timeclock for synchronizing timestamps.  <a href="#a1007b5aceb1feb516cdd5bdd34318b6b">More...</a><br /></td></tr>
<tr class="separator:a1007b5aceb1feb516cdd5bdd34318b6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_incoming_data_queue"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_incoming_data_queue')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_incoming_data_queue.html">IncomingDataQueue</a></td></tr>
<tr class="memitem:ae5a5e445035fbb67badde97b917bb396 inherit pub_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_incoming_data_queue_1_1_sync_sources_iterator.html">SyncSourcesIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#ae5a5e445035fbb67badde97b917bb396">begin</a> ()</td></tr>
<tr class="separator:ae5a5e445035fbb67badde97b917bb396 inherit pub_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a717fd60c11da7f1b4d9544070e30d226 inherit pub_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_incoming_data_queue_1_1_sync_sources_iterator.html">SyncSourcesIterator</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a717fd60c11da7f1b4d9544070e30d226">end</a> ()</td></tr>
<tr class="separator:a717fd60c11da7f1b4d9544070e30d226 inherit pub_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a830c8a49a36dcd3e30c4e98f15e8af14 inherit pub_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_app_data_unit.html">AppDataUnit</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a830c8a49a36dcd3e30c4e98f15e8af14">getData</a> (uint32 stamp, const <a class="el" href="class_sync_source.html">SyncSource</a> *src=NULL)</td></tr>
<tr class="memdesc:a830c8a49a36dcd3e30c4e98f15e8af14 inherit pub_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retreive data from a specific timestamped packet if such a packet is currently available in the receive buffer.  <a href="#a830c8a49a36dcd3e30c4e98f15e8af14">More...</a><br /></td></tr>
<tr class="separator:a830c8a49a36dcd3e30c4e98f15e8af14 inherit pub_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb51f4a1018fed3e2e25937a03cedde2 inherit pub_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#aeb51f4a1018fed3e2e25937a03cedde2">isWaiting</a> (const <a class="el" href="class_sync_source.html">SyncSource</a> *src=NULL) const </td></tr>
<tr class="memdesc:aeb51f4a1018fed3e2e25937a03cedde2 inherit pub_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if packets are waiting in the reception queue.  <a href="#aeb51f4a1018fed3e2e25937a03cedde2">More...</a><br /></td></tr>
<tr class="separator:aeb51f4a1018fed3e2e25937a03cedde2 inherit pub_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac46dbd1d341af3fa0c20e8115f78cf28 inherit pub_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#ac46dbd1d341af3fa0c20e8115f78cf28">getFirstTimestamp</a> (const <a class="el" href="class_sync_source.html">SyncSource</a> *src=NULL) const </td></tr>
<tr class="memdesc:ac46dbd1d341af3fa0c20e8115f78cf28 inherit pub_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get timestamp of first packet waiting in the queue.  <a href="#ac46dbd1d341af3fa0c20e8115f78cf28">More...</a><br /></td></tr>
<tr class="separator:ac46dbd1d341af3fa0c20e8115f78cf28 inherit pub_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a67c0dd360533faeaf3bd317fdf5fb8e3 inherit pub_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a67c0dd360533faeaf3bd317fdf5fb8e3">setMinValidPacketSequence</a> (uint8 packets)</td></tr>
<tr class="memdesc:a67c0dd360533faeaf3bd317fdf5fb8e3 inherit pub_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">When receiving packets from a new source, it may be convenient to reject a first few packets before we are really sure the source is valid.  <a href="#a67c0dd360533faeaf3bd317fdf5fb8e3">More...</a><br /></td></tr>
<tr class="separator:a67c0dd360533faeaf3bd317fdf5fb8e3 inherit pub_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa63891f27d03ebf075ade0ab9629c012 inherit pub_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">uint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#aa63891f27d03ebf075ade0ab9629c012">getDefaultMinValidPacketSequence</a> () const </td></tr>
<tr class="separator:aa63891f27d03ebf075ade0ab9629c012 inherit pub_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acee16af6cefc82db3b31d023b67f6d8d inherit pub_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">uint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#acee16af6cefc82db3b31d023b67f6d8d">getMinValidPacketSequence</a> () const </td></tr>
<tr class="memdesc:acee16af6cefc82db3b31d023b67f6d8d inherit pub_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the minimun number of consecutive packets that must be received from a source before accepting its data packets.  <a href="#acee16af6cefc82db3b31d023b67f6d8d">More...</a><br /></td></tr>
<tr class="separator:acee16af6cefc82db3b31d023b67f6d8d inherit pub_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a602ef8706aa0b5fb2fcee2695b7be98d inherit pub_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a602ef8706aa0b5fb2fcee2695b7be98d">setMaxPacketMisorder</a> (uint16 packets)</td></tr>
<tr class="separator:a602ef8706aa0b5fb2fcee2695b7be98d inherit pub_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2498e30b14e70ce2db42d98a25ef1880 inherit pub_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a2498e30b14e70ce2db42d98a25ef1880">getDefaultMaxPacketMisorder</a> () const </td></tr>
<tr class="separator:a2498e30b14e70ce2db42d98a25ef1880 inherit pub_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14f4d8c287a3f100258ed8a0e45d9759 inherit pub_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a14f4d8c287a3f100258ed8a0e45d9759">getMaxPacketMisorder</a> () const </td></tr>
<tr class="separator:a14f4d8c287a3f100258ed8a0e45d9759 inherit pub_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a731b655bf21873cfe3d24cff51c9c399 inherit pub_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a731b655bf21873cfe3d24cff51c9c399">setMaxPacketDropout</a> (uint16 packets)</td></tr>
<tr class="memdesc:a731b655bf21873cfe3d24cff51c9c399 inherit pub_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">It also prevents packets sent after a restart of the source being immediately accepted.  <a href="#a731b655bf21873cfe3d24cff51c9c399">More...</a><br /></td></tr>
<tr class="separator:a731b655bf21873cfe3d24cff51c9c399 inherit pub_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5c33852bc72267276849060ee0a25332 inherit pub_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a5c33852bc72267276849060ee0a25332">getDefaultMaxPacketDropout</a> () const </td></tr>
<tr class="separator:a5c33852bc72267276849060ee0a25332 inherit pub_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e7c15767869fdf758f67b64afaaca70 inherit pub_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a7e7c15767869fdf758f67b64afaaca70">getMaxPacketDropout</a> () const </td></tr>
<tr class="separator:a7e7c15767869fdf758f67b64afaaca70 inherit pub_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77098469cdf43464c881e1e4087f9465 inherit pub_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a77098469cdf43464c881e1e4087f9465">setInQueueCryptoContext</a> (<a class="el" href="class_crypto_context.html">CryptoContext</a> *cc)</td></tr>
<tr class="memdesc:a77098469cdf43464c881e1e4087f9465 inherit pub_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set input queue <a class="el" href="class_crypto_context.html" title="The implementation for a SRTP cryptographic context. ">CryptoContext</a>.  <a href="#a77098469cdf43464c881e1e4087f9465">More...</a><br /></td></tr>
<tr class="separator:a77098469cdf43464c881e1e4087f9465 inherit pub_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c0b5cbed6adb254d3c72081b47daa5e inherit pub_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a9c0b5cbed6adb254d3c72081b47daa5e">removeInQueueCryptoContext</a> (<a class="el" href="class_crypto_context.html">CryptoContext</a> *cc)</td></tr>
<tr class="memdesc:a9c0b5cbed6adb254d3c72081b47daa5e inherit pub_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove input queue <a class="el" href="class_crypto_context.html" title="The implementation for a SRTP cryptographic context. ">CryptoContext</a>.  <a href="#a9c0b5cbed6adb254d3c72081b47daa5e">More...</a><br /></td></tr>
<tr class="separator:a9c0b5cbed6adb254d3c72081b47daa5e inherit pub_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ba52ac671aa6938c916b64d0b861503 inherit pub_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_crypto_context.html">CryptoContext</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a1ba52ac671aa6938c916b64d0b861503">getInQueueCryptoContext</a> (uint32 ssrc)</td></tr>
<tr class="memdesc:a1ba52ac671aa6938c916b64d0b861503 inherit pub_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an input queue <a class="el" href="class_crypto_context.html" title="The implementation for a SRTP cryptographic context. ">CryptoContext</a> identified by SSRC.  <a href="#a1ba52ac671aa6938c916b64d0b861503">More...</a><br /></td></tr>
<tr class="separator:a1ba52ac671aa6938c916b64d0b861503 inherit pub_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_incoming_data_queue_base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_incoming_data_queue_base')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_incoming_data_queue_base.html">IncomingDataQueueBase</a></td></tr>
<tr class="memitem:a7f980e05e3947dc56e4f0c6764623121 inherit pub_methods_class_incoming_data_queue_base"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue_base.html#a7f980e05e3947dc56e4f0c6764623121">getDefaultMaxRecvPacketSize</a> () const </td></tr>
<tr class="separator:a7f980e05e3947dc56e4f0c6764623121 inherit pub_methods_class_incoming_data_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f575e7c63a016fb18076bb06e953267 inherit pub_methods_class_incoming_data_queue_base"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue_base.html#a9f575e7c63a016fb18076bb06e953267">getMaxRecvPacketSize</a> () const </td></tr>
<tr class="separator:a9f575e7c63a016fb18076bb06e953267 inherit pub_methods_class_incoming_data_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8de8578471df41d6dbf1a02c54a05e8a inherit pub_methods_class_incoming_data_queue_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue_base.html#a8de8578471df41d6dbf1a02c54a05e8a">setMaxRecvPacketSize</a> (size_t maxsize)</td></tr>
<tr class="separator:a8de8578471df41d6dbf1a02c54a05e8a inherit pub_methods_class_incoming_data_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_r_t_p_queue_base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_r_t_p_queue_base')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_r_t_p_queue_base.html">RTPQueueBase</a></td></tr>
<tr class="memitem:a6601346e22925ebc740bc96c0b167375 inherit pub_methods_class_r_t_p_queue_base"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_queue_base.html#a6601346e22925ebc740bc96c0b167375">setPayloadFormat</a> (const <a class="el" href="class_payload_format.html">PayloadFormat</a> &amp;pf)</td></tr>
<tr class="memdesc:a6601346e22925ebc740bc96c0b167375 inherit pub_methods_class_r_t_p_queue_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the payload format in use, for timing and payload type identification purposes.  <a href="#a6601346e22925ebc740bc96c0b167375">More...</a><br /></td></tr>
<tr class="separator:a6601346e22925ebc740bc96c0b167375 inherit pub_methods_class_r_t_p_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef7ace1ffb0ca205726c3937d3b7ee16 inherit pub_methods_class_r_t_p_queue_base"><td class="memItemLeft" align="right" valign="top">uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_queue_base.html#aef7ace1ffb0ca205726c3937d3b7ee16">getLocalSSRC</a> () const </td></tr>
<tr class="separator:aef7ace1ffb0ca205726c3937d3b7ee16 inherit pub_methods_class_r_t_p_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af05851c002199e685185869b62549388 inherit pub_methods_class_r_t_p_queue_base"><td class="memItemLeft" align="right" valign="top">uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_queue_base.html#af05851c002199e685185869b62549388">getCurrentRTPClockRate</a> () const </td></tr>
<tr class="memdesc:af05851c002199e685185869b62549388 inherit pub_methods_class_r_t_p_queue_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the clock rate in RTP clock units (for instance, 8000 units per second for PCMU, or 90000 units per second for MP2T).  <a href="#af05851c002199e685185869b62549388">More...</a><br /></td></tr>
<tr class="separator:af05851c002199e685185869b62549388 inherit pub_methods_class_r_t_p_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6783983e093cdfc015477454f75583b8 inherit pub_methods_class_r_t_p_queue_base"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__payload.html#ga0eee230c7ab57e31bb4e438a72354993">PayloadType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_queue_base.html#a6783983e093cdfc015477454f75583b8">getCurrentPayloadType</a> () const </td></tr>
<tr class="separator:a6783983e093cdfc015477454f75583b8 inherit pub_methods_class_r_t_p_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a3ac1bdc1f35594d86ce48f6812be8a inherit pub_methods_class_r_t_p_queue_base"><td class="memItemLeft" align="right" valign="top">timeval&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_queue_base.html#a6a3ac1bdc1f35594d86ce48f6812be8a">getInitialTime</a> () const </td></tr>
<tr class="separator:a6a3ac1bdc1f35594d86ce48f6812be8a inherit pub_methods_class_r_t_p_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_outgoing_data_queue"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_outgoing_data_queue')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_outgoing_data_queue.html">OutgoingDataQueue</a></td></tr>
<tr class="memitem:ac2c71f392728ae9de338111359f88578 inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#ac2c71f392728ae9de338111359f88578">addDestination</a> (const InetHostAddress &amp;ia, tpport_t dataPort=<a class="el" href="base_8h.html#ad4ff4b9421fd67733fa3ee452c8ee268">DefaultRTPDataPort</a>, tpport_t controlPort=0)</td></tr>
<tr class="separator:ac2c71f392728ae9de338111359f88578 inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4807728f2ca11d8ff2d88afb28a3616 inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#aa4807728f2ca11d8ff2d88afb28a3616">addDestination</a> (const InetMcastAddress &amp;ia, tpport_t dataPort=<a class="el" href="base_8h.html#ad4ff4b9421fd67733fa3ee452c8ee268">DefaultRTPDataPort</a>, tpport_t controlPort=0)</td></tr>
<tr class="separator:aa4807728f2ca11d8ff2d88afb28a3616 inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cf81fcf6d5fead2a255edf2373eed1c inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a3cf81fcf6d5fead2a255edf2373eed1c">forgetDestination</a> (const InetHostAddress &amp;ia, tpport_t dataPort=<a class="el" href="base_8h.html#ad4ff4b9421fd67733fa3ee452c8ee268">DefaultRTPDataPort</a>, tpport_t controlPort=0)</td></tr>
<tr class="separator:a3cf81fcf6d5fead2a255edf2373eed1c inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7aba5c5562904544357176efb370288 inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#ae7aba5c5562904544357176efb370288">forgetDestination</a> (const InetMcastAddress &amp;ia, tpport_t dataPort=<a class="el" href="base_8h.html#ad4ff4b9421fd67733fa3ee452c8ee268">DefaultRTPDataPort</a>, tpport_t controlPort=0)</td></tr>
<tr class="separator:ae7aba5c5562904544357176efb370288 inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13be6767f69c52af0f2a68479dcd909d inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a13be6767f69c52af0f2a68479dcd909d">addContributor</a> (uint32 csrc)</td></tr>
<tr class="memdesc:a13be6767f69c52af0f2a68479dcd909d inherit pub_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add csrc as the CSRC identifier of a new contributor.  <a href="#a13be6767f69c52af0f2a68479dcd909d">More...</a><br /></td></tr>
<tr class="separator:a13be6767f69c52af0f2a68479dcd909d inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45ae1eff3e686051276c0c9ebff6a571 inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a45ae1eff3e686051276c0c9ebff6a571">removeContributor</a> (uint32 csrc)</td></tr>
<tr class="memdesc:a45ae1eff3e686051276c0c9ebff6a571 inherit pub_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove CSRC from the list of contributors.  <a href="#a45ae1eff3e686051276c0c9ebff6a571">More...</a><br /></td></tr>
<tr class="separator:a45ae1eff3e686051276c0c9ebff6a571 inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0765c29117efa73574876c5c167abdf inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#ad0765c29117efa73574876c5c167abdf">isSending</a> () const </td></tr>
<tr class="memdesc:ad0765c29117efa73574876c5c167abdf inherit pub_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determine if outgoing packets are waiting to send.  <a href="#ad0765c29117efa73574876c5c167abdf">More...</a><br /></td></tr>
<tr class="separator:ad0765c29117efa73574876c5c167abdf inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac47cec242d96bc326f0292890e570d64 inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#ac47cec242d96bc326f0292890e570d64">putData</a> (uint32 stamp, const unsigned char *data=NULL, size_t len=0)</td></tr>
<tr class="memdesc:ac47cec242d96bc326f0292890e570d64 inherit pub_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is used to create a data packet in the send queue.  <a href="#ac47cec242d96bc326f0292890e570d64">More...</a><br /></td></tr>
<tr class="separator:ac47cec242d96bc326f0292890e570d64 inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbfaacb5036a1a94de7834791d50c5bb inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#afbfaacb5036a1a94de7834791d50c5bb">sendImmediate</a> (uint32 stamp, const unsigned char *data=NULL, size_t len=0)</td></tr>
<tr class="memdesc:afbfaacb5036a1a94de7834791d50c5bb inherit pub_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is used to create a data packet and send it immediately.  <a href="#afbfaacb5036a1a94de7834791d50c5bb">More...</a><br /></td></tr>
<tr class="separator:afbfaacb5036a1a94de7834791d50c5bb inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a774ad65daf2bcd1ecb6423036212e20d inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a774ad65daf2bcd1ecb6423036212e20d">setPadding</a> (uint8 <a class="el" href="class_outgoing_data_queue.html#ab219ff2ba9ba7781b8e4fc80eae0d574">paddinglen</a>)</td></tr>
<tr class="memdesc:a774ad65daf2bcd1ecb6423036212e20d inherit pub_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set padding.  <a href="#a774ad65daf2bcd1ecb6423036212e20d">More...</a><br /></td></tr>
<tr class="separator:a774ad65daf2bcd1ecb6423036212e20d inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4df9079d56ce32ecbe50d17ef52743f inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#ad4df9079d56ce32ecbe50d17ef52743f">setMark</a> (bool mark)</td></tr>
<tr class="memdesc:ad4df9079d56ce32ecbe50d17ef52743f inherit pub_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set marker bit for the packet in which the next data provided will be send.  <a href="#ad4df9079d56ce32ecbe50d17ef52743f">More...</a><br /></td></tr>
<tr class="separator:ad4df9079d56ce32ecbe50d17ef52743f inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2743c338ca9b19f4eeb4438132dd0cee inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a2743c338ca9b19f4eeb4438132dd0cee">getMark</a> () const </td></tr>
<tr class="memdesc:a2743c338ca9b19f4eeb4438132dd0cee inherit pub_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get wheter the mark bit will be set in the next packet.  <a href="#a2743c338ca9b19f4eeb4438132dd0cee">More...</a><br /></td></tr>
<tr class="separator:a2743c338ca9b19f4eeb4438132dd0cee inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8026456d9be68a8cb1a83f49758d8e6 inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#aa8026456d9be68a8cb1a83f49758d8e6">setPartial</a> (uint32 timestamp, unsigned char *data, size_t offset, size_t max)</td></tr>
<tr class="memdesc:aa8026456d9be68a8cb1a83f49758d8e6 inherit pub_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set partial data for an already queued packet.  <a href="#aa8026456d9be68a8cb1a83f49758d8e6">More...</a><br /></td></tr>
<tr class="separator:aa8026456d9be68a8cb1a83f49758d8e6 inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7b9ea7183b6d26cff42979ee06a49ad inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#ac16d853255145e6a903914eb376a84bb">microtimeout_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#ad7b9ea7183b6d26cff42979ee06a49ad">getDefaultSchedulingTimeout</a> () const </td></tr>
<tr class="separator:ad7b9ea7183b6d26cff42979ee06a49ad inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa602fdcd5d4d21b54eb31c7dc526bc39 inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#aa602fdcd5d4d21b54eb31c7dc526bc39">setSchedulingTimeout</a> (<a class="el" href="base_8h.html#ac16d853255145e6a903914eb376a84bb">microtimeout_t</a> to)</td></tr>
<tr class="memdesc:aa602fdcd5d4d21b54eb31c7dc526bc39 inherit pub_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the default scheduling timeout to use when no data packets are waiting to be sent.  <a href="#aa602fdcd5d4d21b54eb31c7dc526bc39">More...</a><br /></td></tr>
<tr class="separator:aa602fdcd5d4d21b54eb31c7dc526bc39 inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a94cd08580f0146b14e43c0ed59114f27 inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#ac16d853255145e6a903914eb376a84bb">microtimeout_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a94cd08580f0146b14e43c0ed59114f27">getDefaultExpireTimeout</a> () const </td></tr>
<tr class="separator:a94cd08580f0146b14e43c0ed59114f27 inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae35a0ebe6fd9da0f0cf9504319bd5c1c inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#ae35a0ebe6fd9da0f0cf9504319bd5c1c">setExpireTimeout</a> (<a class="el" href="base_8h.html#ac16d853255145e6a903914eb376a84bb">microtimeout_t</a> to)</td></tr>
<tr class="memdesc:ae35a0ebe6fd9da0f0cf9504319bd5c1c inherit pub_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the "expired" timer for expiring packets pending in the send queue which have gone unsent and are already "too late" to be sent now.  <a href="#ae35a0ebe6fd9da0f0cf9504319bd5c1c">More...</a><br /></td></tr>
<tr class="separator:ae35a0ebe6fd9da0f0cf9504319bd5c1c inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a79e1fa3458d3164b60b62cc9955adc inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#ac16d853255145e6a903914eb376a84bb">microtimeout_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a2a79e1fa3458d3164b60b62cc9955adc">getExpireTimeout</a> () const </td></tr>
<tr class="separator:a2a79e1fa3458d3164b60b62cc9955adc inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a8ab8b1dbe72f629d7e736dc3e42a89 inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a6a8ab8b1dbe72f629d7e736dc3e42a89">getSendPacketCount</a> () const </td></tr>
<tr class="memdesc:a6a8ab8b1dbe72f629d7e736dc3e42a89 inherit pub_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the total number of packets sent so far.  <a href="#a6a8ab8b1dbe72f629d7e736dc3e42a89">More...</a><br /></td></tr>
<tr class="separator:a6a8ab8b1dbe72f629d7e736dc3e42a89 inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a84a52a59e2ef84b6021013776efdf756 inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a84a52a59e2ef84b6021013776efdf756">getSendOctetCount</a> () const </td></tr>
<tr class="memdesc:a84a52a59e2ef84b6021013776efdf756 inherit pub_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the total number of octets (payload only) sent so far.  <a href="#a84a52a59e2ef84b6021013776efdf756">More...</a><br /></td></tr>
<tr class="separator:a84a52a59e2ef84b6021013776efdf756 inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6352eb8f6480b25c8e338549bada0012 inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a6352eb8f6480b25c8e338549bada0012">getSequenceNumber</a> () const </td></tr>
<tr class="memdesc:a6352eb8f6480b25c8e338549bada0012 inherit pub_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the sequence number of the next outgoing packet.  <a href="#a6352eb8f6480b25c8e338549bada0012">More...</a><br /></td></tr>
<tr class="separator:a6352eb8f6480b25c8e338549bada0012 inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaf07aef8d0fdf2135725f769524eb09 inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#afaf07aef8d0fdf2135725f769524eb09">setOutQueueCryptoContext</a> (<a class="el" href="class_crypto_context.html">CryptoContext</a> *cc)</td></tr>
<tr class="memdesc:afaf07aef8d0fdf2135725f769524eb09 inherit pub_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set ouput queue <a class="el" href="class_crypto_context.html" title="The implementation for a SRTP cryptographic context. ">CryptoContext</a>.  <a href="#afaf07aef8d0fdf2135725f769524eb09">More...</a><br /></td></tr>
<tr class="separator:afaf07aef8d0fdf2135725f769524eb09 inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6685ffa2c370144d5008e1d64f5d32e inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#ac6685ffa2c370144d5008e1d64f5d32e">removeOutQueueCryptoContext</a> (<a class="el" href="class_crypto_context.html">CryptoContext</a> *cc)</td></tr>
<tr class="memdesc:ac6685ffa2c370144d5008e1d64f5d32e inherit pub_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove output queue <a class="el" href="class_crypto_context.html" title="The implementation for a SRTP cryptographic context. ">CryptoContext</a>.  <a href="#ac6685ffa2c370144d5008e1d64f5d32e">More...</a><br /></td></tr>
<tr class="separator:ac6685ffa2c370144d5008e1d64f5d32e inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b8edb2a94bd36095509f94d212ef1bf inherit pub_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_crypto_context.html">CryptoContext</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a5b8edb2a94bd36095509f94d212ef1bf">getOutQueueCryptoContext</a> (uint32 ssrc)</td></tr>
<tr class="memdesc:a5b8edb2a94bd36095509f94d212ef1bf inherit pub_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get an output queue <a class="el" href="class_crypto_context.html" title="The implementation for a SRTP cryptographic context. ">CryptoContext</a> identified by SSRC.  <a href="#a5b8edb2a94bd36095509f94d212ef1bf">More...</a><br /></td></tr>
<tr class="separator:a5b8edb2a94bd36095509f94d212ef1bf inherit pub_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_class_outgoing_data_queue_base"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_class_outgoing_data_queue_base')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="class_outgoing_data_queue_base.html">OutgoingDataQueueBase</a></td></tr>
<tr class="memitem:afd4cdf9834cbbda5f1d42637872c6325 inherit pub_methods_class_outgoing_data_queue_base"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue_base.html#afd4cdf9834cbbda5f1d42637872c6325">getDefaultMaxSendSegmentSize</a> ()</td></tr>
<tr class="separator:afd4cdf9834cbbda5f1d42637872c6325 inherit pub_methods_class_outgoing_data_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a71b7e4949139f53906406d36ef45915c inherit pub_methods_class_outgoing_data_queue_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue_base.html#a71b7e4949139f53906406d36ef45915c">setMaxSendSegmentSize</a> (size_t size)</td></tr>
<tr class="memdesc:a71b7e4949139f53906406d36ef45915c inherit pub_methods_class_outgoing_data_queue_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set maximum payload segment size before fragmenting sends.  <a href="#a71b7e4949139f53906406d36ef45915c">More...</a><br /></td></tr>
<tr class="separator:a71b7e4949139f53906406d36ef45915c inherit pub_methods_class_outgoing_data_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e250bfa1a06e822470eaba33226da06 inherit pub_methods_class_outgoing_data_queue_base"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue_base.html#a4e250bfa1a06e822470eaba33226da06">getMaxSendSegmentSize</a> ()</td></tr>
<tr class="separator:a4e250bfa1a06e822470eaba33226da06 inherit pub_methods_class_outgoing_data_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a02a7fec519ec7c15650224e108959a62"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_data_queue.html#a02a7fec519ec7c15650224e108959a62">RTPDataQueue</a> (uint32 size=<a class="el" href="class_membership_bookkeeping.html#a53ba5e9495dfdb9ec16c551206796d99">defaultMembersHashSize</a>)</td></tr>
<tr class="memdesc:a02a7fec519ec7c15650224e108959a62"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a02a7fec519ec7c15650224e108959a62">More...</a><br /></td></tr>
<tr class="separator:a02a7fec519ec7c15650224e108959a62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a767fd472543461067810641e8ce11bf3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_data_queue.html#a767fd472543461067810641e8ce11bf3">RTPDataQueue</a> (uint32 *ssrc, uint32 size=<a class="el" href="class_membership_bookkeeping.html#a53ba5e9495dfdb9ec16c551206796d99">defaultMembersHashSize</a>)</td></tr>
<tr class="memdesc:a767fd472543461067810641e8ce11bf3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Using this constructor you can start a session with the given ssrc, instead of the usual randomly generated one.  <a href="#a767fd472543461067810641e8ce11bf3">More...</a><br /></td></tr>
<tr class="separator:a767fd472543461067810641e8ce11bf3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15ff7c0ccea0eb5749b60c4ef7d08f0d"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_data_queue.html#a15ff7c0ccea0eb5749b60c4ef7d08f0d">~RTPDataQueue</a> ()</td></tr>
<tr class="memdesc:a15ff7c0ccea0eb5749b60c4ef7d08f0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">The queue destructor flushes the queue and stops all services.  <a href="#a15ff7c0ccea0eb5749b60c4ef7d08f0d">More...</a><br /></td></tr>
<tr class="separator:a15ff7c0ccea0eb5749b60c4ef7d08f0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9f0d6236da0cee4c6b5189c0daa633d"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_data_queue.html#ae9f0d6236da0cee4c6b5189c0daa633d">timerTick</a> ()</td></tr>
<tr class="memdesc:ae9f0d6236da0cee4c6b5189c0daa633d"><td class="mdescLeft">&#160;</td><td class="mdescRight">A plugin point for timer tick driven events.  <a href="#ae9f0d6236da0cee4c6b5189c0daa633d">More...</a><br /></td></tr>
<tr class="separator:ae9f0d6236da0cee4c6b5189c0daa633d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cda7f313b23c9e00df8e54ed091e6a7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_data_queue.html#a3cda7f313b23c9e00df8e54ed091e6a7">renewLocalSSRC</a> ()</td></tr>
<tr class="separator:a3cda7f313b23c9e00df8e54ed091e6a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73039fed28d74fc6fdae60ecf94a0fe9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_data_queue.html#a73039fed28d74fc6fdae60ecf94a0fe9">endQueue</a> ()</td></tr>
<tr class="memdesc:a73039fed28d74fc6fdae60ecf94a0fe9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method ends the queue.  <a href="#a73039fed28d74fc6fdae60ecf94a0fe9">More...</a><br /></td></tr>
<tr class="separator:a73039fed28d74fc6fdae60ecf94a0fe9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55e55a5fe67dfd3bec5ed7ea553b9c8d"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_data_queue.html#a55e55a5fe67dfd3bec5ed7ea553b9c8d">isPendingData</a> (<a class="el" href="base_8h.html#ac16d853255145e6a903914eb376a84bb">microtimeout_t</a> timeout)=0</td></tr>
<tr class="memdesc:a55e55a5fe67dfd3bec5ed7ea553b9c8d"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used to check for and schedule against arriving packets based on the derived connection type.  <a href="#a55e55a5fe67dfd3bec5ed7ea553b9c8d">More...</a><br /></td></tr>
<tr class="separator:a55e55a5fe67dfd3bec5ed7ea553b9c8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_incoming_data_queue"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_incoming_data_queue')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_incoming_data_queue.html">IncomingDataQueue</a></td></tr>
<tr class="memitem:af7b901455320c83f0b5ed6c4ab26a98a inherit pro_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#af7b901455320c83f0b5ed6c4ab26a98a">IncomingDataQueue</a> (uint32 size)</td></tr>
<tr class="separator:af7b901455320c83f0b5ed6c4ab26a98a inherit pro_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a975f3457950992a17392a599e3b06813 inherit pro_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a975f3457950992a17392a599e3b06813">~IncomingDataQueue</a> ()</td></tr>
<tr class="separator:a975f3457950992a17392a599e3b06813 inherit pro_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a996ac43426aff46ecdf8e7da1fdd7390 inherit pro_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a996ac43426aff46ecdf8e7da1fdd7390">checkSSRCInIncomingRTPPkt</a> (<a class="el" href="struct_membership_bookkeeping_1_1_sync_source_link.html">SyncSourceLink</a> &amp;sourceLink, bool is_new, InetAddress &amp;na, tpport_t tp)</td></tr>
<tr class="memdesc:a996ac43426aff46ecdf8e7da1fdd7390 inherit pro_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Apply collision and loop detection and correction algorithm when receiving RTP data packets.  <a href="#a996ac43426aff46ecdf8e7da1fdd7390">More...</a><br /></td></tr>
<tr class="separator:a996ac43426aff46ecdf8e7da1fdd7390 inherit pro_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c595148215e5bf4098ff0e13d1ccfb7 inherit pro_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a6c595148215e5bf4098ff0e13d1ccfb7">setSourceExpirationPeriod</a> (uint8 intervals)</td></tr>
<tr class="memdesc:a6c595148215e5bf4098ff0e13d1ccfb7 inherit pro_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the number of RTCP intervals that the stack will wait to change the state of a source from stateActive to stateInactive, or to delete the source after being in stateInactive.  <a href="#a6c595148215e5bf4098ff0e13d1ccfb7">More...</a><br /></td></tr>
<tr class="separator:a6c595148215e5bf4098ff0e13d1ccfb7 inherit pro_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd2073e2efcf4843a54a710ff543643f inherit pro_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#afd2073e2efcf4843a54a710ff543643f">takeInDataPacket</a> ()</td></tr>
<tr class="memdesc:afd2073e2efcf4843a54a710ff543643f inherit pro_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used by the service thread to process the next incoming packet and place it in the receive list.  <a href="#afd2073e2efcf4843a54a710ff543643f">More...</a><br /></td></tr>
<tr class="separator:afd2073e2efcf4843a54a710ff543643f inherit pro_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a8b5c6c0e3c934cece8e909a499efd6 inherit pro_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a7a8b5c6c0e3c934cece8e909a499efd6">renewLocalSSRC</a> ()</td></tr>
<tr class="separator:a7a8b5c6c0e3c934cece8e909a499efd6 inherit pro_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93207595215c402ce706d01448a9dacf inherit pro_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_membership_bookkeeping_1_1_incoming_r_t_p_pkt_link.html">IncomingDataQueue::IncomingRTPPktLink</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a93207595215c402ce706d01448a9dacf">getWaiting</a> (uint32 timestamp, const <a class="el" href="class_sync_source.html">SyncSource</a> *src=NULL)</td></tr>
<tr class="memdesc:a93207595215c402ce706d01448a9dacf inherit pro_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is used to fetch a packet in the receive queue and to expire packets older than the current timestamp.  <a href="#a93207595215c402ce706d01448a9dacf">More...</a><br /></td></tr>
<tr class="separator:a93207595215c402ce706d01448a9dacf inherit pro_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a628cb3c8b6f4f0b31952aa9138105c69 inherit pro_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a628cb3c8b6f4f0b31952aa9138105c69">recordReception</a> (<a class="el" href="struct_membership_bookkeeping_1_1_sync_source_link.html">SyncSourceLink</a> &amp;srcLink, const <a class="el" href="class_incoming_r_t_p_pkt.html">IncomingRTPPkt</a> &amp;pkt, const timeval recvtime)</td></tr>
<tr class="memdesc:a628cb3c8b6f4f0b31952aa9138105c69 inherit pro_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log reception of a new RTP packet from this source.  <a href="#a628cb3c8b6f4f0b31952aa9138105c69">More...</a><br /></td></tr>
<tr class="separator:a628cb3c8b6f4f0b31952aa9138105c69 inherit pro_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33827293af289391ecb1b227aac14158 inherit pro_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a33827293af289391ecb1b227aac14158">recordExtraction</a> (const <a class="el" href="class_incoming_r_t_p_pkt.html">IncomingRTPPkt</a> &amp;pkt)</td></tr>
<tr class="memdesc:a33827293af289391ecb1b227aac14158 inherit pro_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Log extraction of a packet from this source from the scheduled reception queue.  <a href="#a33827293af289391ecb1b227aac14158">More...</a><br /></td></tr>
<tr class="separator:a33827293af289391ecb1b227aac14158 inherit pro_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab247b353020527a917db9aaba5bb5dde inherit pro_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#ab247b353020527a917db9aaba5bb5dde">purgeIncomingQueue</a> ()</td></tr>
<tr class="separator:ab247b353020527a917db9aaba5bb5dde inherit pro_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b75da6823836f59673bafaa6b3859c4 inherit pro_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a7b75da6823836f59673bafaa6b3859c4">onNewSyncSource</a> (const <a class="el" href="class_sync_source.html">SyncSource</a> &amp;)</td></tr>
<tr class="memdesc:a7b75da6823836f59673bafaa6b3859c4 inherit pro_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual called when a new synchronization source has joined the session.  <a href="#a7b75da6823836f59673bafaa6b3859c4">More...</a><br /></td></tr>
<tr class="separator:a7b75da6823836f59673bafaa6b3859c4 inherit pro_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab85042be854f1a366627f0ab3f5b800d inherit pro_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#ab85042be854f1a366627f0ab3f5b800d">onRTPPacketRecv</a> (<a class="el" href="class_incoming_r_t_p_pkt.html">IncomingRTPPkt</a> &amp;)</td></tr>
<tr class="memdesc:ab85042be854f1a366627f0ab3f5b800d inherit pro_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">A virtual function to support parsing of arriving packets to determine if they should be kept in the queue and to dispatch events.  <a href="#ab85042be854f1a366627f0ab3f5b800d">More...</a><br /></td></tr>
<tr class="separator:ab85042be854f1a366627f0ab3f5b800d inherit pro_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d1fda86e7bf629ccb2fbc85a0edb27f inherit pro_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a5d1fda86e7bf629ccb2fbc85a0edb27f">onExpireRecv</a> (<a class="el" href="class_incoming_r_t_p_pkt.html">IncomingRTPPkt</a> &amp;)</td></tr>
<tr class="memdesc:a5d1fda86e7bf629ccb2fbc85a0edb27f inherit pro_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">A hook to filter packets in the receive queue that are being expired.  <a href="#a5d1fda86e7bf629ccb2fbc85a0edb27f">More...</a><br /></td></tr>
<tr class="separator:a5d1fda86e7bf629ccb2fbc85a0edb27f inherit pro_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c3bfb8ae52bda2bff43f62784cf24d5 inherit pro_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a9c3bfb8ae52bda2bff43f62784cf24d5">onSRTPPacketError</a> (<a class="el" href="class_incoming_r_t_p_pkt.html">IncomingRTPPkt</a> &amp;pkt, int32 errorCode)</td></tr>
<tr class="memdesc:a9c3bfb8ae52bda2bff43f62784cf24d5 inherit pro_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">A hook that gets called if the decoding of an incoming SRTP was erroneous.  <a href="#a9c3bfb8ae52bda2bff43f62784cf24d5">More...</a><br /></td></tr>
<tr class="separator:a9c3bfb8ae52bda2bff43f62784cf24d5 inherit pro_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f747ec737400666e0d410e66ab6246d inherit pro_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a5f747ec737400666e0d410e66ab6246d">end2EndDelayed</a> (IncomingRTPPktLink &amp;)</td></tr>
<tr class="separator:a5f747ec737400666e0d410e66ab6246d inherit pro_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09b23b4a1cac969a663a7f64cd45f7d3 inherit pro_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a09b23b4a1cac969a663a7f64cd45f7d3">insertRecvPacket</a> (IncomingRTPPktLink *packetLink)</td></tr>
<tr class="memdesc:a09b23b4a1cac969a663a7f64cd45f7d3 inherit pro_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">Insert a just received packet in the queue (both general and source specific queues).  <a href="#a09b23b4a1cac969a663a7f64cd45f7d3">More...</a><br /></td></tr>
<tr class="separator:a09b23b4a1cac969a663a7f64cd45f7d3 inherit pro_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea541eb5abb237557d63d131160ce5f0 inherit pro_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#aea541eb5abb237557d63d131160ce5f0">recvData</a> (unsigned char *buffer, size_t length, InetHostAddress &amp;host, tpport_t &amp;port)=0</td></tr>
<tr class="memdesc:aea541eb5abb237557d63d131160ce5f0 inherit pro_methods_class_incoming_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs the physical I/O for reading a packet from the source.  <a href="#aea541eb5abb237557d63d131160ce5f0">More...</a><br /></td></tr>
<tr class="separator:aea541eb5abb237557d63d131160ce5f0 inherit pro_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac884b9005077f3320e6b9b5fc3694589 inherit pro_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#ac884b9005077f3320e6b9b5fc3694589">getNextDataPacketSize</a> () const =0</td></tr>
<tr class="separator:ac884b9005077f3320e6b9b5fc3694589 inherit pro_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_incoming_data_queue_base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_incoming_data_queue_base')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_incoming_data_queue_base.html">IncomingDataQueueBase</a></td></tr>
<tr class="memitem:ae4b3d3f63689d418f1f084a623f43140 inherit pro_methods_class_incoming_data_queue_base"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue_base.html#ae4b3d3f63689d418f1f084a623f43140">IncomingDataQueueBase</a> ()</td></tr>
<tr class="separator:ae4b3d3f63689d418f1f084a623f43140 inherit pro_methods_class_incoming_data_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab1ca43c0f2f23c7df96ed433738dba6a inherit pro_methods_class_incoming_data_queue_base"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue_base.html#ab1ca43c0f2f23c7df96ed433738dba6a">~IncomingDataQueueBase</a> ()</td></tr>
<tr class="separator:ab1ca43c0f2f23c7df96ed433738dba6a inherit pro_methods_class_incoming_data_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_r_t_p_queue_base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_r_t_p_queue_base')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_r_t_p_queue_base.html">RTPQueueBase</a></td></tr>
<tr class="memitem:a48b662efe4db3d6c3db2952b892ffc1c inherit pro_methods_class_r_t_p_queue_base"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_queue_base.html#a48b662efe4db3d6c3db2952b892ffc1c">RTPQueueBase</a> (uint32 *ssrc=NULL)</td></tr>
<tr class="separator:a48b662efe4db3d6c3db2952b892ffc1c inherit pro_methods_class_r_t_p_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97b55f4b3d364ab8e34c928c4bf8bde5 inherit pro_methods_class_r_t_p_queue_base"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_queue_base.html#a97b55f4b3d364ab8e34c928c4bf8bde5">setLocalSSRC</a> (uint32 ssrc)</td></tr>
<tr class="separator:a97b55f4b3d364ab8e34c928c4bf8bde5 inherit pro_methods_class_r_t_p_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeeb44d8c69360d00123fcd78d39f3502 inherit pro_methods_class_r_t_p_queue_base"><td class="memItemLeft" align="right" valign="top">uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_queue_base.html#aeeb44d8c69360d00123fcd78d39f3502">getLocalSSRCNetwork</a> () const </td></tr>
<tr class="separator:aeeb44d8c69360d00123fcd78d39f3502 inherit pro_methods_class_r_t_p_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae44faa05b189e5c1ce33678a21a59119 inherit pro_methods_class_r_t_p_queue_base"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_queue_base.html#ae44faa05b189e5c1ce33678a21a59119">~RTPQueueBase</a> ()</td></tr>
<tr class="separator:ae44faa05b189e5c1ce33678a21a59119 inherit pro_methods_class_r_t_p_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adff15944ba35bc31b1b05347d25fda80 inherit pro_methods_class_r_t_p_queue_base"><td class="memItemLeft" align="right" valign="top">virtual size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_r_t_p_queue_base.html#adff15944ba35bc31b1b05347d25fda80">dispatchBYE</a> (const std::string &amp;)</td></tr>
<tr class="memdesc:adff15944ba35bc31b1b05347d25fda80 inherit pro_methods_class_r_t_p_queue_base"><td class="mdescLeft">&#160;</td><td class="mdescRight">A plugin point for posting of BYE messages.  <a href="#adff15944ba35bc31b1b05347d25fda80">More...</a><br /></td></tr>
<tr class="separator:adff15944ba35bc31b1b05347d25fda80 inherit pro_methods_class_r_t_p_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_membership_bookkeeping"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_membership_bookkeeping')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_membership_bookkeeping.html">MembershipBookkeeping</a></td></tr>
<tr class="memitem:ae0e19e958667bb8bf638f1db14de7e25 inherit pro_methods_class_membership_bookkeeping"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_membership_bookkeeping.html#ae0e19e958667bb8bf638f1db14de7e25">MembershipBookkeeping</a> (uint32 initialSize=<a class="el" href="class_membership_bookkeeping.html#a53ba5e9495dfdb9ec16c551206796d99">defaultMembersHashSize</a>)</td></tr>
<tr class="memdesc:ae0e19e958667bb8bf638f1db14de7e25 inherit pro_methods_class_membership_bookkeeping"><td class="mdescLeft">&#160;</td><td class="mdescRight">The initial size is a hint to allocate the resources needed in order to keep the members' identifiers and associated information.  <a href="#ae0e19e958667bb8bf638f1db14de7e25">More...</a><br /></td></tr>
<tr class="separator:ae0e19e958667bb8bf638f1db14de7e25 inherit pro_methods_class_membership_bookkeeping"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01a57bbe5175adcf7a79677d6e6a7425 inherit pro_methods_class_membership_bookkeeping"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_membership_bookkeeping.html#a01a57bbe5175adcf7a79677d6e6a7425">~MembershipBookkeeping</a> ()</td></tr>
<tr class="memdesc:a01a57bbe5175adcf7a79677d6e6a7425 inherit pro_methods_class_membership_bookkeeping"><td class="mdescLeft">&#160;</td><td class="mdescRight">Purges all RTPSource structures created during the session, as well as the hash table and the list of sources.  <a href="#a01a57bbe5175adcf7a79677d6e6a7425">More...</a><br /></td></tr>
<tr class="separator:a01a57bbe5175adcf7a79677d6e6a7425 inherit pro_methods_class_membership_bookkeeping"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38efd69069fee738eff8bb17de488361 inherit pro_methods_class_membership_bookkeeping"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_membership_bookkeeping_1_1_sync_source_link.html">SyncSourceLink</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_membership_bookkeeping.html#a38efd69069fee738eff8bb17de488361">getLink</a> (const <a class="el" href="class_sync_source.html">SyncSource</a> &amp;source) const </td></tr>
<tr class="separator:a38efd69069fee738eff8bb17de488361 inherit pro_methods_class_membership_bookkeeping"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8f223d6677c5656ecf648b4ca250fd4 inherit pro_methods_class_membership_bookkeeping"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_membership_bookkeeping.html#ad8f223d6677c5656ecf648b4ca250fd4">isMine</a> (const <a class="el" href="class_sync_source.html">SyncSource</a> &amp;source) const </td></tr>
<tr class="memdesc:ad8f223d6677c5656ecf648b4ca250fd4 inherit pro_methods_class_membership_bookkeeping"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get whether a synchronization source is recorded in this membership controller.  <a href="#ad8f223d6677c5656ecf648b4ca250fd4">More...</a><br /></td></tr>
<tr class="separator:ad8f223d6677c5656ecf648b4ca250fd4 inherit pro_methods_class_membership_bookkeeping"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adba066c0ebf349a07cce67a5f0f39d43 inherit pro_methods_class_membership_bookkeeping"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_membership_bookkeeping.html#adba066c0ebf349a07cce67a5f0f39d43">isRegistered</a> (uint32 ssrc)</td></tr>
<tr class="memdesc:adba066c0ebf349a07cce67a5f0f39d43 inherit pro_methods_class_membership_bookkeeping"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether there is already a synchronizacion source with "ssrc" SSRC identifier.  <a href="#adba066c0ebf349a07cce67a5f0f39d43">More...</a><br /></td></tr>
<tr class="separator:adba066c0ebf349a07cce67a5f0f39d43 inherit pro_methods_class_membership_bookkeeping"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1f6257bddecacae2e6e6091ca3139c6 inherit pro_methods_class_membership_bookkeeping"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_membership_bookkeeping_1_1_sync_source_link.html">SyncSourceLink</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_membership_bookkeeping.html#ad1f6257bddecacae2e6e6091ca3139c6">getSourceBySSRC</a> (uint32 ssrc, bool &amp;created)</td></tr>
<tr class="memdesc:ad1f6257bddecacae2e6e6091ca3139c6 inherit pro_methods_class_membership_bookkeeping"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the description of a source by its <code>ssrc</code> identifier.  <a href="#ad1f6257bddecacae2e6e6091ca3139c6">More...</a><br /></td></tr>
<tr class="separator:ad1f6257bddecacae2e6e6091ca3139c6 inherit pro_methods_class_membership_bookkeeping"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1a030a684b25063ab85e0fbae1fa8f5 inherit pro_methods_class_membership_bookkeeping"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_membership_bookkeeping.html#ac1a030a684b25063ab85e0fbae1fa8f5">BYESource</a> (uint32 ssrc)</td></tr>
<tr class="memdesc:ac1a030a684b25063ab85e0fbae1fa8f5 inherit pro_methods_class_membership_bookkeeping"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mark the source identified by <code>ssrc</code> as having sent a BYE packet.  <a href="#ac1a030a684b25063ab85e0fbae1fa8f5">More...</a><br /></td></tr>
<tr class="separator:ac1a030a684b25063ab85e0fbae1fa8f5 inherit pro_methods_class_membership_bookkeeping"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac37a1ac1119520b1a64845b67ab833e5 inherit pro_methods_class_membership_bookkeeping"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_membership_bookkeeping.html#ac37a1ac1119520b1a64845b67ab833e5">removeSource</a> (uint32 ssrc)</td></tr>
<tr class="memdesc:ac37a1ac1119520b1a64845b67ab833e5 inherit pro_methods_class_membership_bookkeeping"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove the description of the source identified by <code>ssrc</code>  <a href="#ac37a1ac1119520b1a64845b67ab833e5">More...</a><br /></td></tr>
<tr class="separator:ac37a1ac1119520b1a64845b67ab833e5 inherit pro_methods_class_membership_bookkeeping"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27e96c52e49965aa6a7ab2c9ae39233f inherit pro_methods_class_membership_bookkeeping"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_membership_bookkeeping_1_1_sync_source_link.html">SyncSourceLink</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_membership_bookkeeping.html#a27e96c52e49965aa6a7ab2c9ae39233f">getFirst</a> ()</td></tr>
<tr class="separator:a27e96c52e49965aa6a7ab2c9ae39233f inherit pro_methods_class_membership_bookkeeping"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f1d99b0ff59e1be893087b4832abfd7 inherit pro_methods_class_membership_bookkeeping"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_membership_bookkeeping_1_1_sync_source_link.html">SyncSourceLink</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_membership_bookkeeping.html#a4f1d99b0ff59e1be893087b4832abfd7">getLast</a> ()</td></tr>
<tr class="separator:a4f1d99b0ff59e1be893087b4832abfd7 inherit pro_methods_class_membership_bookkeeping"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9d008b64658b94d2e114c32ece8b70b inherit pro_methods_class_membership_bookkeeping"><td class="memItemLeft" align="right" valign="top">uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_membership_bookkeeping.html#aa9d008b64658b94d2e114c32ece8b70b">getMembersCount</a> ()</td></tr>
<tr class="separator:aa9d008b64658b94d2e114c32ece8b70b inherit pro_methods_class_membership_bookkeeping"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c5325d929921e93ab98272d3e23a180 inherit pro_methods_class_membership_bookkeeping"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_membership_bookkeeping.html#a4c5325d929921e93ab98272d3e23a180">setMembersCount</a> (uint32 n)</td></tr>
<tr class="separator:a4c5325d929921e93ab98272d3e23a180 inherit pro_methods_class_membership_bookkeeping"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8449f626c59c5549c2c9e8c79718456f inherit pro_methods_class_membership_bookkeeping"><td class="memItemLeft" align="right" valign="top">uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_membership_bookkeeping.html#a8449f626c59c5549c2c9e8c79718456f">getSendersCount</a> ()</td></tr>
<tr class="separator:a8449f626c59c5549c2c9e8c79718456f inherit pro_methods_class_membership_bookkeeping"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16aa1d1a8f505c3c17a952ec872bcaac inherit pro_methods_class_membership_bookkeeping"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_membership_bookkeeping.html#a16aa1d1a8f505c3c17a952ec872bcaac">getDefaultMembersHashSize</a> ()</td></tr>
<tr class="separator:a16aa1d1a8f505c3c17a952ec872bcaac inherit pro_methods_class_membership_bookkeeping"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_sync_source_handler"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_sync_source_handler')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_sync_source_handler.html">SyncSourceHandler</a></td></tr>
<tr class="memitem:a5f2e5f637856c57bdac70c7ccb8664cf inherit pro_methods_class_sync_source_handler"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sync_source_handler.html#a5f2e5f637856c57bdac70c7ccb8664cf">SyncSourceHandler</a> ()</td></tr>
<tr class="separator:a5f2e5f637856c57bdac70c7ccb8664cf inherit pro_methods_class_sync_source_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ede656f467571839d1f13d11c84f4d0 inherit pro_methods_class_sync_source_handler"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sync_source_handler.html#a3ede656f467571839d1f13d11c84f4d0">~SyncSourceHandler</a> ()</td></tr>
<tr class="separator:a3ede656f467571839d1f13d11c84f4d0 inherit pro_methods_class_sync_source_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f835cb89ba9c5102e948a8c0e0102b2 inherit pro_methods_class_sync_source_handler"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sync_source_handler.html#a1f835cb89ba9c5102e948a8c0e0102b2">getLink</a> (const <a class="el" href="class_sync_source.html">SyncSource</a> &amp;source) const </td></tr>
<tr class="memdesc:a1f835cb89ba9c5102e948a8c0e0102b2 inherit pro_methods_class_sync_source_handler"><td class="mdescLeft">&#160;</td><td class="mdescRight">This requires <a class="el" href="class_sync_source.html" title="Synchronization source in an RTP session. ">SyncSource</a> - <a class="el" href="class_sync_source_handler.html" title="SyncSource objects modification methods. ">SyncSourceHandler</a> friendship.  <a href="#a1f835cb89ba9c5102e948a8c0e0102b2">More...</a><br /></td></tr>
<tr class="separator:a1f835cb89ba9c5102e948a8c0e0102b2 inherit pro_methods_class_sync_source_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab81fe348ff9772693fc27ae4751d24b4 inherit pro_methods_class_sync_source_handler"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sync_source_handler.html#ab81fe348ff9772693fc27ae4751d24b4">setLink</a> (<a class="el" href="class_sync_source.html">SyncSource</a> &amp;source, void *link)</td></tr>
<tr class="separator:ab81fe348ff9772693fc27ae4751d24b4 inherit pro_methods_class_sync_source_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a380179ca7c9641eafa1c8d3c223de2db inherit pro_methods_class_sync_source_handler"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sync_source_handler.html#a380179ca7c9641eafa1c8d3c223de2db">setParticipant</a> (<a class="el" href="class_sync_source.html">SyncSource</a> &amp;source, <a class="el" href="class_participant.html">Participant</a> &amp;p)</td></tr>
<tr class="separator:a380179ca7c9641eafa1c8d3c223de2db inherit pro_methods_class_sync_source_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab25f7c1d845ea466cf955b4b6be45165 inherit pro_methods_class_sync_source_handler"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sync_source_handler.html#ab25f7c1d845ea466cf955b4b6be45165">setState</a> (<a class="el" href="class_sync_source.html">SyncSource</a> &amp;source, <a class="el" href="group__sources.html#gae1ed2a19bbfd03de69fbdfc044f2c5dc">SyncSource::State</a> ns)</td></tr>
<tr class="separator:ab25f7c1d845ea466cf955b4b6be45165 inherit pro_methods_class_sync_source_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaafbdeb950f765f8f121eaf6688c7367 inherit pro_methods_class_sync_source_handler"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sync_source_handler.html#aaafbdeb950f765f8f121eaf6688c7367">setSender</a> (<a class="el" href="class_sync_source.html">SyncSource</a> &amp;source, bool active)</td></tr>
<tr class="separator:aaafbdeb950f765f8f121eaf6688c7367 inherit pro_methods_class_sync_source_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47f7b8cf542dc9487062de7474304928 inherit pro_methods_class_sync_source_handler"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sync_source_handler.html#a47f7b8cf542dc9487062de7474304928">setDataTransportPort</a> (<a class="el" href="class_sync_source.html">SyncSource</a> &amp;source, tpport_t p)</td></tr>
<tr class="separator:a47f7b8cf542dc9487062de7474304928 inherit pro_methods_class_sync_source_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd5da6c8029f6a3395b86488dd78e274 inherit pro_methods_class_sync_source_handler"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sync_source_handler.html#acd5da6c8029f6a3395b86488dd78e274">setControlTransportPort</a> (<a class="el" href="class_sync_source.html">SyncSource</a> &amp;source, tpport_t p)</td></tr>
<tr class="separator:acd5da6c8029f6a3395b86488dd78e274 inherit pro_methods_class_sync_source_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa71d11242bd0acd3c7cb36065d4311dd inherit pro_methods_class_sync_source_handler"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_sync_source_handler.html#aa71d11242bd0acd3c7cb36065d4311dd">setNetworkAddress</a> (<a class="el" href="class_sync_source.html">SyncSource</a> &amp;source, InetAddress addr)</td></tr>
<tr class="separator:aa71d11242bd0acd3c7cb36065d4311dd inherit pro_methods_class_sync_source_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_participant_handler"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_participant_handler')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_participant_handler.html">ParticipantHandler</a></td></tr>
<tr class="memitem:a8ab7d9a425e56c05c288fb890162af19 inherit pro_methods_class_participant_handler"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_participant_handler.html#a8ab7d9a425e56c05c288fb890162af19">ParticipantHandler</a> ()</td></tr>
<tr class="separator:a8ab7d9a425e56c05c288fb890162af19 inherit pro_methods_class_participant_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a593f3ffdc20022348329d6c886f3cd07 inherit pro_methods_class_participant_handler"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_participant_handler.html#a593f3ffdc20022348329d6c886f3cd07">~ParticipantHandler</a> ()</td></tr>
<tr class="separator:a593f3ffdc20022348329d6c886f3cd07 inherit pro_methods_class_participant_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d8b6d3877d6643eda12bb2018f6e0b7 inherit pro_methods_class_participant_handler"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_participant_handler.html#a0d8b6d3877d6643eda12bb2018f6e0b7">setSDESItem</a> (<a class="el" href="class_participant.html">Participant</a> *part, <a class="el" href="group__rtcppacket.html#gaf6d38e5ccbbcdf2a24ebbd4fc5b4eeac">SDESItemType</a> item, const std::string &amp;val)</td></tr>
<tr class="separator:a0d8b6d3877d6643eda12bb2018f6e0b7 inherit pro_methods_class_participant_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab905220f12970024aac76e02f0d20d66 inherit pro_methods_class_participant_handler"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_participant_handler.html#ab905220f12970024aac76e02f0d20d66">setPRIVPrefix</a> (<a class="el" href="class_participant.html">Participant</a> *part, const std::string val)</td></tr>
<tr class="separator:ab905220f12970024aac76e02f0d20d66 inherit pro_methods_class_participant_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_application_handler"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_application_handler')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_application_handler.html">ApplicationHandler</a></td></tr>
<tr class="memitem:ae06c6f4d57bb4d0ba947617df6dbcaeb inherit pro_methods_class_application_handler"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_application_handler.html#ae06c6f4d57bb4d0ba947617df6dbcaeb">ApplicationHandler</a> ()</td></tr>
<tr class="separator:ae06c6f4d57bb4d0ba947617df6dbcaeb inherit pro_methods_class_application_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa526edea8fc2dab80b38f6723b7a7dd1 inherit pro_methods_class_application_handler"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_application_handler.html#aa526edea8fc2dab80b38f6723b7a7dd1">~ApplicationHandler</a> ()</td></tr>
<tr class="separator:aa526edea8fc2dab80b38f6723b7a7dd1 inherit pro_methods_class_application_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe4ac5029cb0b0d5f011ce81e7ede85d inherit pro_methods_class_application_handler"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_application_handler.html#afe4ac5029cb0b0d5f011ce81e7ede85d">addParticipant</a> (<a class="el" href="class_r_t_p_application.html">RTPApplication</a> &amp;app, <a class="el" href="class_participant.html">Participant</a> &amp;part)</td></tr>
<tr class="separator:afe4ac5029cb0b0d5f011ce81e7ede85d inherit pro_methods_class_application_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bbc4b6c97169283f4675c98aadd9335 inherit pro_methods_class_application_handler"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_application_handler.html#a9bbc4b6c97169283f4675c98aadd9335">removeParticipant</a> (<a class="el" href="class_r_t_p_application.html">RTPApplication</a> &amp;app, RTPApplication::ParticipantLink *pl)</td></tr>
<tr class="separator:a9bbc4b6c97169283f4675c98aadd9335 inherit pro_methods_class_application_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_conflict_handler"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_conflict_handler')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_conflict_handler.html">ConflictHandler</a></td></tr>
<tr class="memitem:ab179866b314afae1423581c318073bcd inherit pro_methods_class_conflict_handler"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_conflict_handler.html#ab179866b314afae1423581c318073bcd">ConflictHandler</a> ()</td></tr>
<tr class="separator:ab179866b314afae1423581c318073bcd inherit pro_methods_class_conflict_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a108fbdad827dcbe30c373046c8816462 inherit pro_methods_class_conflict_handler"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_conflict_handler.html#a108fbdad827dcbe30c373046c8816462">~ConflictHandler</a> ()</td></tr>
<tr class="separator:a108fbdad827dcbe30c373046c8816462 inherit pro_methods_class_conflict_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52474b60c9693612e9662da800b460a4 inherit pro_methods_class_conflict_handler"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_conflict_handler_1_1_conflicting_transport_address.html">ConflictingTransportAddress</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_conflict_handler.html#a52474b60c9693612e9662da800b460a4">searchDataConflict</a> (InetAddress na, tpport_t dtp)</td></tr>
<tr class="separator:a52474b60c9693612e9662da800b460a4 inherit pro_methods_class_conflict_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab24b01e190d96e4ef0318a620152235b inherit pro_methods_class_conflict_handler"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_conflict_handler_1_1_conflicting_transport_address.html">ConflictingTransportAddress</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_conflict_handler.html#ab24b01e190d96e4ef0318a620152235b">searchControlConflict</a> (InetAddress na, tpport_t ctp)</td></tr>
<tr class="separator:ab24b01e190d96e4ef0318a620152235b inherit pro_methods_class_conflict_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6c5594445fd628222194cf3a657cf99 inherit pro_methods_class_conflict_handler"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_conflict_handler.html#ac6c5594445fd628222194cf3a657cf99">updateConflict</a> (<a class="el" href="struct_conflict_handler_1_1_conflicting_transport_address.html">ConflictingTransportAddress</a> &amp;ca)</td></tr>
<tr class="separator:ac6c5594445fd628222194cf3a657cf99 inherit pro_methods_class_conflict_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10a46df76cbe033b7ceedb95855bd15f inherit pro_methods_class_conflict_handler"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_conflict_handler.html#a10a46df76cbe033b7ceedb95855bd15f">addConflict</a> (const InetAddress &amp;na, tpport_t dtp, tpport_t ctp)</td></tr>
<tr class="separator:a10a46df76cbe033b7ceedb95855bd15f inherit pro_methods_class_conflict_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_outgoing_data_queue"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_outgoing_data_queue')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_outgoing_data_queue.html">OutgoingDataQueue</a></td></tr>
<tr class="memitem:a8e4e2b915de7f4b96ed89b10a97604cb inherit pro_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a8e4e2b915de7f4b96ed89b10a97604cb">OutgoingDataQueue</a> ()</td></tr>
<tr class="separator:a8e4e2b915de7f4b96ed89b10a97604cb inherit pro_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38db013dc101861a7507a008b71101e8 inherit pro_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a38db013dc101861a7507a008b71101e8">~OutgoingDataQueue</a> ()</td></tr>
<tr class="separator:a38db013dc101861a7507a008b71101e8 inherit pro_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ce370ad408d4d06af68dbab51dd0c0c inherit pro_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a6ce370ad408d4d06af68dbab51dd0c0c">dispatchImmediate</a> (<a class="el" href="class_outgoing_r_t_p_pkt.html">OutgoingRTPPkt</a> *packet)</td></tr>
<tr class="memdesc:a6ce370ad408d4d06af68dbab51dd0c0c inherit pro_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is used to write the RTP data packet to one or more destinations.  <a href="#a6ce370ad408d4d06af68dbab51dd0c0c">More...</a><br /></td></tr>
<tr class="separator:a6ce370ad408d4d06af68dbab51dd0c0c inherit pro_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a112beed1f3f71c49cc798e99814e58c7 inherit pro_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top"><a class="el" href="base_8h.html#ac16d853255145e6a903914eb376a84bb">microtimeout_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a112beed1f3f71c49cc798e99814e58c7">getSchedulingTimeout</a> ()</td></tr>
<tr class="memdesc:a112beed1f3f71c49cc798e99814e58c7 inherit pro_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">This computes the timeout period for scheduling transmission of the next packet at the "head" of the send buffer.  <a href="#a112beed1f3f71c49cc798e99814e58c7">More...</a><br /></td></tr>
<tr class="separator:a112beed1f3f71c49cc798e99814e58c7 inherit pro_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa1fe37a6312d8111ba9574a1efc65ea5 inherit pro_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#aa1fe37a6312d8111ba9574a1efc65ea5">dispatchDataPacket</a> ()</td></tr>
<tr class="memdesc:aa1fe37a6312d8111ba9574a1efc65ea5 inherit pro_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function is used by the service thread to process the next outgoing packet pending in the sending queue.  <a href="#aa1fe37a6312d8111ba9574a1efc65ea5">More...</a><br /></td></tr>
<tr class="separator:aa1fe37a6312d8111ba9574a1efc65ea5 inherit pro_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ed1a1e41346d284bc8e0d43b5a77e8e inherit pro_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a6ed1a1e41346d284bc8e0d43b5a77e8e">setNextSeqNum</a> (uint32 seqNum)</td></tr>
<tr class="memdesc:a6ed1a1e41346d284bc8e0d43b5a77e8e inherit pro_methods_class_outgoing_data_queue"><td class="mdescLeft">&#160;</td><td class="mdescRight">For thoses cases in which the application requires a method to set the sequence number for the outgoing stream (such as for implementing the RTSP PLAY command).  <a href="#a6ed1a1e41346d284bc8e0d43b5a77e8e">More...</a><br /></td></tr>
<tr class="separator:a6ed1a1e41346d284bc8e0d43b5a77e8e inherit pro_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29de91e1313c732f47d74cf9bd136fe3 inherit pro_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a29de91e1313c732f47d74cf9bd136fe3">getCurrentSeqNum</a> (void)</td></tr>
<tr class="separator:a29de91e1313c732f47d74cf9bd136fe3 inherit pro_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a062033407b73fab8e40ccc9533a13957 inherit pro_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a062033407b73fab8e40ccc9533a13957">setInitialTimestamp</a> (uint32 ts)</td></tr>
<tr class="separator:a062033407b73fab8e40ccc9533a13957 inherit pro_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b21f2a6e408c9712fc9f087969df51f inherit pro_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a2b21f2a6e408c9712fc9f087969df51f">getInitialTimestamp</a> ()</td></tr>
<tr class="separator:a2b21f2a6e408c9712fc9f087969df51f inherit pro_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52a0b8b62ddc5917d487413ae6234ad5 inherit pro_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a52a0b8b62ddc5917d487413ae6234ad5">purgeOutgoingQueue</a> ()</td></tr>
<tr class="separator:a52a0b8b62ddc5917d487413ae6234ad5 inherit pro_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a122915159f16fa0aa269c7408b1094f7 inherit pro_methods_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a122915159f16fa0aa269c7408b1094f7">setControlPeer</a> (const InetAddress &amp;host, tpport_t port)</td></tr>
<tr class="separator:a122915159f16fa0aa269c7408b1094f7 inherit pro_methods_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_outgoing_data_queue_base"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_outgoing_data_queue_base')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_outgoing_data_queue_base.html">OutgoingDataQueueBase</a></td></tr>
<tr class="memitem:aa19f6f6a19a4d2624f9b345bb287ff09 inherit pro_methods_class_outgoing_data_queue_base"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue_base.html#aa19f6f6a19a4d2624f9b345bb287ff09">OutgoingDataQueueBase</a> ()</td></tr>
<tr class="separator:aa19f6f6a19a4d2624f9b345bb287ff09 inherit pro_methods_class_outgoing_data_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83a51909b0495622654b792dfb237bf1 inherit pro_methods_class_outgoing_data_queue_base"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue_base.html#a83a51909b0495622654b792dfb237bf1">~OutgoingDataQueueBase</a> ()</td></tr>
<tr class="separator:a83a51909b0495622654b792dfb237bf1 inherit pro_methods_class_outgoing_data_queue_base"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_class_destination_list_handler"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_class_destination_list_handler')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="class_destination_list_handler.html">DestinationListHandler</a></td></tr>
<tr class="memitem:ae5d51b14f7c94a8040e3b345e4ec0854 inherit pro_methods_class_destination_list_handler"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_destination_list_handler.html#ae5d51b14f7c94a8040e3b345e4ec0854">writeLockDestinationList</a> () const </td></tr>
<tr class="separator:ae5d51b14f7c94a8040e3b345e4ec0854 inherit pro_methods_class_destination_list_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ad95cef0816d1f255058fbe67fbbb02 inherit pro_methods_class_destination_list_handler"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_destination_list_handler.html#a5ad95cef0816d1f255058fbe67fbbb02">addDestinationToList</a> (const InetAddress &amp;ia, tpport_t data, tpport_t control)</td></tr>
<tr class="memdesc:a5ad95cef0816d1f255058fbe67fbbb02 inherit pro_methods_class_destination_list_handler"><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks the object before modifying it.  <a href="#a5ad95cef0816d1f255058fbe67fbbb02">More...</a><br /></td></tr>
<tr class="separator:a5ad95cef0816d1f255058fbe67fbbb02 inherit pro_methods_class_destination_list_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8bb26c80361205ea338b6d6a7bf575e inherit pro_methods_class_destination_list_handler"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_destination_list_handler.html#ac8bb26c80361205ea338b6d6a7bf575e">removeDestinationFromList</a> (const InetAddress &amp;ia, tpport_t dataPort, tpport_t controlPort)</td></tr>
<tr class="memdesc:ac8bb26c80361205ea338b6d6a7bf575e inherit pro_methods_class_destination_list_handler"><td class="mdescLeft">&#160;</td><td class="mdescRight">Locks the object before modifying it.  <a href="#ac8bb26c80361205ea338b6d6a7bf575e">More...</a><br /></td></tr>
<tr class="separator:ac8bb26c80361205ea338b6d6a7bf575e inherit pro_methods_class_destination_list_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a040f728d9dfdbbb596a2a64c8dab3ec1 inherit pro_methods_class_destination_list_handler"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_destination_list_handler.html#a040f728d9dfdbbb596a2a64c8dab3ec1">DestinationListHandler</a> ()</td></tr>
<tr class="separator:a040f728d9dfdbbb596a2a64c8dab3ec1 inherit pro_methods_class_destination_list_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34cc9432bd0bb30fce56d5bf7c0961bc inherit pro_methods_class_destination_list_handler"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_destination_list_handler.html#a34cc9432bd0bb30fce56d5bf7c0961bc">~DestinationListHandler</a> ()</td></tr>
<tr class="separator:a34cc9432bd0bb30fce56d5bf7c0961bc inherit pro_methods_class_destination_list_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3562903d72394a74a6edcb214303a62 inherit pro_methods_class_destination_list_handler"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_destination_list_handler.html#ab3562903d72394a74a6edcb214303a62">isSingleDestination</a> () const </td></tr>
<tr class="memdesc:ab3562903d72394a74a6edcb214303a62 inherit pro_methods_class_destination_list_handler"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get whether there is only a destination in the list.  <a href="#ab3562903d72394a74a6edcb214303a62">More...</a><br /></td></tr>
<tr class="separator:ab3562903d72394a74a6edcb214303a62 inherit pro_methods_class_destination_list_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb299a19878d20e3f0ee4e637d83b1b8 inherit pro_methods_class_destination_list_handler"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_destination_list_handler_1_1_transport_address.html">TransportAddress</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_destination_list_handler.html#abb299a19878d20e3f0ee4e637d83b1b8">getFirstDestination</a> () const </td></tr>
<tr class="separator:abb299a19878d20e3f0ee4e637d83b1b8 inherit pro_methods_class_destination_list_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a953e97c7387f5d81986d0ca6dcf30588 inherit pro_methods_class_destination_list_handler"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_destination_list_handler.html#a953e97c7387f5d81986d0ca6dcf30588">lockDestinationList</a> () const </td></tr>
<tr class="separator:a953e97c7387f5d81986d0ca6dcf30588 inherit pro_methods_class_destination_list_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a042b325c6a8e2d290b0c008603c79448 inherit pro_methods_class_destination_list_handler"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_destination_list_handler.html#a042b325c6a8e2d290b0c008603c79448">unlockDestinationList</a> () const </td></tr>
<tr class="separator:a042b325c6a8e2d290b0c008603c79448 inherit pro_methods_class_destination_list_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_static_methods_class_incoming_data_queue"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_class_incoming_data_queue')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="class_incoming_data_queue.html">IncomingDataQueue</a></td></tr>
<tr class="memitem:a71992a5b9daf02bc65fcc2ca351b9127 inherit pub_static_methods_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">static size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a71992a5b9daf02bc65fcc2ca351b9127">getDefaultMembersSize</a> ()</td></tr>
<tr class="separator:a71992a5b9daf02bc65fcc2ca351b9127 inherit pub_static_methods_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_class_incoming_data_queue"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_incoming_data_queue')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_incoming_data_queue.html">IncomingDataQueue</a></td></tr>
<tr class="memitem:adccf839d9a491cdf98fb2f4f3e13d5d7 inherit pro_attribs_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">ThreadLock&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#adccf839d9a491cdf98fb2f4f3e13d5d7">recvLock</a></td></tr>
<tr class="separator:adccf839d9a491cdf98fb2f4f3e13d5d7 inherit pro_attribs_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93562ccedcba87b2abf91f890868cab6 inherit pro_attribs_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">IncomingRTPPktLink *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a93562ccedcba87b2abf91f890868cab6">recvFirst</a></td></tr>
<tr class="separator:a93562ccedcba87b2abf91f890868cab6 inherit pro_attribs_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d5fc37470fbf038b374664dcfc96435 inherit pro_attribs_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">IncomingRTPPktLink *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a5d5fc37470fbf038b374664dcfc96435">recvLast</a></td></tr>
<tr class="separator:a5d5fc37470fbf038b374664dcfc96435 inherit pro_attribs_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f5902996f89705f0d85df36a9778787 inherit pro_attribs_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">uint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a7f5902996f89705f0d85df36a9778787">minValidPacketSequence</a></td></tr>
<tr class="separator:a7f5902996f89705f0d85df36a9778787 inherit pro_attribs_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a425682bbc96cc0401aafffea0fd59bbd inherit pro_attribs_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a425682bbc96cc0401aafffea0fd59bbd">maxPacketMisorder</a></td></tr>
<tr class="separator:a425682bbc96cc0401aafffea0fd59bbd inherit pro_attribs_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadcc24fdfc96c87f0dfa7c3b6a9c64e8 inherit pro_attribs_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#aadcc24fdfc96c87f0dfa7c3b6a9c64e8">maxPacketDropout</a></td></tr>
<tr class="separator:aadcc24fdfc96c87f0dfa7c3b6a9c64e8 inherit pro_attribs_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d59b8ffbf0b1951e294650ab2a8ef8f inherit pro_attribs_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">uint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a8d59b8ffbf0b1951e294650ab2a8ef8f">sourceExpirationPeriod</a></td></tr>
<tr class="separator:a8d59b8ffbf0b1951e294650ab2a8ef8f inherit pro_attribs_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a963d974350fd1482bcd2e53ed9821afe inherit pro_attribs_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">Mutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a963d974350fd1482bcd2e53ed9821afe">cryptoMutex</a></td></tr>
<tr class="separator:a963d974350fd1482bcd2e53ed9821afe inherit pro_attribs_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aff53fe9c29f8c092b9bfbad60934d420 inherit pro_attribs_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="el" href="class_crypto_context.html">CryptoContext</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#aff53fe9c29f8c092b9bfbad60934d420">cryptoContexts</a></td></tr>
<tr class="separator:aff53fe9c29f8c092b9bfbad60934d420 inherit pro_attribs_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_class_conflict_handler"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_conflict_handler')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_conflict_handler.html">ConflictHandler</a></td></tr>
<tr class="memitem:a29bdf5490220b32c5198730b07a2f585 inherit pro_attribs_class_conflict_handler"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_conflict_handler_1_1_conflicting_transport_address.html">ConflictingTransportAddress</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_conflict_handler.html#a29bdf5490220b32c5198730b07a2f585">firstConflict</a></td></tr>
<tr class="separator:a29bdf5490220b32c5198730b07a2f585 inherit pro_attribs_class_conflict_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6562e425bfd419b2af8c9d6df3caff17 inherit pro_attribs_class_conflict_handler"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_conflict_handler_1_1_conflicting_transport_address.html">ConflictingTransportAddress</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_conflict_handler.html#a6562e425bfd419b2af8c9d6df3caff17">lastConflict</a></td></tr>
<tr class="separator:a6562e425bfd419b2af8c9d6df3caff17 inherit pro_attribs_class_conflict_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_class_outgoing_data_queue"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_outgoing_data_queue')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_outgoing_data_queue.html">OutgoingDataQueue</a></td></tr>
<tr class="memitem:a5bf1a4845a5a0d029d08a40905c5d22b inherit pro_attribs_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">Mutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#a5bf1a4845a5a0d029d08a40905c5d22b">cryptoMutex</a></td></tr>
<tr class="separator:a5bf1a4845a5a0d029d08a40905c5d22b inherit pro_attribs_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af73cab813f65783125b654db509799eb inherit pro_attribs_class_outgoing_data_queue"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="el" href="class_crypto_context.html">CryptoContext</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_outgoing_data_queue.html#af73cab813f65783125b654db509799eb">cryptoContexts</a></td></tr>
<tr class="separator:af73cab813f65783125b654db509799eb inherit pro_attribs_class_outgoing_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_class_destination_list_handler"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_class_destination_list_handler')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="class_destination_list_handler.html">DestinationListHandler</a></td></tr>
<tr class="memitem:a9032eb908a72145fcab9908020686d3b inherit pro_attribs_class_destination_list_handler"><td class="memItemLeft" align="right" valign="top">std::list&lt; <a class="el" href="struct_destination_list_handler_1_1_transport_address.html">TransportAddress</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_destination_list_handler.html#a9032eb908a72145fcab9908020686d3b">destList</a></td></tr>
<tr class="separator:a9032eb908a72145fcab9908020686d3b inherit pro_attribs_class_destination_list_handler"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_static_attribs_class_incoming_data_queue"><td colspan="2" onclick="javascript:toggleInherit('pro_static_attribs_class_incoming_data_queue')"><img src="closed.png" alt="-"/>&#160;Static Protected Attributes inherited from <a class="el" href="class_incoming_data_queue.html">IncomingDataQueue</a></td></tr>
<tr class="memitem:afd2b5c6ec4ef8eab87645a3cad177bd1 inherit pro_static_attribs_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">static const uint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#afd2b5c6ec4ef8eab87645a3cad177bd1">defaultMinValidPacketSequence</a></td></tr>
<tr class="separator:afd2b5c6ec4ef8eab87645a3cad177bd1 inherit pro_static_attribs_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8620d1560ddb2450505b06f3ab488698 inherit pro_static_attribs_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">static const uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a8620d1560ddb2450505b06f3ab488698">defaultMaxPacketMisorder</a></td></tr>
<tr class="separator:a8620d1560ddb2450505b06f3ab488698 inherit pro_static_attribs_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03c2083686a6352960ea364ff0247c0b inherit pro_static_attribs_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">static const uint16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a03c2083686a6352960ea364ff0247c0b">defaultMaxPacketDropout</a></td></tr>
<tr class="separator:a03c2083686a6352960ea364ff0247c0b inherit pro_static_attribs_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01202d358cef0bf703b2991236b15c9e inherit pro_static_attribs_class_incoming_data_queue"><td class="memItemLeft" align="right" valign="top">static const size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_incoming_data_queue.html#a01202d358cef0bf703b2991236b15c9e">defaultMembersSize</a></td></tr>
<tr class="separator:a01202d358cef0bf703b2991236b15c9e inherit pro_static_attribs_class_incoming_data_queue"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_static_attribs_class_membership_bookkeeping"><td colspan="2" onclick="javascript:toggleInherit('pro_static_attribs_class_membership_bookkeeping')"><img src="closed.png" alt="-"/>&#160;Static Protected Attributes inherited from <a class="el" href="class_membership_bookkeeping.html">MembershipBookkeeping</a></td></tr>
<tr class="memitem:a53ba5e9495dfdb9ec16c551206796d99 inherit pro_static_attribs_class_membership_bookkeeping"><td class="memItemLeft" align="right" valign="top">static const size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_membership_bookkeeping.html#a53ba5e9495dfdb9ec16c551206796d99">defaultMembersHashSize</a></td></tr>
<tr class="separator:a53ba5e9495dfdb9ec16c551206796d99 inherit pro_static_attribs_class_membership_bookkeeping"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a07aaed6db929c59a302e9cb68405ef71 inherit pro_static_attribs_class_membership_bookkeeping"><td class="memItemLeft" align="right" valign="top">static const uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_membership_bookkeeping.html#a07aaed6db929c59a302e9cb68405ef71">SEQNUMMOD</a></td></tr>
<tr class="separator:a07aaed6db929c59a302e9cb68405ef71 inherit pro_static_attribs_class_membership_bookkeeping"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A packet queue handler for building different kinds of RTP protocol systems. </p>
<p>The queue manages both incoming and outgoing RTP packets, as well as synchronization and transmission/reception timers. By making the queue handler a seperate base class it becomes possible to define RTP classes for RTP profiles and sessions of different types.</p>
<p>Outgoing packets are sent via the <a class="el" href="class_outgoing_data_queue.html#ac47cec242d96bc326f0292890e570d64" title="This is used to create a data packet in the send queue. ">OutgoingDataQueue::putData</a> method.</p>
<p>Incoming packets can be retrieved via <a class="el" href="class_incoming_data_queue.html#a830c8a49a36dcd3e30c4e98f15e8af14" title="Retreive data from a specific timestamped packet if such a packet is currently available in the recei...">IncomingDataQueue::getData</a> method.</p>
<dl class="section author"><dt>Author</dt><dd>David Sugar <a href="#" onclick="location.href='mai'+'lto:'+'dyf'+'et'+'@os'+'te'+'l.c'+'om'; return false;">dyfet<span style="display: none;">.nosp@m.</span>@ost<span style="display: none;">.nosp@m.</span>el.co<span style="display: none;">.nosp@m.</span>m</a> RTP data queue handler. </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a02a7fec519ec7c15650224e108959a62"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">RTPDataQueue::RTPDataQueue </td>
          <td>(</td>
          <td class="paramtype">uint32&#160;</td>
          <td class="paramname"><em>size</em> = <code><a class="el" href="class_membership_bookkeeping.html#a53ba5e9495dfdb9ec16c551206796d99">defaultMembersHashSize</a></code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor. </p>
<p>This will generate a random application SSRC identifier.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">size</td><td>an estimation of the number of participants in the session </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a767fd472543461067810641e8ce11bf3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">RTPDataQueue::RTPDataQueue </td>
          <td>(</td>
          <td class="paramtype">uint32 *&#160;</td>
          <td class="paramname"><em>ssrc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32&#160;</td>
          <td class="paramname"><em>size</em> = <code><a class="el" href="class_membership_bookkeeping.html#a53ba5e9495dfdb9ec16c551206796d99">defaultMembersHashSize</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Using this constructor you can start a session with the given ssrc, instead of the usual randomly generated one. </p>
<p>This is necessary when you need to initiate several sessions having the same SSRC identifier, for instance, to implement layered encoding, in which case each layer is managed through a different session but all sessions share the same SSRC identifier.</p>
<dl class="section warning"><dt>Warning</dt><dd>This doesn't seem to be a good solution</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ssrc</td><td>Synchronization SouRCe identifier for this session </td></tr>
    <tr><td class="paramname">size</td><td>an estimation of the number of participants in the session </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a15ff7c0ccea0eb5749b60c4ef7d08f0d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual RTPDataQueue::~RTPDataQueue </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The queue destructor flushes the queue and stops all services. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aa68b9d380c05c3c2c18ad6920aab9179"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void RTPDataQueue::disableStack </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Disable packet queue processing in the stack. </p>

</div>
</div>
<a class="anchor" id="afee8bf2e2943d8785352eef2b804a91d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void RTPDataQueue::enableStack </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Enable packet queue processing in the stack. </p>
<p>This method will not any thread of execution. </p>

</div>
</div>
<a class="anchor" id="a73039fed28d74fc6fdae60ecf94a0fe9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void RTPDataQueue::endQueue </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This method ends the queue. </p>

</div>
</div>
<a class="anchor" id="abf7ff6490ae207bd2588bc0c69f8034a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32 RTPDataQueue::getCurrentTimestamp </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the timestamp that should be given for a packet whose payload sampling instant corresponds to the current system time. </p>
<p>The timestamp applications should provide for each packet represents the sampling instant of its payload and should not be a reading of the system clock. Nevertheless, the internal operation of the RTP stack relies on the accuracy of the provided timestamp, since several computations assume that there is a certain degree of correspondence between the timestamp and the system clock.</p>
<p>It is recommended that applications use this method in order to <em>periodically adjust the RTP timestamp</em>.</p>
<p>In particular, it is advisable getting the timestamp corresponding to the first sampling instant or any instant after a period of inactivity through a call to this method.</p>
<p>Applications should use the nominal sampling or any other value provided by the coder in order to compute the next timestamps with minimum computational requirement.</p>
<p>For instance, an application using an RTP profile that specifies a fixed sampling rate of 8 Khz with eight bits per sample, continuously transmitting audio blocks 80 octets long, would transmit 100 packets every second. Every packet would carry a timestamp 80 units greater than the previous one. So, the first timestamp would be obtained from this method, whereas the following ones would be computed adding 80 every time. Also the timestamp should be increased for every block whether it is put in the queue or dropped.</p>
<p>The aforementioned increment can be obtained from the RTPDataQueue::getTimestampIncrement() method rather than computing it by hand in the application.</p>
<dl class="section note"><dt>Note</dt><dd>Frame based applications must follow a specific timestamping method, probably specified in a profile.</dd>
<dd>
You should take into account that by default ccRTP assumes that the application begins sampling at the queue creation time. Moreover, the first sampling instant is assigned a "user visible" timestamp of 0, although the RTP stack will then add internally a ramdom offset unknown to the application. That is to say, the application may count samples from 0 in order to get the timestamp for the next packet, provided that the first sampling instant is the same as the queue creation time. Nevertheless, this simpler way of starting will not be as accurate as it would be if the application got at least the first timestamp through getCurrentTimestamp. <em>We provide this option since ccRTP interface is evolving, but we admit that it is ugly, we could remove this option or even replace uint32 timestamps with a restrictively regulated object; suggestions are gladly welcomed</em> </dd></dl>

</div>
</div>
<a class="anchor" id="aed0854a61cdd61dc2c6915d81da44d88"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32 RTPDataQueue::getDefaultSessionBandwidth </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a90a9016c723622f778aa9b078f400ab2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">uint32 RTPDataQueue::getSessionBandwidth </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a1007b5aceb1feb516cdd5bdd34318b6b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">timeout_t RTPDataQueue::getTimeclock </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the packet timeclock for synchronizing timestamps. </p>
<dl class="section return"><dt>Returns</dt><dd>runtime in milliseconds since last set. </dd></dl>

</div>
</div>
<a class="anchor" id="a3d2531b75d7c79d815cff5c487d4ecc8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool RTPDataQueue::isActive </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get active connection state flag. </p>
<dl class="section return"><dt>Returns</dt><dd>true if connection "active". </dd></dl>

</div>
</div>
<a class="anchor" id="a55e55a5fe67dfd3bec5ed7ea553b9c8d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool RTPDataQueue::isPendingData </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="base_8h.html#ac16d853255145e6a903914eb376a84bb">microtimeout_t</a>&#160;</td>
          <td class="paramname"><em>timeout</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This function is used to check for and schedule against arriving packets based on the derived connection type. </p>
<dl class="section return"><dt>Returns</dt><dd>true if packet waiting for processing. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">number</td><td>of microseconds to wait. </td></tr>
  </table>
  </dd>
</dl>

<p>Implemented in <a class="el" href="class_r_t_p_duplex.html#a48eea122a1f60c696a5b181ee56ceeef">RTPDuplex</a>.</p>

</div>
</div>
<a class="anchor" id="a3cda7f313b23c9e00df8e54ed091e6a7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void RTPDataQueue::renewLocalSSRC </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reimplemented from <a class="el" href="class_r_t_p_queue_base.html#ad05d8b02c9a90d36401262bf309e7f8e">RTPQueueBase</a>.</p>

</div>
</div>
<a class="anchor" id="afa51bc8859fd4c7e5460caa31d8c518b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void RTPDataQueue::setSessionBandwidth </td>
          <td>(</td>
          <td class="paramtype">uint32&#160;</td>
          <td class="paramname"><em>bw</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Specify the bandwidth of the current session. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bw</td><td>bandwidth of the current session, in bits/s.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="class_a_v_p_queue.html#a3fd139decfd1175b7ad6a8abeed65bf5" title="Specify the bandwith available for control (RTCP) packets. ">AVPQueue::setControlBandwidth()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a3c16280cc4b45de49acd61d0dc1f53b8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void RTPDataQueue::setTimeclock </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the packet timeclock for synchronizing timestamps. </p>

</div>
</div>
<a class="anchor" id="a0edd2b1a8a22780b60da8eb05921ad16"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void RTPDataQueue::setTypeOfService </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__ioqueue.html#gafa5169fe853e891b04897fab6f8efca1">Tos</a>&#160;</td>
          <td class="paramname"><em>tos</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Specify the kind of service the application expects to use. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tos</td><td>type of service the application expects to use</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>If enhanced service is specified but packet loss is high (the requested service does not appear to actually be delivered) ccRTP defaults to best-effort suitable behaviour: guarantee fair competition with TCP.</dd></dl>

</div>
</div>
<a class="anchor" id="ae9f0d6236da0cee4c6b5189c0daa633d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void RTPDataQueue::timerTick </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A plugin point for timer tick driven events. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="ioqueue_8h_source.html">ioqueue.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun Feb 8 2015 08:32:24 for ccRTP by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.8
</small></address>
</body>
</html>