306 lines
16 KiB
HTML
306 lines
16 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
|
|
<meta name="generator" content="Doxygen 1.9.5"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>uvgRTP: uvgrtp::context 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="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.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 id="projectrow">
|
|
<td id="projectalign">
|
|
<div id="projectname">uvgRTP<span id="projectnumber"> 2.1.0</span>
|
|
</div>
|
|
<div id="projectbrief">An open-source library for RTP/SRTP media delivery</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.9.5 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
var searchBox = new SearchBox("searchBox", "search/",'.html');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */
|
|
</script>
|
|
<div id="main-nav"></div>
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<div id="MSearchResults">
|
|
<div class="SRPage">
|
|
<div id="SRIndex">
|
|
<div id="SRResults"></div>
|
|
<div class="SRStatus" id="Loading">Loading...</div>
|
|
<div class="SRStatus" id="Searching">Searching...</div>
|
|
<div class="SRStatus" id="NoMatches">No Matches</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="nav-path" class="navpath">
|
|
<ul>
|
|
<li class="navelem"><b>uvgrtp</b></li><li class="navelem"><a class="el" href="classuvgrtp_1_1context.html">context</a></li> </ul>
|
|
</div>
|
|
</div><!-- top -->
|
|
<div class="header">
|
|
<div class="summary">
|
|
<a href="#pub-methods">Public Member Functions</a> |
|
|
<a href="classuvgrtp_1_1context-members.html">List of all members</a> </div>
|
|
<div class="headertitle"><div class="title">uvgrtp::context Class Reference</div></div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
|
|
<p>Provides CNAME isolation and can be used to create <a class="el" href="classuvgrtp_1_1session.html" title="Provides ZRTP synchronization and can be used to create uvgrtp::media_stream objects.">uvgrtp::session</a> objects.
|
|
<a href="classuvgrtp_1_1context.html#details">More...</a></p>
|
|
|
|
<p><code>#include <<a class="el" href="context_8hh_source.html">context.hh</a>></code></p>
|
|
<table class="memberdecls">
|
|
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
|
|
Public Member Functions</h2></td></tr>
|
|
<tr class="memitem:a98be18c2848404549cfadf910ba1573a"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvgrtp_1_1context.html#a98be18c2848404549cfadf910ba1573a">context</a> ()</td></tr>
|
|
<tr class="memdesc:a98be18c2848404549cfadf910ba1573a"><td class="mdescLeft"> </td><td class="mdescRight">RTP context constructor. <a href="classuvgrtp_1_1context.html#a98be18c2848404549cfadf910ba1573a">More...</a><br /></td></tr>
|
|
<tr class="separator:a98be18c2848404549cfadf910ba1573a"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a652a201ae11685961267455ab823eb60"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvgrtp_1_1context.html#a652a201ae11685961267455ab823eb60">~context</a> ()</td></tr>
|
|
<tr class="memdesc:a652a201ae11685961267455ab823eb60"><td class="mdescLeft"> </td><td class="mdescRight">RTP context destructor. <a href="classuvgrtp_1_1context.html#a652a201ae11685961267455ab823eb60">More...</a><br /></td></tr>
|
|
<tr class="separator:a652a201ae11685961267455ab823eb60"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a81b2dc23ebf64d1153410376503eccb4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classuvgrtp_1_1session.html">uvgrtp::session</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvgrtp_1_1context.html#a81b2dc23ebf64d1153410376503eccb4">create_session</a> (std::string address)</td></tr>
|
|
<tr class="memdesc:a81b2dc23ebf64d1153410376503eccb4"><td class="mdescLeft"> </td><td class="mdescRight">Create a new RTP session. <a href="classuvgrtp_1_1context.html#a81b2dc23ebf64d1153410376503eccb4">More...</a><br /></td></tr>
|
|
<tr class="separator:a81b2dc23ebf64d1153410376503eccb4"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a7699c9df53e8e7380d755f374d6fc2ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classuvgrtp_1_1session.html">uvgrtp::session</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvgrtp_1_1context.html#a7699c9df53e8e7380d755f374d6fc2ce">create_session</a> (std::string remote_addr, std::string local_addr)</td></tr>
|
|
<tr class="memdesc:a7699c9df53e8e7380d755f374d6fc2ce"><td class="mdescLeft"> </td><td class="mdescRight">Create a new RTP session. <a href="classuvgrtp_1_1context.html#a7699c9df53e8e7380d755f374d6fc2ce">More...</a><br /></td></tr>
|
|
<tr class="separator:a7699c9df53e8e7380d755f374d6fc2ce"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a61daf2f3cdcdf2542ee997ab6de5efa9"><td class="memItemLeft" align="right" valign="top">rtp_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvgrtp_1_1context.html#a61daf2f3cdcdf2542ee997ab6de5efa9">destroy_session</a> (<a class="el" href="classuvgrtp_1_1session.html">uvgrtp::session</a> *<a class="el" href="classuvgrtp_1_1session.html">session</a>)</td></tr>
|
|
<tr class="memdesc:a61daf2f3cdcdf2542ee997ab6de5efa9"><td class="mdescLeft"> </td><td class="mdescRight">Destroy RTP session and all of its media streams. <a href="classuvgrtp_1_1context.html#a61daf2f3cdcdf2542ee997ab6de5efa9">More...</a><br /></td></tr>
|
|
<tr class="separator:a61daf2f3cdcdf2542ee997ab6de5efa9"><td class="memSeparator" colspan="2"> </td></tr>
|
|
<tr class="memitem:a0ddad3f0a78b6a4b13f2b8fdd15c9087"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvgrtp_1_1context.html#a0ddad3f0a78b6a4b13f2b8fdd15c9087">crypto_enabled</a> () const</td></tr>
|
|
<tr class="memdesc:a0ddad3f0a78b6a4b13f2b8fdd15c9087"><td class="mdescLeft"> </td><td class="mdescRight">Has Crypto++ been included in uvgRTP library. <a href="classuvgrtp_1_1context.html#a0ddad3f0a78b6a4b13f2b8fdd15c9087">More...</a><br /></td></tr>
|
|
<tr class="separator:a0ddad3f0a78b6a4b13f2b8fdd15c9087"><td class="memSeparator" colspan="2"> </td></tr>
|
|
</table>
|
|
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
|
<div class="textblock"><p >Provides CNAME isolation and can be used to create <a class="el" href="classuvgrtp_1_1session.html" title="Provides ZRTP synchronization and can be used to create uvgrtp::media_stream objects.">uvgrtp::session</a> objects. </p>
|
|
|
|
<p class="definition">Definition at line <a class="el" href="context_8hh_source.html#l00016">16</a> of file <a class="el" href="context_8hh_source.html">context.hh</a>.</p>
|
|
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
|
<a id="a98be18c2848404549cfadf910ba1573a" name="a98be18c2848404549cfadf910ba1573a"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a98be18c2848404549cfadf910ba1573a">◆ </a></span>context()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uvgrtp::context::context </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>RTP context constructor. </p>
|
|
<p >Most of the time one RTP context per application is enough. If CNAME namespace isolation is required, multiple context objects can be created. </p>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a652a201ae11685961267455ab823eb60" name="a652a201ae11685961267455ab823eb60"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a652a201ae11685961267455ab823eb60">◆ </a></span>~context()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">uvgrtp::context::~context </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>RTP context destructor. </p>
|
|
<p >This does not destroy active sessions. They must be destroyed manually by calling <a class="el" href="classuvgrtp_1_1context.html#a61daf2f3cdcdf2542ee997ab6de5efa9" title="Destroy RTP session and all of its media streams.">uvgrtp::context::destroy_session()</a> </p>
|
|
|
|
</div>
|
|
</div>
|
|
<h2 class="groupheader">Member Function Documentation</h2>
|
|
<a id="a81b2dc23ebf64d1153410376503eccb4" name="a81b2dc23ebf64d1153410376503eccb4"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a81b2dc23ebf64d1153410376503eccb4">◆ </a></span>create_session() <span class="overload">[1/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classuvgrtp_1_1session.html">uvgrtp::session</a> * uvgrtp::context::create_session </td>
|
|
<td>(</td>
|
|
<td class="paramtype">std::string </td>
|
|
<td class="paramname"><em>address</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create a new RTP session. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">address</td><td>IPv4 address of the remote participant</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>RTP session object</dd></dl>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname"><a class="el" href="classuvgrtp_1_1session.html" title="Provides ZRTP synchronization and can be used to create uvgrtp::media_stream objects.">uvgrtp::session</a></td><td>On success </td></tr>
|
|
<tr><td class="paramname">nullptr</td><td>If "address" is empty or memory allocation failed </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a7699c9df53e8e7380d755f374d6fc2ce" name="a7699c9df53e8e7380d755f374d6fc2ce"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a7699c9df53e8e7380d755f374d6fc2ce">◆ </a></span>create_session() <span class="overload">[2/2]</span></h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname"><a class="el" href="classuvgrtp_1_1session.html">uvgrtp::session</a> * uvgrtp::context::create_session </td>
|
|
<td>(</td>
|
|
<td class="paramtype">std::string </td>
|
|
<td class="paramname"><em>remote_addr</em>, </td>
|
|
</tr>
|
|
<tr>
|
|
<td class="paramkey"></td>
|
|
<td></td>
|
|
<td class="paramtype">std::string </td>
|
|
<td class="paramname"><em>local_addr</em> </td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td>)</td>
|
|
<td></td><td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Create a new RTP session. </p>
|
|
<p >If UDP holepunching should be utilized, in addition to remote IP address, the caller must also provide local IP address where uvgRTP should bind itself to. If you are using uvgRTP for unidirectional streaming, please take a look at <a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa8e66f45819774772a0156647d3788a95">RCE_HOLEPUNCH_KEEPALIVE</a></p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">remote_addr</td><td>IPv4 address of the remote participant </td></tr>
|
|
<tr><td class="paramname">local_addr</td><td>IPv4 address of a local interface</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>RTP session object</dd></dl>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname"><a class="el" href="classuvgrtp_1_1session.html" title="Provides ZRTP synchronization and can be used to create uvgrtp::media_stream objects.">uvgrtp::session</a></td><td>On success </td></tr>
|
|
<tr><td class="paramname">nullptr</td><td>If memory allocation failed </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a0ddad3f0a78b6a4b13f2b8fdd15c9087" name="a0ddad3f0a78b6a4b13f2b8fdd15c9087"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a0ddad3f0a78b6a4b13f2b8fdd15c9087">◆ </a></span>crypto_enabled()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">bool uvgrtp::context::crypto_enabled </td>
|
|
<td>(</td>
|
|
<td class="paramname"></td><td>)</td>
|
|
<td> const</td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Has Crypto++ been included in uvgRTP library. </p>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname">true</td><td>Crypto++ has been included, using SRTP is possible </td></tr>
|
|
<tr><td class="paramname">false</td><td>Crypto++ has not been included, using SRTP is not possible </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<a id="a61daf2f3cdcdf2542ee997ab6de5efa9" name="a61daf2f3cdcdf2542ee997ab6de5efa9"></a>
|
|
<h2 class="memtitle"><span class="permalink"><a href="#a61daf2f3cdcdf2542ee997ab6de5efa9">◆ </a></span>destroy_session()</h2>
|
|
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">rtp_error_t uvgrtp::context::destroy_session </td>
|
|
<td>(</td>
|
|
<td class="paramtype"><a class="el" href="classuvgrtp_1_1session.html">uvgrtp::session</a> * </td>
|
|
<td class="paramname"><em>session</em></td><td>)</td>
|
|
<td></td>
|
|
</tr>
|
|
</table>
|
|
</div><div class="memdoc">
|
|
|
|
<p>Destroy RTP session and all of its media streams. </p>
|
|
<dl class="params"><dt>Parameters</dt><dd>
|
|
<table class="params">
|
|
<tr><td class="paramname">session</td><td>Pointer to the session object that should be destroyed</td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
<dl class="section return"><dt>Returns</dt><dd>RTP error code</dd></dl>
|
|
<dl class="retval"><dt>Return values</dt><dd>
|
|
<table class="retval">
|
|
<tr><td class="paramname">RTP_OK</td><td>On success </td></tr>
|
|
<tr><td class="paramname">RTP_INVALID_VALUE</td><td>If session is nullptr </td></tr>
|
|
</table>
|
|
</dd>
|
|
</dl>
|
|
|
|
</div>
|
|
</div>
|
|
<hr/>The documentation for this class was generated from the following file:<ul>
|
|
<li>C:/Local/rasane22/Projects/Kvazzup/libraries/uvgRTP/include/uvgrtp/<a class="el" href="context_8hh_source.html">context.hh</a></li>
|
|
</ul>
|
|
</div><!-- contents -->
|
|
<!-- start footer part -->
|
|
<hr class="footer"/><address class="footer"><small>
|
|
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.5
|
|
</small></address>
|
|
</body>
|
|
</html>
|