<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>ccRTP: AVPQueue Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="examples.html"><span>Examples</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="classes.html"><span>Class Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> </div> <div class="contents"> <h1>AVPQueue Class Reference<br> <small> [<a class="el" href="group__cqueue.html">Generic RTCP control queues.</a>]</small> </h1><!-- doxytag: class="AVPQueue" --><!-- doxytag: inherits="QueueRTCPManager" -->This class, an RTP/RTCP queue, adds audio/video profile (AVP) specific methods to the generic RTCP service queue (<a class="el" href="class_queue_r_t_c_p_manager.html" title="Adds generic management of RTCP functions to an RTP data queue.">QueueRTCPManager</a>). <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="cqueue_8h_source.html">cqueue.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for AVPQueue:</div> <div class="dynsection"> <p><center><img src="class_a_v_p_queue.png" usemap="#AVPQueue_map" border="0" alt=""></center> <map name="AVPQueue_map"> <area href="class_queue_r_t_c_p_manager.html" alt="QueueRTCPManager" shape="rect" coords="742,224,897,248"> <area href="class_r_t_p_data_queue.html" alt="RTPDataQueue" shape="rect" coords="660,168,815,192"> <area href="class_r_t_c_p_compound_handler.html" alt="RTCPCompoundHandler" shape="rect" coords="825,168,980,192"> <area href="class_incoming_data_queue.html" alt="IncomingDataQueue" shape="rect" coords="247,112,402,136"> <area href="class_outgoing_data_queue.html" 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" 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" alt="DestinationListHandler" shape="rect" coords="1155,56,1310,80"> <area href="class_r_t_p_queue_base.html" alt="RTPQueueBase" shape="rect" coords="0,0,155,24"> <area href="class_sync_source_handler.html" alt="SyncSourceHandler" shape="rect" coords="165,0,320,24"> <area href="class_participant_handler.html" alt="ParticipantHandler" shape="rect" coords="330,0,485,24"> <area href="class_application_handler.html" alt="ApplicationHandler" shape="rect" coords="495,0,650,24"> <area href="class_conflict_handler.html" alt="ConflictHandler" shape="rect" coords="660,0,815,24"> <area href="class_members.html" alt="Members" shape="rect" coords="825,0,980,24"> <area href="class_r_t_p_queue_base.html" alt="RTPQueueBase" shape="rect" coords="990,0,1145,24"> </map> </div> <p> <a href="class_a_v_p_queue-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_p_queue.html#3fd139decfd1175b7ad6a8abeed65bf5">setControlBandwidth</a> (float fraction)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Specify the bandwith available for control (RTCP) packets. <a href="#3fd139decfd1175b7ad6a8abeed65bf5"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_p_queue.html#6d6f7b130b2fdf88386aebdc867e1b7b">getControlBandwidth</a> () const </td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_p_queue.html#af1e8cefc7f14a1a2031b0a39133d741">AVPQueue</a> (uint32 size=<a class="el" href="class_membership_bookkeeping.html#53ba5e9495dfdb9ec16c551206796d99">RTPDataQueue::defaultMembersHashSize</a>, <a class="el" href="class_r_t_p_application.html">RTPApplication</a> &app=defaultApplication())</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_p_queue.html#50f8c10ddf34ea6224ce3c7cf94d9ffc">AVPQueue</a> (uint32 ssrc, uint32 size=<a class="el" href="class_membership_bookkeeping.html#53ba5e9495dfdb9ec16c551206796d99">RTPDataQueue::defaultMembersHashSize</a>, <a class="el" href="class_r_t_p_application.html">RTPApplication</a> &app=defaultApplication())</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Local SSRC is given instead of computed by the queue. <a href="#50f8c10ddf34ea6224ce3c7cf94d9ffc"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="class_a_v_p_queue.html#8de3b8094de050079d3c29876119d518">~AVPQueue</a> ()</td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> This class, an RTP/RTCP queue, adds audio/video profile (AVP) specific methods to the generic RTCP service queue (<a class="el" href="class_queue_r_t_c_p_manager.html" title="Adds generic management of RTCP functions to an RTP data queue.">QueueRTCPManager</a>). <p> <dl class="author" compact><dt><b>Author:</b></dt><dd>Federico Montesino Pouzols <<a href="mailto:fedemp@altern.org">fedemp@altern.org</a>> </dd></dl> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="af1e8cefc7f14a1a2031b0a39133d741"></a><!-- doxytag: member="AVPQueue::AVPQueue" ref="af1e8cefc7f14a1a2031b0a39133d741" args="(uint32 size=RTPDataQueue::defaultMembersHashSize, RTPApplication &app=defaultApplication())" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">AVPQueue::AVPQueue </td> <td>(</td> <td class="paramtype">uint32 </td> <td class="paramname"> <em>size</em> = <code><a class="el" href="class_membership_bookkeeping.html#53ba5e9495dfdb9ec16c551206796d99">RTPDataQueue::defaultMembersHashSize</a></code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="class_r_t_p_application.html">RTPApplication</a> & </td> <td class="paramname"> <em>app</em> = <code>defaultApplication()</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <a class="anchor" name="50f8c10ddf34ea6224ce3c7cf94d9ffc"></a><!-- doxytag: member="AVPQueue::AVPQueue" ref="50f8c10ddf34ea6224ce3c7cf94d9ffc" args="(uint32 ssrc, uint32 size=RTPDataQueue::defaultMembersHashSize, RTPApplication &app=defaultApplication())" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">AVPQueue::AVPQueue </td> <td>(</td> <td class="paramtype">uint32 </td> <td class="paramname"> <em>ssrc</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32 </td> <td class="paramname"> <em>size</em> = <code><a class="el" href="class_membership_bookkeeping.html#53ba5e9495dfdb9ec16c551206796d99">RTPDataQueue::defaultMembersHashSize</a></code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="class_r_t_p_application.html">RTPApplication</a> & </td> <td class="paramname"> <em>app</em> = <code>defaultApplication()</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline, protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Local SSRC is given instead of computed by the queue. <p> </div> </div><p> <a class="anchor" name="8de3b8094de050079d3c29876119d518"></a><!-- doxytag: member="AVPQueue::~AVPQueue" ref="8de3b8094de050079d3c29876119d518" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual AVPQueue::~AVPQueue </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline, protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="6d6f7b130b2fdf88386aebdc867e1b7b"></a><!-- doxytag: member="AVPQueue::getControlBandwidth" ref="6d6f7b130b2fdf88386aebdc867e1b7b" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float AVPQueue::getControlBandwidth </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> <p>Reimplemented from <a class="el" href="class_queue_r_t_c_p_manager.html#f0be89a7b891cbe5328ae47bb8108db3">QueueRTCPManager</a>.</p> </div> </div><p> <a class="anchor" name="3fd139decfd1175b7ad6a8abeed65bf5"></a><!-- doxytag: member="AVPQueue::setControlBandwidth" ref="3fd139decfd1175b7ad6a8abeed65bf5" args="(float fraction)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void AVPQueue::setControlBandwidth </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>fraction</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Specify the bandwith available for control (RTCP) packets. <p> This method sets the global control bandwidth for both sender and receiver reports. As recommended in RFC 1890, 1/4 of the total control bandwidth is dedicated to senders, whereas 3/4 are dedicated to receivers.<p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>fraction</em> </td><td>fraction of the session bandwidth, between 0 and 1</td></tr> </table> </dl> <dl class="note" compact><dt><b>Note:</b></dt><dd>If this method is not called, it is assumed that the control bandwidth is equal to 5% of the session bandwidth. Note also that the RFC RECOMMENDS the 5%. </dd></dl> <p>Reimplemented from <a class="el" href="class_queue_r_t_c_p_manager.html#eaa27c32efc622663a8b1d62945887ce">QueueRTCPManager</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="cqueue_8h_source.html">cqueue.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Fri Jul 24 21:42:25 2009 for ccRTP by <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>