Sophie

Sophie

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

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

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>jrtplib: src/rtpsession.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="jrtplib.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.9 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>File&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="dir_e5298977290e638844c8018a73ab0caf.html">src</a>
  </div>
</div>
<div class="contents">
<h1>rtpsession.h</h1><a href="rtpsession_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"></span>
<a name="l00003"></a>00003 <span class="comment">  This file is a part of JRTPLIB</span>
<a name="l00004"></a>00004 <span class="comment">  Copyright (c) 1999-2007 Jori Liesenborgs</span>
<a name="l00005"></a>00005 <span class="comment"></span>
<a name="l00006"></a>00006 <span class="comment">  Contact: jori.liesenborgs@gmail.com</span>
<a name="l00007"></a>00007 <span class="comment"></span>
<a name="l00008"></a>00008 <span class="comment">  This library was developed at the "Expertisecentrum Digitale Media"</span>
<a name="l00009"></a>00009 <span class="comment">  (http://www.edm.uhasselt.be), a research center of the Hasselt University</span>
<a name="l00010"></a>00010 <span class="comment">  (http://www.uhasselt.be). The library is based upon work done for </span>
<a name="l00011"></a>00011 <span class="comment">  my thesis at the School for Knowledge Technology (Belgium/The Netherlands).</span>
<a name="l00012"></a>00012 <span class="comment"></span>
<a name="l00013"></a>00013 <span class="comment">  Permission is hereby granted, free of charge, to any person obtaining a</span>
<a name="l00014"></a>00014 <span class="comment">  copy of this software and associated documentation files (the "Software"),</span>
<a name="l00015"></a>00015 <span class="comment">  to deal in the Software without restriction, including without limitation</span>
<a name="l00016"></a>00016 <span class="comment">  the rights to use, copy, modify, merge, publish, distribute, sublicense,</span>
<a name="l00017"></a>00017 <span class="comment">  and/or sell copies of the Software, and to permit persons to whom the</span>
<a name="l00018"></a>00018 <span class="comment">  Software is furnished to do so, subject to the following conditions:</span>
<a name="l00019"></a>00019 <span class="comment"></span>
<a name="l00020"></a>00020 <span class="comment">  The above copyright notice and this permission notice shall be included</span>
<a name="l00021"></a>00021 <span class="comment">  in all copies or substantial portions of the Software.</span>
<a name="l00022"></a>00022 <span class="comment"></span>
<a name="l00023"></a>00023 <span class="comment">  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS</span>
<a name="l00024"></a>00024 <span class="comment">  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span>
<a name="l00025"></a>00025 <span class="comment">  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL</span>
<a name="l00026"></a>00026 <span class="comment">  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span>
<a name="l00027"></a>00027 <span class="comment">  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING</span>
<a name="l00028"></a>00028 <span class="comment">  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS</span>
<a name="l00029"></a>00029 <span class="comment">  IN THE SOFTWARE.</span>
<a name="l00030"></a>00030 <span class="comment"></span>
<a name="l00031"></a>00031 <span class="comment">*/</span>
<a name="l00032"></a>00032 
<a name="l00037"></a>00037 <span class="preprocessor">#ifndef RTPSESSION_H</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span>
<a name="l00039"></a>00039 <span class="preprocessor">#define RTPSESSION_H</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a>00041 <span class="preprocessor">#include "rtpconfig.h"</span>
<a name="l00042"></a>00042 <span class="preprocessor">#include "<a class="code" href="rtplibraryversion_8h.html">rtplibraryversion.h</a>"</span>
<a name="l00043"></a>00043 <span class="preprocessor">#include "<a class="code" href="rtppacketbuilder_8h.html">rtppacketbuilder.h</a>"</span>
<a name="l00044"></a>00044 <span class="preprocessor">#include "<a class="code" href="rtpsessionsources_8h.html">rtpsessionsources.h</a>"</span>
<a name="l00045"></a>00045 <span class="preprocessor">#include "<a class="code" href="rtptransmitter_8h.html">rtptransmitter.h</a>"</span>
<a name="l00046"></a>00046 <span class="preprocessor">#include "<a class="code" href="rtpcollisionlist_8h.html">rtpcollisionlist.h</a>"</span>
<a name="l00047"></a>00047 <span class="preprocessor">#include "<a class="code" href="rtcpscheduler_8h.html">rtcpscheduler.h</a>"</span>
<a name="l00048"></a>00048 <span class="preprocessor">#include "<a class="code" href="rtcppacketbuilder_8h.html">rtcppacketbuilder.h</a>"</span>
<a name="l00049"></a>00049 <span class="preprocessor">#include "<a class="code" href="rtptimeutilities_8h.html">rtptimeutilities.h</a>"</span>
<a name="l00050"></a>00050 <span class="preprocessor">#include "<a class="code" href="rtcpcompoundpacketbuilder_8h.html">rtcpcompoundpacketbuilder.h</a>"</span>
<a name="l00051"></a>00051 <span class="preprocessor">#include "<a class="code" href="rtpmemoryobject_8h.html">rtpmemoryobject.h</a>"</span>
<a name="l00052"></a>00052 <span class="preprocessor">#include &lt;list&gt;</span>
<a name="l00053"></a>00053 
<a name="l00054"></a>00054 <span class="preprocessor">#ifdef RTP_SUPPORT_THREAD</span>
<a name="l00055"></a>00055 <span class="preprocessor"></span><span class="preprocessor">        #include &lt;jmutex.h&gt;</span>     
<a name="l00056"></a>00056 <span class="preprocessor">#endif // RTP_SUPPORT_THREAD</span>
<a name="l00057"></a>00057 <span class="preprocessor"></span>
<a name="l00058"></a>00058 <span class="keyword">class </span><a class="code" href="classRTPTransmitter.html" title="Abstract class from which actual transmission components should be derived.">RTPTransmitter</a>;
<a name="l00059"></a>00059 <span class="keyword">class </span><a class="code" href="classRTPSessionParams.html" title="Describes the parameters for to be used by an RTPSession instance.">RTPSessionParams</a>;
<a name="l00060"></a>00060 <span class="keyword">class </span><a class="code" href="classRTPTransmissionParams.html" title="Base class for transmission parameters.">RTPTransmissionParams</a>;
<a name="l00061"></a>00061 <span class="keyword">class </span><a class="code" href="classRTPAddress.html" title="This class is an abstract class which is used to specify destinations, multicast...">RTPAddress</a>;
<a name="l00062"></a>00062 <span class="keyword">class </span><a class="code" href="classRTPSourceData.html" title="Describes an entry in the RTPSources source table.">RTPSourceData</a>;
<a name="l00063"></a>00063 <span class="keyword">class </span><a class="code" href="classRTPPacket.html" title="Represents an RTP Packet.">RTPPacket</a>;
<a name="l00064"></a>00064 <span class="keyword">class </span>RTPPollThread;
<a name="l00065"></a>00065 <span class="keyword">class </span><a class="code" href="classRTPTransmissionInfo.html" title="Base class for additional information about the transmitter.">RTPTransmissionInfo</a>;
<a name="l00066"></a>00066 <span class="keyword">class </span><a class="code" href="classRTCPCompoundPacket.html" title="Represents an RTCP compound packet.">RTCPCompoundPacket</a>;
<a name="l00067"></a>00067 <span class="keyword">class </span><a class="code" href="classRTCPPacket.html" title="Base class for specific types of RTCP packets.">RTCPPacket</a>;
<a name="l00068"></a>00068 <span class="keyword">class </span><a class="code" href="classRTCPAPPPacket.html" title="Describes an RTCP APP packet.">RTCPAPPPacket</a>;
<a name="l00069"></a>00069 
<a name="l00076"></a><a class="code" href="classRTPSession.html">00076</a> <span class="keyword">class </span><a class="code" href="classRTPSession.html" title="High level class for using RTP.">RTPSession</a> : <span class="keyword">public</span> RTPMemoryObject
<a name="l00077"></a>00077 {
<a name="l00078"></a>00078 <span class="keyword">public</span>:
<a name="l00080"></a>00080         <a class="code" href="classRTPSession.html#d71d9a59e30404ac6a989ffb2fb1ca6a" title="Constructs an RTPSession instance, optionally installing a memory manager.">RTPSession</a>(<a class="code" href="classRTPMemoryManager.html" title="A memory manager.">RTPMemoryManager</a> *mgr = 0);
<a name="l00081"></a>00081         <span class="keyword">virtual</span> ~<a class="code" href="classRTPSession.html" title="High level class for using RTP.">RTPSession</a>();
<a name="l00082"></a>00082         
<a name="l00089"></a>00089         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#34bc0beffb09c81b94f39758dfd13826" title="Creates an RTP session.">Create</a>(<span class="keyword">const</span> <a class="code" href="classRTPSessionParams.html" title="Describes the parameters for to be used by an RTPSession instance.">RTPSessionParams</a> &amp;sessparams,<span class="keyword">const</span> <a class="code" href="classRTPTransmissionParams.html" title="Base class for transmission parameters.">RTPTransmissionParams</a> *transparams = 0, <a class="code" href="classRTPTransmitter.html#00529bcf331e3d3dc57c4ebb476f1fd2" title="Used to identify a specific transmitter.">RTPTransmitter::TransmissionProtocol</a> proto = <a class="code" href="classRTPTransmitter.html#00529bcf331e3d3dc57c4ebb476f1fd2430dce496268bd29e79f32fd91d576ff" title="Specifies the internal UDP over IPv4 transmitter.">RTPTransmitter::IPv4UDPProto</a>);
<a name="l00090"></a>00090 
<a name="l00098"></a>00098         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#34bc0beffb09c81b94f39758dfd13826" title="Creates an RTP session.">Create</a>(<span class="keyword">const</span> <a class="code" href="classRTPSessionParams.html" title="Describes the parameters for to be used by an RTPSession instance.">RTPSessionParams</a> &amp;sessparams,<a class="code" href="classRTPTransmitter.html" title="Abstract class from which actual transmission components should be derived.">RTPTransmitter</a> *transmitter);
<a name="l00099"></a>00099 
<a name="l00101"></a>00101         <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#80f35b1857bcd684c14f5a0ea76cb997" title="Leaves the session without sending a BYE packet.">Destroy</a>();
<a name="l00102"></a>00102 
<a name="l00108"></a>00108         <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#d682c2b85413413b20341a7e3ef0b668" title="Sends a BYE packet and leaves the session.">BYEDestroy</a>(<span class="keyword">const</span> <a class="code" href="classRTPTime.html" title="This class is used to specify wallclock time, delay intervals etc.">RTPTime</a> &amp;maxwaittime,<span class="keyword">const</span> <span class="keywordtype">void</span> *reason,<span class="keywordtype">size_t</span> reasonlength);
<a name="l00109"></a>00109 
<a name="l00111"></a>00111         <span class="keywordtype">bool</span> <a class="code" href="classRTPSession.html#69bbd39f600f84a89b1c5b7a3dc483c3" title="Returns whether the session has been created or not.">IsActive</a>();
<a name="l00112"></a>00112         
<a name="l00114"></a>00114         uint32_t <a class="code" href="classRTPSession.html#0ae38da1e1d17d1b8b70af9312b0fde3" title="Returns our own SSRC.">GetLocalSSRC</a>();
<a name="l00115"></a>00115         
<a name="l00117"></a>00117         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#11ebaa614e8b8500d8de4fe64885d36d" title="Adds addr to the list of destinations.">AddDestination</a>(<span class="keyword">const</span> <a class="code" href="classRTPAddress.html" title="This class is an abstract class which is used to specify destinations, multicast...">RTPAddress</a> &amp;addr);
<a name="l00118"></a>00118 
<a name="l00120"></a>00120         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#e2c8e90defbc25f32361e0b617222f56" title="Deletes addr from the list of destinations.">DeleteDestination</a>(<span class="keyword">const</span> <a class="code" href="classRTPAddress.html" title="This class is an abstract class which is used to specify destinations, multicast...">RTPAddress</a> &amp;addr);
<a name="l00121"></a>00121 
<a name="l00123"></a>00123         <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#bdbd1df8f9b2ea4f9fc8c12cfb0d8ec7" title="Clears the list of destinations.">ClearDestinations</a>();
<a name="l00124"></a>00124 
<a name="l00126"></a>00126         <span class="keywordtype">bool</span> <a class="code" href="classRTPSession.html#398fd69051d8b7fd00b9bd8a60a359da" title="Returns true if multicasting is supported.">SupportsMulticasting</a>();
<a name="l00127"></a>00127 
<a name="l00129"></a>00129         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#2c8ddd6259652c3b8a4a4b276c6f790b" title="Joins the multicast group specified by addr.">JoinMulticastGroup</a>(<span class="keyword">const</span> <a class="code" href="classRTPAddress.html" title="This class is an abstract class which is used to specify destinations, multicast...">RTPAddress</a> &amp;addr);
<a name="l00130"></a>00130 
<a name="l00132"></a>00132         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#e09486f4e4836cbf542d28a413bcf056" title="Leaves the multicast group specified by addr.">LeaveMulticastGroup</a>(<span class="keyword">const</span> <a class="code" href="classRTPAddress.html" title="This class is an abstract class which is used to specify destinations, multicast...">RTPAddress</a> &amp;addr);
<a name="l00133"></a>00133 
<a name="l00135"></a>00135         <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#5955cf1030956ce37a76c8f42aa260eb" title="Leaves all multicast groups.">LeaveAllMulticastGroups</a>();
<a name="l00136"></a>00136 
<a name="l00142"></a>00142         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#a9095e0c8bd08a5a46c42feac4ea079f" title="Sends the RTP packet with payload data which has length len.">SendPacket</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data,<span class="keywordtype">size_t</span> len);
<a name="l00143"></a>00143 
<a name="l00148"></a>00148         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#a9095e0c8bd08a5a46c42feac4ea079f" title="Sends the RTP packet with payload data which has length len.">SendPacket</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data,<span class="keywordtype">size_t</span> len,
<a name="l00149"></a>00149                         uint8_t pt,<span class="keywordtype">bool</span> mark,uint32_t timestampinc);
<a name="l00150"></a>00150 
<a name="l00157"></a>00157         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#10c127b94e2340905d9c0b1aba7afd88" title="Sends the RTP packet with payload data which has length len.">SendPacketEx</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data,<span class="keywordtype">size_t</span> len,
<a name="l00158"></a>00158                           uint16_t hdrextID,<span class="keyword">const</span> <span class="keywordtype">void</span> *hdrextdata,<span class="keywordtype">size_t</span> numhdrextwords);
<a name="l00159"></a>00159 
<a name="l00166"></a>00166         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#10c127b94e2340905d9c0b1aba7afd88" title="Sends the RTP packet with payload data which has length len.">SendPacketEx</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *data,<span class="keywordtype">size_t</span> len,
<a name="l00167"></a>00167                           uint8_t pt,<span class="keywordtype">bool</span> mark,uint32_t timestampinc,
<a name="l00168"></a>00168                           uint16_t hdrextID,<span class="keyword">const</span> <span class="keywordtype">void</span> *hdrextdata,<span class="keywordtype">size_t</span> numhdrextwords);
<a name="l00169"></a>00169 <span class="preprocessor">#ifdef RTP_SUPPORT_SENDAPP</span>
<a name="l00170"></a>00170 <span class="preprocessor"></span>
<a name="l00177"></a>00177         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#658e12aba572466b4a9a4bb30672506c" title="If sending of RTCP APP packets was enabled at compile time, this function creates...">SendRTCPAPPPacket</a>(uint8_t subtype, <span class="keyword">const</span> uint8_t name[4], <span class="keyword">const</span> <span class="keywordtype">void</span> *appdata, <span class="keywordtype">size_t</span> appdatalen);
<a name="l00178"></a>00178 <span class="preprocessor">#endif // RTP_SUPPORT_SENDAPP</span>
<a name="l00179"></a>00179 <span class="preprocessor"></span>
<a name="l00181"></a>00181         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#79ff535fbd4031d81ec28ad05b1b5439" title="Sets the default payload type for RTP packets to pt.">SetDefaultPayloadType</a>(uint8_t pt);
<a name="l00182"></a>00182 
<a name="l00184"></a>00184         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#37172f082df1a452c2e9d3b86d5dc773" title="Sets the default marker for RTP packets to m.">SetDefaultMark</a>(<span class="keywordtype">bool</span> m);
<a name="l00185"></a>00185 
<a name="l00187"></a>00187         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#97f5a1eef424452e4975aec7bd9f112d" title="Sets the default value to increment the timestamp with to timestampinc.">SetDefaultTimestampIncrement</a>(uint32_t timestampinc);
<a name="l00188"></a>00188 
<a name="l00195"></a>00195         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#87edd732574fcb4adc242fa962024c3b" title="This function increments the timestamp with the amount given by inc.">IncrementTimestamp</a>(uint32_t inc);
<a name="l00196"></a>00196 
<a name="l00204"></a>00204         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#e6c833a8b7f9a5802ebff5d0273fee7c" title="This function increments the timestamp with the amount given set by the SetDefaultTimestampIncrement...">IncrementTimestampDefault</a>();
<a name="l00205"></a>00205 
<a name="l00212"></a>00212         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#783020a198c4a69d602d28aacb932527" title="This function allows you to inform the library about the delay between sampling the...">SetPreTransmissionDelay</a>(<span class="keyword">const</span> <a class="code" href="classRTPTime.html" title="This class is used to specify wallclock time, delay intervals etc.">RTPTime</a> &amp;delay);
<a name="l00213"></a>00213         
<a name="l00221"></a>00221         <a class="code" href="classRTPTransmissionInfo.html" title="Base class for additional information about the transmitter.">RTPTransmissionInfo</a> *<a class="code" href="classRTPSession.html#42e30d1254a69b9f561d886750a890a1" title="This function returns an instance of a subclass of RTPTransmissionInfo which will...">GetTransmissionInfo</a>();
<a name="l00222"></a>00222 
<a name="l00224"></a>00224         <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#3c3fb0ac122ace411d6c22704ca6365d" title="Frees the memory used by the transmission information inf.">DeleteTransmissionInfo</a>(<a class="code" href="classRTPTransmissionInfo.html" title="Base class for additional information about the transmitter.">RTPTransmissionInfo</a> *inf);
<a name="l00225"></a>00225 
<a name="l00229"></a>00229         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#2a7bfeadf6a5ad9e675184ec8d66daf1" title="If you&amp;#39;re not using the poll thread, this function must be called regularly to...">Poll</a>();
<a name="l00230"></a>00230 
<a name="l00236"></a>00236         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#c61c637ab1e7eed342bdc099ecbe6fb0" title="Waits at most a time delay until incoming data has been detected.">WaitForIncomingData</a>(<span class="keyword">const</span> <a class="code" href="classRTPTime.html" title="This class is used to specify wallclock time, delay intervals etc.">RTPTime</a> &amp;delay,<span class="keywordtype">bool</span> *dataavailable = 0);
<a name="l00237"></a>00237 
<a name="l00241"></a>00241         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#0fb1d5808b256faadcd5b5234a38772f" title="If the previous function has been called, this one aborts the waiting (only works...">AbortWait</a>();
<a name="l00242"></a>00242 
<a name="l00246"></a>00246         <a class="code" href="classRTPTime.html" title="This class is used to specify wallclock time, delay intervals etc.">RTPTime</a> <a class="code" href="classRTPSession.html#6f9ec28f7df3a43575aa91e882d5fdab" title="Returns the time interval after which an RTCP compound packet may have to be sent...">GetRTCPDelay</a>();
<a name="l00247"></a>00247 
<a name="l00254"></a>00254         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#262d1afa20aaa5dde8a798dbc4056ae4" title="The following member functions (till EndDataAccess}) need to be accessed between...">BeginDataAccess</a>();
<a name="l00255"></a>00255 
<a name="l00260"></a>00260         <span class="keywordtype">bool</span> <a class="code" href="classRTPSession.html#adce56dd9a5e345a0cce2674135c135d" title="Starts the iteration over the participants by going to the first member in the table...">GotoFirstSource</a>();
<a name="l00261"></a>00261 
<a name="l00266"></a>00266         <span class="keywordtype">bool</span> <a class="code" href="classRTPSession.html#0652c466c930403ee51dc842396ce9a6" title="Sets the current source to be the next source in the table.">GotoNextSource</a>();
<a name="l00267"></a>00267 
<a name="l00272"></a>00272         <span class="keywordtype">bool</span> <a class="code" href="classRTPSession.html#88750a16d52ba5899c86ccce32ca32a0" title="Sets the current source to be the previous source in the table.">GotoPreviousSource</a>();
<a name="l00273"></a>00273 
<a name="l00280"></a>00280         <span class="keywordtype">bool</span> <a class="code" href="classRTPSession.html#c8b85f5c2f1f080a5adac1d4a9c69fc4" title="Sets the current source to be the first source in the table which has RTPPacket instances...">GotoFirstSourceWithData</a>();
<a name="l00281"></a>00281 
<a name="l00288"></a>00288         <span class="keywordtype">bool</span> <a class="code" href="classRTPSession.html#dbfc946dbe9a9dae73685abc4347741e" title="Sets the current source to be the next source in the table which has RTPPacket instances...">GotoNextSourceWithData</a>();
<a name="l00289"></a>00289 
<a name="l00296"></a>00296         <span class="keywordtype">bool</span> <a class="code" href="classRTPSession.html#7b06f56a8bc8b12e49847228303184ce" title="Sets the current source to be the previous source in the table which has RTPPacket...">GotoPreviousSourceWithData</a>();
<a name="l00297"></a>00297 
<a name="l00299"></a>00299         <a class="code" href="classRTPSourceData.html" title="Describes an entry in the RTPSources source table.">RTPSourceData</a> *<a class="code" href="classRTPSession.html#ff7844d88538b8380ba2a358f212e72e" title="Returns the RTPSourceData instance for the currently selected participant.">GetCurrentSourceInfo</a>();
<a name="l00300"></a>00300 
<a name="l00304"></a>00304         <a class="code" href="classRTPSourceData.html" title="Describes an entry in the RTPSources source table.">RTPSourceData</a> *<a class="code" href="classRTPSession.html#d3aa10bd2d40843c3a25c1fd4e8dbd0f" title="Returns the RTPSourceData instance for the participant identified by ssrc, or NULL...">GetSourceInfo</a>(uint32_t ssrc);
<a name="l00305"></a>00305 
<a name="l00312"></a>00312         <a class="code" href="classRTPPacket.html" title="Represents an RTP Packet.">RTPPacket</a> *<a class="code" href="classRTPSession.html#267350e7f289192fa13683b2bf5ee3b5" title="Extracts the next packet from the received packets queue of the current participant...">GetNextPacket</a>();
<a name="l00313"></a>00313 
<a name="l00315"></a>00315         <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#58850b96177ed858747070f9e03c4cd6" title="Frees the memory used by p.">DeletePacket</a>(<a class="code" href="classRTPPacket.html" title="Represents an RTP Packet.">RTPPacket</a> *p);
<a name="l00316"></a>00316 
<a name="l00318"></a>00318         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#e2b77e9c6ff090eeb8b7d2d9074df87e" title="See BeginDataAccess.">EndDataAccess</a>();
<a name="l00319"></a>00319         
<a name="l00324"></a>00324         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#ee898b16c7303606c8e346c28a909052" title="Sets the receive mode to m.">SetReceiveMode</a>(<a class="code" href="classRTPTransmitter.html#bae77e9adf52db77f5ea29757dfa6386" title="Three kind of receive modes can be specified.">RTPTransmitter::ReceiveMode</a> m);
<a name="l00325"></a>00325 
<a name="l00327"></a>00327         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#0835dadbdca449c18d5addc991bcaef6" title="Adds addr to the list of addresses to ignore.">AddToIgnoreList</a>(<span class="keyword">const</span> <a class="code" href="classRTPAddress.html" title="This class is an abstract class which is used to specify destinations, multicast...">RTPAddress</a> &amp;addr);
<a name="l00328"></a>00328 
<a name="l00330"></a>00330         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#e648254068290515b56442ae02226601" title="Deletes addr from the list of addresses to ignore.">DeleteFromIgnoreList</a>(<span class="keyword">const</span> <a class="code" href="classRTPAddress.html" title="This class is an abstract class which is used to specify destinations, multicast...">RTPAddress</a> &amp;addr);
<a name="l00331"></a>00331 
<a name="l00333"></a>00333         <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#51ccc9093b5243c608216fc7ac3b0821" title="Clears the list of addresses to ignore.">ClearIgnoreList</a>();
<a name="l00334"></a>00334 
<a name="l00336"></a>00336         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#b2ddc5addac2b811d71d2c0f5a1056d3" title="Adds addr to the list of addresses to accept.">AddToAcceptList</a>(<span class="keyword">const</span> <a class="code" href="classRTPAddress.html" title="This class is an abstract class which is used to specify destinations, multicast...">RTPAddress</a> &amp;addr);
<a name="l00337"></a>00337 
<a name="l00339"></a>00339         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#6b377efd7538a7c127936ee5b75b952a" title="Deletes addr from the list of addresses to accept.">DeleteFromAcceptList</a>(<span class="keyword">const</span> <a class="code" href="classRTPAddress.html" title="This class is an abstract class which is used to specify destinations, multicast...">RTPAddress</a> &amp;addr);
<a name="l00340"></a>00340 
<a name="l00342"></a>00342         <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#9aca6068653abacb9eeea806653dd321" title="Clears the list of addresses to accept.">ClearAcceptList</a>();
<a name="l00343"></a>00343         
<a name="l00345"></a>00345         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#ba7ac22f4076ee92a32282795ac238e1" title="Sets the maximum allowed packet size to s.">SetMaximumPacketSize</a>(<span class="keywordtype">size_t</span> s);
<a name="l00346"></a>00346 
<a name="l00348"></a>00348         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#799d140c38a8781c3f5c476b1bfe04db" title="Sets the session bandwidth to bw, which is specified in bytes per second.">SetSessionBandwidth</a>(<span class="keywordtype">double</span> bw);
<a name="l00349"></a>00349 
<a name="l00356"></a>00356         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#3e983f539df6be96567629aa4885ba4d" title="Sets the timestamp unit for our own data.">SetTimestampUnit</a>(<span class="keywordtype">double</span> u);
<a name="l00357"></a>00357         
<a name="l00364"></a>00364         <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#2216dc90089596a1d13bd767d1d1ddbc" title="Sets the RTCP interval for the SDES name item.">SetNameInterval</a>(<span class="keywordtype">int</span> count);
<a name="l00365"></a>00365 
<a name="l00372"></a>00372         <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#0885530d0a460fede91734fb06342138" title="Sets the RTCP interval for the SDES e-mail item.">SetEMailInterval</a>(<span class="keywordtype">int</span> count);
<a name="l00373"></a>00373         
<a name="l00380"></a>00380         <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#51aebf313f651d599d8d5ea73847ba9e" title="Sets the RTCP interval for the SDES location item.">SetLocationInterval</a>(<span class="keywordtype">int</span> count);
<a name="l00381"></a>00381 
<a name="l00388"></a>00388         <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#1e4c62b191a1133f647f57f76e28460d" title="Sets the RTCP interval for the SDES phone item.">SetPhoneInterval</a>(<span class="keywordtype">int</span> count);
<a name="l00389"></a>00389 
<a name="l00396"></a>00396         <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#88b41600f380cee7adbc90cede9e5943" title="Sets the RTCP interval for the SDES tool item.">SetToolInterval</a>(<span class="keywordtype">int</span> count);
<a name="l00397"></a>00397 
<a name="l00404"></a>00404         <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#42e75670f52fb27a192d79069c9ef682" title="Sets the RTCP interval for the SDES note item.">SetNoteInterval</a>(<span class="keywordtype">int</span> count);
<a name="l00405"></a>00405         
<a name="l00407"></a>00407         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#eed2c3e597d532595c221d08dacb0a98" title="Sets the SDES name item for the local participant to the value s with length len...">SetLocalName</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *s,<span class="keywordtype">size_t</span> len);
<a name="l00408"></a>00408         
<a name="l00410"></a>00410         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#d2bb2379b7c41670440b22ec97963655" title="Sets the SDES e-mail item for the local participant to the value s with length len...">SetLocalEMail</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *s,<span class="keywordtype">size_t</span> len);
<a name="l00411"></a>00411 
<a name="l00413"></a>00413         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#e5602f12b3fc3d0a617532430e756db3" title="Sets the SDES location item for the local participant to the value s with length...">SetLocalLocation</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *s,<span class="keywordtype">size_t</span> len);
<a name="l00414"></a>00414 
<a name="l00416"></a>00416         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#b72ae21a33af46909a4ac5bf463d84ba" title="Sets the SDES phone item for the local participant to the value s with length len...">SetLocalPhone</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *s,<span class="keywordtype">size_t</span> len);
<a name="l00417"></a>00417 
<a name="l00419"></a>00419         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#2e15cfff1edce81f9735c31f0840fabf" title="Sets the SDES tool item for the local participant to the value s with length len...">SetLocalTool</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *s,<span class="keywordtype">size_t</span> len);
<a name="l00420"></a>00420 
<a name="l00422"></a>00422         <span class="keywordtype">int</span> <a class="code" href="classRTPSession.html#2d4054267223d717c00892ade4b11eae" title="Sets the SDES note item for the local participant to the value s with length len...">SetLocalNote</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *s,<span class="keywordtype">size_t</span> len);
<a name="l00423"></a>00423 
<a name="l00424"></a>00424 <span class="preprocessor">#ifdef RTPDEBUG</span>
<a name="l00425"></a>00425 <span class="preprocessor"></span>        <span class="keywordtype">void</span> DumpSources();
<a name="l00426"></a>00426         <span class="keywordtype">void</span> DumpTransmitter();
<a name="l00427"></a>00427 <span class="preprocessor">#endif // RTPDEBUG</span>
<a name="l00428"></a>00428 <span class="preprocessor"></span><span class="keyword">protected</span>:
<a name="l00436"></a><a class="code" href="classRTPSession.html#8dc57ed2e43b46a934bd597dd9a8c8d8">00436</a>         <span class="keyword">virtual</span> <a class="code" href="classRTPTransmitter.html" title="Abstract class from which actual transmission components should be derived.">RTPTransmitter</a> *<a class="code" href="classRTPSession.html#8dc57ed2e43b46a934bd597dd9a8c8d8" title="Allocate a user defined transmitter.">NewUserDefinedTransmitter</a>()                                             { <span class="keywordflow">return</span> 0; }
<a name="l00437"></a>00437         
<a name="l00439"></a><a class="code" href="classRTPSession.html#c4fd874a60aba53aab1fbadf7e05771b">00439</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#c4fd874a60aba53aab1fbadf7e05771b" title="Is called when an incoming RTCP packet is about to be processed.">OnRTPPacket</a>(<a class="code" href="classRTPPacket.html" title="Represents an RTP Packet.">RTPPacket</a> *pack,<span class="keyword">const</span> <a class="code" href="classRTPTime.html" title="This class is used to specify wallclock time, delay intervals etc.">RTPTime</a> &amp;receivetime,
<a name="l00440"></a>00440                                  <span class="keyword">const</span> <a class="code" href="classRTPAddress.html" title="This class is an abstract class which is used to specify destinations, multicast...">RTPAddress</a> *senderaddress)                                       { }
<a name="l00441"></a>00441 
<a name="l00443"></a><a class="code" href="classRTPSession.html#80deaed5cc4798f056709d219f64219c">00443</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#80deaed5cc4798f056709d219f64219c" title="Is called when an incoming RTCP packet is about to be processed.">OnRTCPCompoundPacket</a>(<a class="code" href="classRTCPCompoundPacket.html" title="Represents an RTCP compound packet.">RTCPCompoundPacket</a> *pack,<span class="keyword">const</span> <a class="code" href="classRTPTime.html" title="This class is used to specify wallclock time, delay intervals etc.">RTPTime</a> &amp;receivetime,
<a name="l00444"></a>00444                                           <span class="keyword">const</span> <a class="code" href="classRTPAddress.html" title="This class is an abstract class which is used to specify destinations, multicast...">RTPAddress</a> *senderaddress)                              { }
<a name="l00445"></a>00445 
<a name="l00451"></a><a class="code" href="classRTPSession.html#5cfb438cd21df15735a6a64735809f44">00451</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#5cfb438cd21df15735a6a64735809f44" title="Is called when an SSRC collision was detected.">OnSSRCCollision</a>(<a class="code" href="classRTPSourceData.html" title="Describes an entry in the RTPSources source table.">RTPSourceData</a> *srcdat,<span class="keyword">const</span> <a class="code" href="classRTPAddress.html" title="This class is an abstract class which is used to specify destinations, multicast...">RTPAddress</a> *senderaddress,<span class="keywordtype">bool</span> isrtp)  { }
<a name="l00452"></a>00452 
<a name="l00454"></a><a class="code" href="classRTPSession.html#fdbcfff8e02f5c7530b5589efa32901b">00454</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#fdbcfff8e02f5c7530b5589efa32901b" title="Is called when another CNAME was received than the one already present for source...">OnCNAMECollision</a>(<a class="code" href="classRTPSourceData.html" title="Describes an entry in the RTPSources source table.">RTPSourceData</a> *srcdat,<span class="keyword">const</span> <a class="code" href="classRTPAddress.html" title="This class is an abstract class which is used to specify destinations, multicast...">RTPAddress</a> *senderaddress,
<a name="l00455"></a>00455                                       <span class="keyword">const</span> uint8_t *cname,<span class="keywordtype">size_t</span> cnamelength)                          { }
<a name="l00456"></a>00456 
<a name="l00458"></a><a class="code" href="classRTPSession.html#900e0acc44948f3635c2d6b529d42a1a">00458</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#900e0acc44948f3635c2d6b529d42a1a" title="Is called when a new entry srcdat is added to the source table.">OnNewSource</a>(<a class="code" href="classRTPSourceData.html" title="Describes an entry in the RTPSources source table.">RTPSourceData</a> *srcdat)                                                 { }
<a name="l00459"></a>00459 
<a name="l00461"></a><a class="code" href="classRTPSession.html#48d1ea8b3a3b0fe6f8b1075c342e8cf0">00461</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#48d1ea8b3a3b0fe6f8b1075c342e8cf0" title="Is called when the entry srcdat is about to be deleted from the source table.">OnRemoveSource</a>(<a class="code" href="classRTPSourceData.html" title="Describes an entry in the RTPSources source table.">RTPSourceData</a> *srcdat)                                              { }
<a name="l00462"></a>00462         
<a name="l00464"></a><a class="code" href="classRTPSession.html#68bca5ce7d968cf816b9244a97813e7b">00464</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#68bca5ce7d968cf816b9244a97813e7b" title="Is called when participant srcdat is timed out.">OnTimeout</a>(<a class="code" href="classRTPSourceData.html" title="Describes an entry in the RTPSources source table.">RTPSourceData</a> *srcdat)                                                   { }
<a name="l00465"></a>00465 
<a name="l00467"></a><a class="code" href="classRTPSession.html#a0cfb63312c4cf491806c6f2cefe4410">00467</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#a0cfb63312c4cf491806c6f2cefe4410" title="Is called when participant srcdat is timed after having sent a BYE packet.">OnBYETimeout</a>(<a class="code" href="classRTPSourceData.html" title="Describes an entry in the RTPSources source table.">RTPSourceData</a> *srcdat)                                                { }
<a name="l00468"></a>00468 
<a name="l00472"></a><a class="code" href="classRTPSession.html#bb55bd491091c67525a6ca543756a584">00472</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#bb55bd491091c67525a6ca543756a584" title="Is called when an RTCP APP packet apppacket has been received at time receivetime...">OnAPPPacket</a>(<a class="code" href="classRTCPAPPPacket.html" title="Describes an RTCP APP packet.">RTCPAPPPacket</a> *apppacket,<span class="keyword">const</span> <a class="code" href="classRTPTime.html" title="This class is used to specify wallclock time, delay intervals etc.">RTPTime</a> &amp;receivetime,
<a name="l00473"></a>00473                                  <span class="keyword">const</span> <a class="code" href="classRTPAddress.html" title="This class is an abstract class which is used to specify destinations, multicast...">RTPAddress</a> *senderaddress)                                       { }
<a name="l00474"></a>00474         
<a name="l00476"></a><a class="code" href="classRTPSession.html#548cb78c76e1d381efc95fc6f158ad6a">00476</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#548cb78c76e1d381efc95fc6f158ad6a" title="Is called when an unknown RTCP packet type was detected.">OnUnknownPacketType</a>(<a class="code" href="classRTCPPacket.html" title="Base class for specific types of RTCP packets.">RTCPPacket</a> *rtcppack,<span class="keyword">const</span> <a class="code" href="classRTPTime.html" title="This class is used to specify wallclock time, delay intervals etc.">RTPTime</a> &amp;receivetime,
<a name="l00477"></a>00477                                          <span class="keyword">const</span> <a class="code" href="classRTPAddress.html" title="This class is an abstract class which is used to specify destinations, multicast...">RTPAddress</a> *senderaddress)                               { }
<a name="l00478"></a>00478 
<a name="l00480"></a><a class="code" href="classRTPSession.html#5a1cabfb6dce70234e40b0e6b9da9b48">00480</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#5a1cabfb6dce70234e40b0e6b9da9b48" title="Is called when an unknown packet format for a known packet type was detected.">OnUnknownPacketFormat</a>(<a class="code" href="classRTCPPacket.html" title="Base class for specific types of RTCP packets.">RTCPPacket</a> *rtcppack,<span class="keyword">const</span> <a class="code" href="classRTPTime.html" title="This class is used to specify wallclock time, delay intervals etc.">RTPTime</a> &amp;receivetime,
<a name="l00481"></a>00481                                            <span class="keyword">const</span> <a class="code" href="classRTPAddress.html" title="This class is an abstract class which is used to specify destinations, multicast...">RTPAddress</a> *senderaddress)                             { }
<a name="l00482"></a>00482 
<a name="l00484"></a><a class="code" href="classRTPSession.html#ed79a79baf9c4bc4faa75e7c219d8a18">00484</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#ed79a79baf9c4bc4faa75e7c219d8a18" title="Is called when the SDES NOTE item for source srcdat has been timed out.">OnNoteTimeout</a>(<a class="code" href="classRTPSourceData.html" title="Describes an entry in the RTPSources source table.">RTPSourceData</a> *srcdat)                                               { }
<a name="l00485"></a>00485 
<a name="l00487"></a><a class="code" href="classRTPSession.html#fa54712af607b1b4c94ea37ec8197ce0">00487</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#fa54712af607b1b4c94ea37ec8197ce0" title="Is called when a BYE packet has been processed for source srcdat.">OnBYEPacket</a>(<a class="code" href="classRTPSourceData.html" title="Describes an entry in the RTPSources source table.">RTPSourceData</a> *srcdat)                                                 { }
<a name="l00488"></a>00488 
<a name="l00490"></a><a class="code" href="classRTPSession.html#1bb4fcadcae116bd19e611ae227c390e">00490</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#1bb4fcadcae116bd19e611ae227c390e" title="Is called when an RTCP compound packet has just been sent (useful to inspect outgoing...">OnSendRTCPCompoundPacket</a>(<a class="code" href="classRTCPCompoundPacket.html" title="Represents an RTCP compound packet.">RTCPCompoundPacket</a> *pack)                                 { }
<a name="l00491"></a>00491 <span class="preprocessor">#ifdef RTP_SUPPORT_THREAD</span>
<a name="l00492"></a>00492 <span class="preprocessor"></span>
<a name="l00493"></a><a class="code" href="classRTPSession.html#7f7c4375097bef51872925b64151745f">00493</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#7f7c4375097bef51872925b64151745f" title="Is called when error errcode was detected in the poll thread.">OnPollThreadError</a>(<span class="keywordtype">int</span> errcode)                                                     { }
<a name="l00494"></a>00494 
<a name="l00499"></a><a class="code" href="classRTPSession.html#7935fa6d0adbdb70f4fc330bccfbf2c2">00499</a>         <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classRTPSession.html#7935fa6d0adbdb70f4fc330bccfbf2c2" title="Is called each time the poll thread loops.">OnPollThreadStep</a>()                                                                 { }
<a name="l00500"></a>00500 <span class="preprocessor">#endif // RTP_SUPPORT_THREAD</span>
<a name="l00501"></a>00501 <span class="preprocessor"></span><span class="keyword">private</span>:
<a name="l00502"></a>00502         <span class="keywordtype">int</span> InternalCreate(<span class="keyword">const</span> <a class="code" href="classRTPSessionParams.html" title="Describes the parameters for to be used by an RTPSession instance.">RTPSessionParams</a> &amp;sessparams);
<a name="l00503"></a>00503         <span class="keywordtype">int</span> CreateCNAME(uint8_t *buffer,<span class="keywordtype">size_t</span> *bufferlength,<span class="keywordtype">bool</span> resolve);
<a name="l00504"></a>00504         <span class="keywordtype">int</span> ProcessPolledData();
<a name="l00505"></a>00505         <span class="keywordtype">int</span> ProcessRTCPCompoundPacket(<a class="code" href="classRTCPCompoundPacket.html" title="Represents an RTCP compound packet.">RTCPCompoundPacket</a> &amp;rtcpcomppack,<a class="code" href="classRTPRawPacket.html" title="This class is used by the transmission component to store the incoming RTP and RTCP...">RTPRawPacket</a> *pack);
<a name="l00506"></a>00506         
<a name="l00507"></a>00507         <a class="code" href="classRTPTransmitter.html" title="Abstract class from which actual transmission components should be derived.">RTPTransmitter</a> *rtptrans;
<a name="l00508"></a>00508         <span class="keywordtype">bool</span> created;
<a name="l00509"></a>00509         <span class="keywordtype">bool</span> deletetransmitter;
<a name="l00510"></a>00510         <span class="keywordtype">bool</span> usingpollthread;
<a name="l00511"></a>00511         <span class="keywordtype">bool</span> acceptownpackets;
<a name="l00512"></a>00512         <span class="keywordtype">bool</span> useSR_BYEifpossible;
<a name="l00513"></a>00513         <span class="keywordtype">size_t</span> maxpacksize;
<a name="l00514"></a>00514         <span class="keywordtype">double</span> sessionbandwidth;
<a name="l00515"></a>00515         <span class="keywordtype">double</span> controlfragment;
<a name="l00516"></a>00516         <span class="keywordtype">double</span> sendermultiplier;
<a name="l00517"></a>00517         <span class="keywordtype">double</span> byemultiplier;
<a name="l00518"></a>00518         <span class="keywordtype">double</span> membermultiplier;
<a name="l00519"></a>00519         <span class="keywordtype">double</span> collisionmultiplier;
<a name="l00520"></a>00520         <span class="keywordtype">double</span> notemultiplier;
<a name="l00521"></a>00521         <span class="keywordtype">bool</span> sentpackets;
<a name="l00522"></a>00522 
<a name="l00523"></a>00523         RTPSessionSources sources;
<a name="l00524"></a>00524         <a class="code" href="classRTPPacketBuilder.html" title="This class can be used to build RTP packets and is a bit more high-level than the...">RTPPacketBuilder</a> packetbuilder;
<a name="l00525"></a>00525         <a class="code" href="classRTCPScheduler.html" title="This class determines when RTCP compound packets should be sent.">RTCPScheduler</a> rtcpsched;
<a name="l00526"></a>00526         <a class="code" href="classRTCPPacketBuilder.html" title="This class can be used to build RTCP compound packets, on a higher level than the...">RTCPPacketBuilder</a> rtcpbuilder;
<a name="l00527"></a>00527         <a class="code" href="classRTPCollisionList.html" title="This class represents a list of addresses from which SSRC collisions were detected...">RTPCollisionList</a> collisionlist;
<a name="l00528"></a>00528 
<a name="l00529"></a>00529         std::list&lt;RTCPCompoundPacket *&gt; byepackets;
<a name="l00530"></a>00530         
<a name="l00531"></a>00531 <span class="preprocessor">#ifdef RTP_SUPPORT_THREAD</span>
<a name="l00532"></a>00532 <span class="preprocessor"></span>        RTPPollThread *pollthread;
<a name="l00533"></a>00533         JMutex sourcesmutex,buildermutex,schedmutex,packsentmutex;
<a name="l00534"></a>00534 
<a name="l00535"></a>00535         <span class="keyword">friend</span> <span class="keyword">class </span>RTPPollThread;
<a name="l00536"></a>00536 <span class="preprocessor">#endif // RTP_SUPPORT_THREAD</span>
<a name="l00537"></a>00537 <span class="preprocessor"></span>        <span class="keyword">friend</span> <span class="keyword">class </span>RTPSessionSources;
<a name="l00538"></a>00538         <span class="keyword">friend</span> <span class="keyword">class </span>RTCPSessionPacketBuilder;
<a name="l00539"></a>00539 };
<a name="l00540"></a>00540 
<a name="l00541"></a>00541 <span class="preprocessor">#endif // RTPSESSION_H</span>
<a name="l00542"></a>00542 <span class="preprocessor"></span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Jul 26 09:42:08 2009 for jrtplib by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>