Update Doxygen documentation
This commit is contained in:
parent
737d1d0056
commit
8271bfb34d
|
@ -67,11 +67,11 @@ $(function() {
|
|||
<div class="contents">
|
||||
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
|
||||
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">▼</span><span class="icona"><span class="icon">N</span></span><b>uvg_rtp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvg__rtp_1_1context.html" target="_self">context</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvg__rtp_1_1session.html" target="_self">session</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvg__rtp_1_1media__stream.html" target="_self">media_stream</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvg__rtp_1_1rtcp.html" target="_self">rtcp</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">▼</span><span class="icona"><span class="icon">N</span></span><b>uvgrtp</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvgrtp_1_1context.html" target="_self">context</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvgrtp_1_1session.html" target="_self">session</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_2_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvgrtp_1_1media__stream.html" target="_self">media_stream</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_3_" class="even"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvgrtp_1_1rtcp.html" target="_self">rtcp</a></td><td class="desc"></td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
|
|
|
@ -69,16 +69,16 @@ $(function() {
|
|||
<div class="classindex">
|
||||
<dl class="classindex even">
|
||||
<dt class="alphachar"><a name="letter_C">C</a></dt>
|
||||
<dd><a class="el" href="classuvg__rtp_1_1context.html">context</a> (uvg_rtp)</dd></dl>
|
||||
<dd><a class="el" href="classuvgrtp_1_1context.html">context</a> (uvgrtp)</dd></dl>
|
||||
<dl class="classindex odd">
|
||||
<dt class="alphachar"><a name="letter_M">M</a></dt>
|
||||
<dd><a class="el" href="classuvg__rtp_1_1media__stream.html">media_stream</a> (uvg_rtp)</dd></dl>
|
||||
<dd><a class="el" href="classuvgrtp_1_1media__stream.html">media_stream</a> (uvgrtp)</dd></dl>
|
||||
<dl class="classindex even">
|
||||
<dt class="alphachar"><a name="letter_R">R</a></dt>
|
||||
<dd><a class="el" href="classuvg__rtp_1_1rtcp.html">rtcp</a> (uvg_rtp)</dd></dl>
|
||||
<dd><a class="el" href="classuvgrtp_1_1rtcp.html">rtcp</a> (uvgrtp)</dd></dl>
|
||||
<dl class="classindex odd">
|
||||
<dt class="alphachar"><a name="letter_S">S</a></dt>
|
||||
<dd><a class="el" href="classuvg__rtp_1_1session.html">session</a> (uvg_rtp)</dd></dl>
|
||||
<dd><a class="el" href="classuvgrtp_1_1session.html">session</a> (uvgrtp)</dd></dl>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
|
|
|
@ -0,0 +1,86 @@
|
|||
<!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">
|
||||
<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.9.1"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>uvgRTP: Member List</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 style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">uvgRTP
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(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">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</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="headertitle">
|
||||
<div class="title">uvgrtp::context Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="classuvgrtp_1_1context.html">uvgrtp::context</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr class="even"><td class="entry"><a class="el" href="classuvgrtp_1_1context.html#a98be18c2848404549cfadf910ba1573a">context</a>()</td><td class="entry"><a class="el" href="classuvgrtp_1_1context.html">uvgrtp::context</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classuvgrtp_1_1context.html#aa109aa2a419933359d225d19bcf3b2f9">create_session</a>(std::string addr)</td><td class="entry"><a class="el" href="classuvgrtp_1_1context.html">uvgrtp::context</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classuvgrtp_1_1context.html#a0007eebfd5131bf0930cfedc0c4018e8">create_session</a>(std::string remote_addr, std::string local_addr)</td><td class="entry"><a class="el" href="classuvgrtp_1_1context.html">uvgrtp::context</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classuvgrtp_1_1context.html#a61daf2f3cdcdf2542ee997ab6de5efa9">destroy_session</a>(uvgrtp::session *session)</td><td class="entry"><a class="el" href="classuvgrtp_1_1context.html">uvgrtp::context</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classuvgrtp_1_1context.html#a652a201ae11685961267455ab823eb60">~context</a>()</td><td class="entry"><a class="el" href="classuvgrtp_1_1context.html">uvgrtp::context</a></td><td class="entry"></td></tr>
|
||||
</table></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.1
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,261 @@
|
|||
<!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">
|
||||
<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.9.1"/>
|
||||
<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 style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">uvgRTP
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(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">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</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">
|
||||
<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: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:aa109aa2a419933359d225d19bcf3b2f9"><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#aa109aa2a419933359d225d19bcf3b2f9">create_session</a> (std::string addr)</td></tr>
|
||||
<tr class="memdesc:aa109aa2a419933359d225d19bcf3b2f9"><td class="mdescLeft"> </td><td class="mdescRight">Create a new RTP session. <a href="classuvgrtp_1_1context.html#aa109aa2a419933359d225d19bcf3b2f9">More...</a><br /></td></tr>
|
||||
<tr class="separator:aa109aa2a419933359d225d19bcf3b2f9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0007eebfd5131bf0930cfedc0c4018e8"><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#a0007eebfd5131bf0930cfedc0c4018e8">create_session</a> (std::string remote_addr, std::string local_addr)</td></tr>
|
||||
<tr class="memdesc:a0007eebfd5131bf0930cfedc0c4018e8"><td class="mdescLeft"> </td><td class="mdescRight">Create a new RTP session. <a href="classuvgrtp_1_1context.html#a0007eebfd5131bf0930cfedc0c4018e8">More...</a><br /></td></tr>
|
||||
<tr class="separator:a0007eebfd5131bf0930cfedc0c4018e8"><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>
|
||||
</table>
|
||||
<h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||||
<a id="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"></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="aa109aa2a419933359d225d19bcf3b2f9"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aa109aa2a419933359d225d19bcf3b2f9">◆ </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>addr</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">addr</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">uvgrtp::session</a></td><td>On success </td></tr>
|
||||
<tr><td class="paramname">nullptr</td><td>If "addr" is empty </td></tr>
|
||||
<tr><td class="paramname">nullptr</td><td>If memory allocation failed </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a0007eebfd5131bf0930cfedc0c4018e8"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a0007eebfd5131bf0930cfedc0c4018e8">◆ </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">uvgrtp::session</a></td><td>On success </td></tr>
|
||||
<tr><td class="paramname">nullptr</td><td>If remote_addr or local_addr is empty </td></tr>
|
||||
<tr><td class="paramname">nullptr</td><td>If memory allocation failed </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="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>include/<a class="el" href="lib_8hh_source.html">lib.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.1
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,91 @@
|
|||
<!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">
|
||||
<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.9.1"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>uvgRTP: Member List</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 style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">uvgRTP
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(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">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><b>uvgrtp</b></li><li class="navelem"><a class="el" href="classuvgrtp_1_1media__stream.html">media_stream</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">uvgrtp::media_stream Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>add_srtp_ctx</b>(uint8_t *key, uint8_t *salt) (defined in <a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a>)</td><td class="entry"><a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classuvgrtp_1_1media__stream.html#addf1cde9cb8c4e4af3160ce24c4288a5">configure_ctx</a>(int flag, ssize_t value)</td><td class="entry"><a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classuvgrtp_1_1media__stream.html#a1134ff0271ad54bf1e07feed422118c2">get_rtcp</a>()</td><td class="entry"><a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classuvgrtp_1_1media__stream.html#a74a558b23866976e52c5903996544a27">install_receive_hook</a>(void *arg, void(*hook)(void *, uvgrtp::frame::rtp_frame *))</td><td class="entry"><a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f">pull_frame</a>()</td><td class="entry"><a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classuvgrtp_1_1media__stream.html#a441263e19be4383223884fde8838f736">pull_frame</a>(size_t timeout)</td><td class="entry"><a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18">push_frame</a>(uint8_t *data, size_t data_len, int flags)</td><td class="entry"><a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>push_frame</b>(uint8_t *data, size_t data_len, uint32_t ts, int flags) (defined in <a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a>)</td><td class="entry"><a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>push_frame</b>(std::unique_ptr< uint8_t[]> data, size_t data_len, int flags) (defined in <a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a>)</td><td class="entry"><a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>push_frame</b>(std::unique_ptr< uint8_t[]> data, size_t data_len, uint32_t ts, int flags) (defined in <a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a>)</td><td class="entry"><a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a></td><td class="entry"></td></tr>
|
||||
</table></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.1
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,304 @@
|
|||
<!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">
|
||||
<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.9.1"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>uvgRTP: uvgrtp::media_stream 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 style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">uvgRTP
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(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">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><b>uvgrtp</b></li><li class="navelem"><a class="el" href="classuvgrtp_1_1media__stream.html">media_stream</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="classuvgrtp_1_1media__stream-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">uvgrtp::media_stream Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<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:a0950a91bd645cbf842d8218ae4171aed"><td class="memItemLeft" align="right" valign="top"><a id="a0950a91bd645cbf842d8218ae4171aed"></a>
|
||||
rtp_error_t </td><td class="memItemRight" valign="bottom"><b>add_srtp_ctx</b> (uint8_t *key, uint8_t *salt)</td></tr>
|
||||
<tr class="separator:a0950a91bd645cbf842d8218ae4171aed"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab2b7507d5b2c76bef74c9bceec07ba18"><td class="memItemLeft" align="right" valign="top">rtp_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18">push_frame</a> (uint8_t *data, size_t data_len, int flags)</td></tr>
|
||||
<tr class="separator:ab2b7507d5b2c76bef74c9bceec07ba18"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a18975c5463df0664f1fd8ab495248dcc"><td class="memItemLeft" align="right" valign="top"><a id="a18975c5463df0664f1fd8ab495248dcc"></a>
|
||||
rtp_error_t </td><td class="memItemRight" valign="bottom"><b>push_frame</b> (uint8_t *data, size_t data_len, uint32_t ts, int flags)</td></tr>
|
||||
<tr class="separator:a18975c5463df0664f1fd8ab495248dcc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab2e79cf2f90f81a90ae9c22e0c1fb01e"><td class="memItemLeft" align="right" valign="top"><a id="ab2e79cf2f90f81a90ae9c22e0c1fb01e"></a>
|
||||
rtp_error_t </td><td class="memItemRight" valign="bottom"><b>push_frame</b> (std::unique_ptr< uint8_t[]> data, size_t data_len, int flags)</td></tr>
|
||||
<tr class="separator:ab2e79cf2f90f81a90ae9c22e0c1fb01e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a85fed1e02b97326d3b794551f0677e2b"><td class="memItemLeft" align="right" valign="top"><a id="a85fed1e02b97326d3b794551f0677e2b"></a>
|
||||
rtp_error_t </td><td class="memItemRight" valign="bottom"><b>push_frame</b> (std::unique_ptr< uint8_t[]> data, size_t data_len, uint32_t ts, int flags)</td></tr>
|
||||
<tr class="separator:a85fed1e02b97326d3b794551f0677e2b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae2fe9e8d9b67e25f103a78a25417149f"><td class="memItemLeft" align="right" valign="top">uvgrtp::frame::rtp_frame * </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f">pull_frame</a> ()</td></tr>
|
||||
<tr class="memdesc:ae2fe9e8d9b67e25f103a78a25417149f"><td class="mdescLeft"> </td><td class="mdescRight">Poll a frame indefinetily from the media stream object. <a href="classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f">More...</a><br /></td></tr>
|
||||
<tr class="separator:ae2fe9e8d9b67e25f103a78a25417149f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a441263e19be4383223884fde8838f736"><td class="memItemLeft" align="right" valign="top">uvgrtp::frame::rtp_frame * </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvgrtp_1_1media__stream.html#a441263e19be4383223884fde8838f736">pull_frame</a> (size_t timeout)</td></tr>
|
||||
<tr class="memdesc:a441263e19be4383223884fde8838f736"><td class="mdescLeft"> </td><td class="mdescRight">Poll a frame for a specified time from the media stream object. <a href="classuvgrtp_1_1media__stream.html#a441263e19be4383223884fde8838f736">More...</a><br /></td></tr>
|
||||
<tr class="separator:a441263e19be4383223884fde8838f736"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a74a558b23866976e52c5903996544a27"><td class="memItemLeft" align="right" valign="top">rtp_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvgrtp_1_1media__stream.html#a74a558b23866976e52c5903996544a27">install_receive_hook</a> (void *arg, void(*hook)(void *, uvgrtp::frame::rtp_frame *))</td></tr>
|
||||
<tr class="separator:a74a558b23866976e52c5903996544a27"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:addf1cde9cb8c4e4af3160ce24c4288a5"><td class="memItemLeft" align="right" valign="top">rtp_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvgrtp_1_1media__stream.html#addf1cde9cb8c4e4af3160ce24c4288a5">configure_ctx</a> (int flag, ssize_t value)</td></tr>
|
||||
<tr class="memdesc:addf1cde9cb8c4e4af3160ce24c4288a5"><td class="mdescLeft"> </td><td class="mdescRight">Configure the media stream, see <a class="el" href="util_8hh.html#aa98d9238629e33567e73af0d239e587f" title="RTP context configuration flags.">RTP_CTX_CONFIGURATION_FLAGS</a> for more details. <a href="classuvgrtp_1_1media__stream.html#addf1cde9cb8c4e4af3160ce24c4288a5">More...</a><br /></td></tr>
|
||||
<tr class="separator:addf1cde9cb8c4e4af3160ce24c4288a5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1134ff0271ad54bf1e07feed422118c2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvgrtp_1_1media__stream.html#a1134ff0271ad54bf1e07feed422118c2">get_rtcp</a> ()</td></tr>
|
||||
<tr class="memdesc:a1134ff0271ad54bf1e07feed422118c2"><td class="mdescLeft"> </td><td class="mdescRight">Get pointer to the RTCP object of the media stream. <a href="classuvgrtp_1_1media__stream.html#a1134ff0271ad54bf1e07feed422118c2">More...</a><br /></td></tr>
|
||||
<tr class="separator:a1134ff0271ad54bf1e07feed422118c2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="addf1cde9cb8c4e4af3160ce24c4288a5"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#addf1cde9cb8c4e4af3160ce24c4288a5">◆ </a></span>configure_ctx()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">rtp_error_t uvgrtp::media_stream::configure_ctx </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>flag</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">ssize_t </td>
|
||||
<td class="paramname"><em>value</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Configure the media stream, see <a class="el" href="util_8hh.html#aa98d9238629e33567e73af0d239e587f" title="RTP context configuration flags.">RTP_CTX_CONFIGURATION_FLAGS</a> for more details. </p>
|
||||
<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 the provided value is not valid for a given configuration flag </td></tr>
|
||||
<tr><td class="paramname">RTP_INVALID_VALUE</td><td>If the provided configuration flag is not supported </td></tr>
|
||||
<tr><td class="paramname">RTP_GENERIC_ERROR</td><td>If setsockopt(2) failed </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a1134ff0271ad54bf1e07feed422118c2"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a1134ff0271ad54bf1e07feed422118c2">◆ </a></span>get_rtcp()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a>* uvgrtp::media_stream::get_rtcp </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Get pointer to the RTCP object of the media stream. </p>
|
||||
<p>This object is used to control all RTCP-related functionality and RTCP documentation can be found from <a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a></p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Pointer to RTCP object</dd></dl>
|
||||
<dl class="retval"><dt>Return values</dt><dd>
|
||||
<table class="retval">
|
||||
<tr><td class="paramname">uvgrtp::rtcp*</td><td>If RTCP has been enabled (RCE_RTCP has been given to <a class="el" href="classuvgrtp_1_1session.html#a71aad1226214b1b0b1ba60a46c048ab2" title="Create a bidirectional media stream for an RTP session.">uvgrtp::session::create_stream()</a>) </td></tr>
|
||||
<tr><td class="paramname">nullptr</td><td>If RTCP has not been enabled </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a74a558b23866976e52c5903996544a27"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a74a558b23866976e52c5903996544a27">◆ </a></span>install_receive_hook()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">rtp_error_t uvgrtp::media_stream::install_receive_hook </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">void * </td>
|
||||
<td class="paramname"><em>arg</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">void(*)(void *, uvgrtp::frame::rtp_frame *) </td>
|
||||
<td class="paramname"><em>hook</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Alternative to <a class="el" href="classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f" title="Poll a frame indefinetily from the media stream object.">pull_frame()</a>. The provided hook is called when a frame is received.</p>
|
||||
<p>"arg" is optional argument that is passed to hook when it is called. It may be nullptr</p>
|
||||
<p>NOTE: Hook should not be used to process the frame but it should be a place where the frame handout happens from uvgRTP to application</p>
|
||||
<p>Return RTP_OK on success Return RTP_INVALID_VALUE if "hook" is nullptr </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ae2fe9e8d9b67e25f103a78a25417149f"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae2fe9e8d9b67e25f103a78a25417149f">◆ </a></span>pull_frame() <span class="overload">[1/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uvgrtp::frame::rtp_frame* uvgrtp::media_stream::pull_frame </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Poll a frame indefinetily from the media stream object. </p>
|
||||
<p>When a frame is received, it is put into the frame vector of the receiver Calling application can poll frames by calling <a class="el" href="classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f" title="Poll a frame indefinetily from the media stream object.">pull_frame()</a>.</p>
|
||||
<p>NOTE: <a class="el" href="classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f" title="Poll a frame indefinetily from the media stream object.">pull_frame()</a> is a blocking operation and a separate thread should be spawned for it!</p>
|
||||
<p>You can specify for how long should <a class="el" href="classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f" title="Poll a frame indefinetily from the media stream object.">pull_frame()</a> block by giving "timeout" parameter that denotes how long <a class="el" href="classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f" title="Poll a frame indefinetily from the media stream object.">pull_frame()</a> will wait for an incoming frame in milliseconds</p>
|
||||
<p>Return pointer to RTP frame on success </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a441263e19be4383223884fde8838f736"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a441263e19be4383223884fde8838f736">◆ </a></span>pull_frame() <span class="overload">[2/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uvgrtp::frame::rtp_frame* uvgrtp::media_stream::pull_frame </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"><em>timeout</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Poll a frame for a specified time from the media stream object. </p>
|
||||
<p>When a frame is received, it is put into the frame vector of the receiver Calling application can poll frames by calling <a class="el" href="classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f" title="Poll a frame indefinetily from the media stream object.">pull_frame()</a>.</p>
|
||||
<p>NOTE: <a class="el" href="classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f" title="Poll a frame indefinetily from the media stream object.">pull_frame()</a> is a blocking operation and a separate thread should be spawned for it!</p>
|
||||
<p>You can specify for how long should <a class="el" href="classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f" title="Poll a frame indefinetily from the media stream object.">pull_frame()</a> block by giving "timeout" parameter that denotes how long <a class="el" href="classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f" title="Poll a frame indefinetily from the media stream object.">pull_frame()</a> will wait for an incoming frame in milliseconds</p>
|
||||
<p>Return pointer to RTP frame on success </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ab2b7507d5b2c76bef74c9bceec07ba18"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ab2b7507d5b2c76bef74c9bceec07ba18">◆ </a></span>push_frame()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">rtp_error_t uvgrtp::media_stream::push_frame </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">uint8_t * </td>
|
||||
<td class="paramname"><em>data</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"><em>data_len</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>flags</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Split "data" into 1500 byte chunks and send them to remote</p>
|
||||
<p>NOTE: If SCD has been enabled, calling this version of <a class="el" href="classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18">push_frame()</a> requires either that the caller has given a deallocation callback to SCD OR that "flags" contains flags "RTP_COPY"</p>
|
||||
<p>NOTE: Each <a class="el" href="classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18">push_frame()</a> sends one discrete frame of data. If the input frame is fragmented, calling application should call <a class="el" href="classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18">push_frame()</a> with RTP_MORE and RTP_SLICE flags to prevent uvgRTP from flushing the frame queue after <a class="el" href="classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18">push_frame()</a>.</p>
|
||||
<p>push_frame(..., RTP_MORE | RTP_SLICE); // more data coming in, do not flush queue push_frame(..., RTP_MORE | RTP_SLICE); // more data coming in, do not flush queue push_frame(..., RTP_SLICE); // no more data coming in, flush queue</p>
|
||||
<p>If user wishes to manage RTP timestamps himself, he may pass "ts" to <a class="el" href="classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18">push_frame()</a> which forces uvgRTP to use that timestamp for all RTP packets of "data".</p>
|
||||
<p>Return RTP_OK success Return RTP_INVALID_VALUE if one of the parameters are invalid Return RTP_MEMORY_ERROR if the data chunk is too large to be processed Return RTP_SEND_ERROR if uvgRTP failed to send the data to remote Return RTP_GENERIC_ERROR for any other error condition </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>include/<a class="el" href="media__stream_8hh_source.html">media_stream.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.1
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,89 @@
|
|||
<!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">
|
||||
<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.9.1"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>uvgRTP: Member List</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 style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">uvgRTP
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(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">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><b>uvgrtp</b></li><li class="navelem"><a class="el" href="classuvgrtp_1_1rtcp.html">rtcp</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">uvgrtp::rtcp Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>install_app_hook</b>(void(*hook)(uvgrtp::frame::rtcp_app_packet *)) (defined in <a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a>)</td><td class="entry"><a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>install_receiver_hook</b>(void(*hook)(uvgrtp::frame::rtcp_receiver_report *)) (defined in <a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a>)</td><td class="entry"><a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>install_sdes_hook</b>(void(*hook)(uvgrtp::frame::rtcp_sdes_packet *)) (defined in <a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a>)</td><td class="entry"><a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>install_sender_hook</b>(void(*hook)(uvgrtp::frame::rtcp_sender_report *)) (defined in <a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a>)</td><td class="entry"><a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>send_app_packet</b>(char *name, uint8_t subtype, size_t payload_len, uint8_t *payload) (defined in <a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a>)</td><td class="entry"><a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>send_bye_packet</b>(std::vector< uint32_t > ssrcs) (defined in <a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a>)</td><td class="entry"><a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>send_sdes_packet</b>(std::vector< uvgrtp::frame::rtcp_sdes_item > &items) (defined in <a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a>)</td><td class="entry"><a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>set_ts_info</b>(uint64_t clock_start, uint32_t clock_rate, uint32_t rtp_ts_start) (defined in <a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a>)</td><td class="entry"><a class="el" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a></td><td class="entry"></td></tr>
|
||||
</table></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.1
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,118 @@
|
|||
<!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">
|
||||
<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.9.1"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>uvgRTP: uvgrtp::rtcp 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 style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">uvgRTP
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(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">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><b>uvgrtp</b></li><li class="navelem"><a class="el" href="classuvgrtp_1_1rtcp.html">rtcp</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="classuvgrtp_1_1rtcp-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">uvgrtp::rtcp Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="dynheader">
|
||||
Inheritance diagram for uvgrtp::rtcp:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center">
|
||||
<img src="classuvgrtp_1_1rtcp.png" alt=""/>
|
||||
</div></div>
|
||||
<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:aa7499b5ea9797a7a55727c3699dc7df6"><td class="memItemLeft" align="right" valign="top"><a id="aa7499b5ea9797a7a55727c3699dc7df6"></a>
|
||||
rtp_error_t </td><td class="memItemRight" valign="bottom"><b>send_sdes_packet</b> (std::vector< uvgrtp::frame::rtcp_sdes_item > &items)</td></tr>
|
||||
<tr class="separator:aa7499b5ea9797a7a55727c3699dc7df6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad70c9ccdde9075e45a453f00591a522b"><td class="memItemLeft" align="right" valign="top"><a id="ad70c9ccdde9075e45a453f00591a522b"></a>
|
||||
rtp_error_t </td><td class="memItemRight" valign="bottom"><b>send_app_packet</b> (char *name, uint8_t subtype, size_t payload_len, uint8_t *payload)</td></tr>
|
||||
<tr class="separator:ad70c9ccdde9075e45a453f00591a522b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a2b831698320212e382e3d565e62d31c4"><td class="memItemLeft" align="right" valign="top"><a id="a2b831698320212e382e3d565e62d31c4"></a>
|
||||
rtp_error_t </td><td class="memItemRight" valign="bottom"><b>send_bye_packet</b> (std::vector< uint32_t > ssrcs)</td></tr>
|
||||
<tr class="separator:a2b831698320212e382e3d565e62d31c4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5d0d06f9b4b7779d96d8d60938627316"><td class="memItemLeft" align="right" valign="top"><a id="a5d0d06f9b4b7779d96d8d60938627316"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>set_ts_info</b> (uint64_t clock_start, uint32_t clock_rate, uint32_t rtp_ts_start)</td></tr>
|
||||
<tr class="separator:a5d0d06f9b4b7779d96d8d60938627316"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4a262a814ffa3093ac6829c90b0b3fd1"><td class="memItemLeft" align="right" valign="top"><a id="a4a262a814ffa3093ac6829c90b0b3fd1"></a>
|
||||
rtp_error_t </td><td class="memItemRight" valign="bottom"><b>install_sender_hook</b> (void(*hook)(uvgrtp::frame::rtcp_sender_report *))</td></tr>
|
||||
<tr class="separator:a4a262a814ffa3093ac6829c90b0b3fd1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a04c887fe95173d55294f57d639a1f602"><td class="memItemLeft" align="right" valign="top"><a id="a04c887fe95173d55294f57d639a1f602"></a>
|
||||
rtp_error_t </td><td class="memItemRight" valign="bottom"><b>install_receiver_hook</b> (void(*hook)(uvgrtp::frame::rtcp_receiver_report *))</td></tr>
|
||||
<tr class="separator:a04c887fe95173d55294f57d639a1f602"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad694a3a869b1c28309e1f2db6d7c2e50"><td class="memItemLeft" align="right" valign="top"><a id="ad694a3a869b1c28309e1f2db6d7c2e50"></a>
|
||||
rtp_error_t </td><td class="memItemRight" valign="bottom"><b>install_sdes_hook</b> (void(*hook)(uvgrtp::frame::rtcp_sdes_packet *))</td></tr>
|
||||
<tr class="separator:ad694a3a869b1c28309e1f2db6d7c2e50"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a977c99cfaa1442553ab12d4c140bbb0f"><td class="memItemLeft" align="right" valign="top"><a id="a977c99cfaa1442553ab12d4c140bbb0f"></a>
|
||||
rtp_error_t </td><td class="memItemRight" valign="bottom"><b>install_app_hook</b> (void(*hook)(uvgrtp::frame::rtcp_app_packet *))</td></tr>
|
||||
<tr class="separator:a977c99cfaa1442553ab12d4c140bbb0f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>include/<a class="el" href="rtcp_8hh_source.html">rtcp.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.1
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
Binary file not shown.
After Width: | Height: | Size: 400 B |
|
@ -0,0 +1,83 @@
|
|||
<!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">
|
||||
<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.9.1"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>uvgRTP: Member List</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 style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">uvgRTP
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(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">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><b>uvgrtp</b></li><li class="navelem"><a class="el" href="classuvgrtp_1_1session.html">session</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">uvgrtp::session Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="classuvgrtp_1_1session.html">uvgrtp::session</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr class="even"><td class="entry"><a class="el" href="classuvgrtp_1_1session.html#a71aad1226214b1b0b1ba60a46c048ab2">create_stream</a>(int src_port, int dst_port, rtp_format_t fmt, int flags)</td><td class="entry"><a class="el" href="classuvgrtp_1_1session.html">uvgrtp::session</a></td><td class="entry"></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="classuvgrtp_1_1session.html#a291629a3bfb910463b88d8edb3984149">destroy_stream</a>(uvgrtp::media_stream *stream)</td><td class="entry"><a class="el" href="classuvgrtp_1_1session.html">uvgrtp::session</a></td><td class="entry"></td></tr>
|
||||
</table></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.1
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,198 @@
|
|||
<!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">
|
||||
<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.9.1"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>uvgRTP: uvgrtp::session 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 style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">uvgRTP
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(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">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><b>uvgrtp</b></li><li class="navelem"><a class="el" href="classuvgrtp_1_1session.html">session</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="classuvgrtp_1_1session-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">uvgrtp::session Class Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<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:a71aad1226214b1b0b1ba60a46c048ab2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvgrtp_1_1session.html#a71aad1226214b1b0b1ba60a46c048ab2">create_stream</a> (int src_port, int dst_port, rtp_format_t fmt, int flags)</td></tr>
|
||||
<tr class="memdesc:a71aad1226214b1b0b1ba60a46c048ab2"><td class="mdescLeft"> </td><td class="mdescRight">Create a bidirectional media stream for an RTP session. <a href="classuvgrtp_1_1session.html#a71aad1226214b1b0b1ba60a46c048ab2">More...</a><br /></td></tr>
|
||||
<tr class="separator:a71aad1226214b1b0b1ba60a46c048ab2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a291629a3bfb910463b88d8edb3984149"><td class="memItemLeft" align="right" valign="top">rtp_error_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classuvgrtp_1_1session.html#a291629a3bfb910463b88d8edb3984149">destroy_stream</a> (<a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a> *stream)</td></tr>
|
||||
<tr class="memdesc:a291629a3bfb910463b88d8edb3984149"><td class="mdescLeft"> </td><td class="mdescRight">Destroy a media stream. <a href="classuvgrtp_1_1session.html#a291629a3bfb910463b88d8edb3984149">More...</a><br /></td></tr>
|
||||
<tr class="separator:a291629a3bfb910463b88d8edb3984149"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="a71aad1226214b1b0b1ba60a46c048ab2"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a71aad1226214b1b0b1ba60a46c048ab2">◆ </a></span>create_stream()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a>* uvgrtp::session::create_stream </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>src_port</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>dst_port</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">rtp_format_t </td>
|
||||
<td class="paramname"><em>fmt</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>flags</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Create a bidirectional media stream for an RTP session. </p>
|
||||
<p>If local_addr was provided when <a class="el" href="classuvgrtp_1_1session.html">uvgrtp::session</a> was created, uvgRTP binds itself to local_addr:src_port, otherwise to INADDR_ANY:src_port</p>
|
||||
<p>This object is used for both sending and receiving media, see documentation for <a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a> for more details.</p>
|
||||
<p>User can enable and disable functionality of uvgRTP by OR'ing RCE_* flags together and passing them using the flags parameter</p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">src_port</td><td>Local port that uvgRTP listens to for incoming RTP packets </td></tr>
|
||||
<tr><td class="paramname">dst_port</td><td>Remote port where uvgRTP sends RTP packets </td></tr>
|
||||
<tr><td class="paramname">fmt</td><td>Format of the media stream. see <a class="el" href="util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96" title="These flags are given to uvgrtp::session::create_stream()">RTP_FORMAT</a> for more details </td></tr>
|
||||
<tr><td class="paramname">flags</td><td>RTP context enable flags, see <a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2af" title="RTP context enable flags.">RTP_CTX_ENABLE_FLAGS</a> for more details</td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>RTP media stream object</dd></dl>
|
||||
<dl class="retval"><dt>Return values</dt><dd>
|
||||
<table class="retval">
|
||||
<tr><td class="paramname">uvgrtp::media_stream*</td><td>On success </td></tr>
|
||||
<tr><td class="paramname">nullptr</td><td>If src_port or dst_port is 0 </td></tr>
|
||||
<tr><td class="paramname">nullptr</td><td>If fmt is not a supported media format </td></tr>
|
||||
<tr><td class="paramname">nullptr</td><td>If socket initialization failed </td></tr>
|
||||
<tr><td class="paramname">nullptr</td><td>If ZRTP was enabled and it failed to finish handshaking </td></tr>
|
||||
<tr><td class="paramname">nullptr</td><td>If RCE_SRTP is given but uvgRTP has not been compiled with Crypto++ enabled </td></tr>
|
||||
<tr><td class="paramname">nullptr</td><td>If RCE_SRTP is given but RCE_SRTP_KMNGMNT_* flag is not given </td></tr>
|
||||
<tr><td class="paramname">nullptr</td><td>If memory allocation failed </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a291629a3bfb910463b88d8edb3984149"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a291629a3bfb910463b88d8edb3984149">◆ </a></span>destroy_stream()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">rtp_error_t uvgrtp::session::destroy_stream </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a> * </td>
|
||||
<td class="paramname"><em>stream</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Destroy a media stream. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">stream</td><td>Pointer to the media stream 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 stream is nullptr </td></tr>
|
||||
<tr><td class="paramname">RTP_NOT_FOUND</td><td>If stream does not belong to this session </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>include/<a class="el" href="session_8hh_source.html">session.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.1
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -73,7 +73,7 @@ $(function() {
|
|||
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>  </div>
|
||||
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor">#include <chrono></span></div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>  </div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="keyword">namespace </span>uvg_rtp {</div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="keyword">namespace </span>uvgrtp {</div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>  <span class="keyword">namespace </span>clock {</div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>  </div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>  <span class="comment">/* network time protocol */</span></div>
|
||||
|
@ -113,6 +113,8 @@ $(function() {
|
|||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  };</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span> };</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  </div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> <span class="keyword">namespace </span>uvg_rtp = uvgrtp;</div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
|
|
@ -0,0 +1,78 @@
|
|||
<!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">
|
||||
<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.9.1"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>uvgRTP: docs Directory 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 style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">uvgRTP
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(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">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_49e56c817e5e54854c35e136979f97ca.html">docs</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">docs Directory Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
</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.1
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,78 @@
|
|||
<!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">
|
||||
<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.9.1"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>uvgRTP: docs/html Directory 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 style="height: 56px;">
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">uvgRTP
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "search",false,'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:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(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">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div id="nav-path" class="navpath">
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="dir_49e56c817e5e54854c35e136979f97ca.html">docs</a></li><li class="navelem"><a class="el" href="dir_9cba3ccb450b89ac6f0c2a18abcbadf0.html">html</a></li> </ul>
|
||||
</div>
|
||||
</div><!-- top -->
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">html Directory Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
</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.1
|
||||
</small></address>
|
||||
</body>
|
||||
</html>
|
|
@ -63,37 +63,37 @@ $(function() {
|
|||
<div class="contents">
|
||||
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div><ul>
|
||||
<li>configure_ctx()
|
||||
: <a class="el" href="classuvg__rtp_1_1media__stream.html#a3316a89869b321774ed726157e1f3c89">uvg_rtp::media_stream</a>
|
||||
: <a class="el" href="classuvgrtp_1_1media__stream.html#addf1cde9cb8c4e4af3160ce24c4288a5">uvgrtp::media_stream</a>
|
||||
</li>
|
||||
<li>context()
|
||||
: <a class="el" href="classuvg__rtp_1_1context.html#ae3b8ae9cdbf99e2b3a7bc079ff25b98d">uvg_rtp::context</a>
|
||||
: <a class="el" href="classuvgrtp_1_1context.html#a98be18c2848404549cfadf910ba1573a">uvgrtp::context</a>
|
||||
</li>
|
||||
<li>create_session()
|
||||
: <a class="el" href="classuvg__rtp_1_1context.html#a14fde47e733a97b99bf4a6cd464ce4be">uvg_rtp::context</a>
|
||||
: <a class="el" href="classuvgrtp_1_1context.html#aa109aa2a419933359d225d19bcf3b2f9">uvgrtp::context</a>
|
||||
</li>
|
||||
<li>create_stream()
|
||||
: <a class="el" href="classuvg__rtp_1_1session.html#af083d3908e337ad5f58a2edc317e18d4">uvg_rtp::session</a>
|
||||
: <a class="el" href="classuvgrtp_1_1session.html#a71aad1226214b1b0b1ba60a46c048ab2">uvgrtp::session</a>
|
||||
</li>
|
||||
<li>destroy_session()
|
||||
: <a class="el" href="classuvg__rtp_1_1context.html#a67f96eb554a395d8f225371bfc209f63">uvg_rtp::context</a>
|
||||
: <a class="el" href="classuvgrtp_1_1context.html#a61daf2f3cdcdf2542ee997ab6de5efa9">uvgrtp::context</a>
|
||||
</li>
|
||||
<li>destroy_stream()
|
||||
: <a class="el" href="classuvg__rtp_1_1session.html#a6a4419b42aeba70fb2a63b3cd87d663a">uvg_rtp::session</a>
|
||||
: <a class="el" href="classuvgrtp_1_1session.html#a291629a3bfb910463b88d8edb3984149">uvgrtp::session</a>
|
||||
</li>
|
||||
<li>get_rtcp()
|
||||
: <a class="el" href="classuvg__rtp_1_1media__stream.html#a2d655dce6396710b4212c1213c6f3a70">uvg_rtp::media_stream</a>
|
||||
: <a class="el" href="classuvgrtp_1_1media__stream.html#a1134ff0271ad54bf1e07feed422118c2">uvgrtp::media_stream</a>
|
||||
</li>
|
||||
<li>install_receive_hook()
|
||||
: <a class="el" href="classuvg__rtp_1_1media__stream.html#a219659f2ebdbcefb2d1156e8703214b9">uvg_rtp::media_stream</a>
|
||||
: <a class="el" href="classuvgrtp_1_1media__stream.html#a74a558b23866976e52c5903996544a27">uvgrtp::media_stream</a>
|
||||
</li>
|
||||
<li>pull_frame()
|
||||
: <a class="el" href="classuvg__rtp_1_1media__stream.html#a78d74338ee1b0ce41062e312e23be7ee">uvg_rtp::media_stream</a>
|
||||
: <a class="el" href="classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f">uvgrtp::media_stream</a>
|
||||
</li>
|
||||
<li>push_frame()
|
||||
: <a class="el" href="classuvg__rtp_1_1media__stream.html#ac4c9fd2a2dbe2ae2695063eaa094e5d7">uvg_rtp::media_stream</a>
|
||||
: <a class="el" href="classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18">uvgrtp::media_stream</a>
|
||||
</li>
|
||||
<li>~context()
|
||||
: <a class="el" href="classuvg__rtp_1_1context.html#af1e261107159ccde4bb7539652a467cf">uvg_rtp::context</a>
|
||||
: <a class="el" href="classuvgrtp_1_1context.html#a652a201ae11685961267455ab823eb60">uvgrtp::context</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
|
|
|
@ -63,37 +63,37 @@ $(function() {
|
|||
<div class="contents">
|
||||
 <ul>
|
||||
<li>configure_ctx()
|
||||
: <a class="el" href="classuvg__rtp_1_1media__stream.html#a3316a89869b321774ed726157e1f3c89">uvg_rtp::media_stream</a>
|
||||
: <a class="el" href="classuvgrtp_1_1media__stream.html#addf1cde9cb8c4e4af3160ce24c4288a5">uvgrtp::media_stream</a>
|
||||
</li>
|
||||
<li>context()
|
||||
: <a class="el" href="classuvg__rtp_1_1context.html#ae3b8ae9cdbf99e2b3a7bc079ff25b98d">uvg_rtp::context</a>
|
||||
: <a class="el" href="classuvgrtp_1_1context.html#a98be18c2848404549cfadf910ba1573a">uvgrtp::context</a>
|
||||
</li>
|
||||
<li>create_session()
|
||||
: <a class="el" href="classuvg__rtp_1_1context.html#a14fde47e733a97b99bf4a6cd464ce4be">uvg_rtp::context</a>
|
||||
: <a class="el" href="classuvgrtp_1_1context.html#aa109aa2a419933359d225d19bcf3b2f9">uvgrtp::context</a>
|
||||
</li>
|
||||
<li>create_stream()
|
||||
: <a class="el" href="classuvg__rtp_1_1session.html#af083d3908e337ad5f58a2edc317e18d4">uvg_rtp::session</a>
|
||||
: <a class="el" href="classuvgrtp_1_1session.html#a71aad1226214b1b0b1ba60a46c048ab2">uvgrtp::session</a>
|
||||
</li>
|
||||
<li>destroy_session()
|
||||
: <a class="el" href="classuvg__rtp_1_1context.html#a67f96eb554a395d8f225371bfc209f63">uvg_rtp::context</a>
|
||||
: <a class="el" href="classuvgrtp_1_1context.html#a61daf2f3cdcdf2542ee997ab6de5efa9">uvgrtp::context</a>
|
||||
</li>
|
||||
<li>destroy_stream()
|
||||
: <a class="el" href="classuvg__rtp_1_1session.html#a6a4419b42aeba70fb2a63b3cd87d663a">uvg_rtp::session</a>
|
||||
: <a class="el" href="classuvgrtp_1_1session.html#a291629a3bfb910463b88d8edb3984149">uvgrtp::session</a>
|
||||
</li>
|
||||
<li>get_rtcp()
|
||||
: <a class="el" href="classuvg__rtp_1_1media__stream.html#a2d655dce6396710b4212c1213c6f3a70">uvg_rtp::media_stream</a>
|
||||
: <a class="el" href="classuvgrtp_1_1media__stream.html#a1134ff0271ad54bf1e07feed422118c2">uvgrtp::media_stream</a>
|
||||
</li>
|
||||
<li>install_receive_hook()
|
||||
: <a class="el" href="classuvg__rtp_1_1media__stream.html#a219659f2ebdbcefb2d1156e8703214b9">uvg_rtp::media_stream</a>
|
||||
: <a class="el" href="classuvgrtp_1_1media__stream.html#a74a558b23866976e52c5903996544a27">uvgrtp::media_stream</a>
|
||||
</li>
|
||||
<li>pull_frame()
|
||||
: <a class="el" href="classuvg__rtp_1_1media__stream.html#a78d74338ee1b0ce41062e312e23be7ee">uvg_rtp::media_stream</a>
|
||||
: <a class="el" href="classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f">uvgrtp::media_stream</a>
|
||||
</li>
|
||||
<li>push_frame()
|
||||
: <a class="el" href="classuvg__rtp_1_1media__stream.html#ac4c9fd2a2dbe2ae2695063eaa094e5d7">uvg_rtp::media_stream</a>
|
||||
: <a class="el" href="classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18">uvgrtp::media_stream</a>
|
||||
</li>
|
||||
<li>~context()
|
||||
: <a class="el" href="classuvg__rtp_1_1context.html#af1e261107159ccde4bb7539652a467cf">uvg_rtp::context</a>
|
||||
: <a class="el" href="classuvgrtp_1_1context.html#a652a201ae11685961267455ab823eb60">uvgrtp::context</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div><!-- contents -->
|
||||
|
|
|
@ -82,15 +82,15 @@ $(function() {
|
|||
<li>RCE_FRAGMENT_GENERIC
|
||||
: <a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa5b0a8dbb22c20ebe8c0711541fb68a79">util.hh</a>
|
||||
</li>
|
||||
<li>RCE_H265_NO_INTRA_DELAY
|
||||
: <a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa51cc3b4776d9dfda76789556aa581230">util.hh</a>
|
||||
</li>
|
||||
<li>RCE_H26X_PREPEND_SC
|
||||
: <a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa75a655a9170ae88e07e993c1dd7ca4f7">util.hh</a>
|
||||
</li>
|
||||
<li>RCE_HOLEPUNCH_KEEPALIVE
|
||||
: <a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa8e66f45819774772a0156647d3788a95">util.hh</a>
|
||||
</li>
|
||||
<li>RCE_NO_H26X_INTRA_DELAY
|
||||
: <a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa5e9f19a63c964806ac9ff4ee089745e0">util.hh</a>
|
||||
</li>
|
||||
<li>RCE_NO_SYSTEM_CALL_CLUSTERING
|
||||
: <a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afac03160668b92662fcb8d5b27bca3fbb0">util.hh</a>
|
||||
</li>
|
||||
|
|
|
@ -82,15 +82,15 @@ $(function() {
|
|||
<li>RCE_FRAGMENT_GENERIC
|
||||
: <a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa5b0a8dbb22c20ebe8c0711541fb68a79">util.hh</a>
|
||||
</li>
|
||||
<li>RCE_H265_NO_INTRA_DELAY
|
||||
: <a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa51cc3b4776d9dfda76789556aa581230">util.hh</a>
|
||||
</li>
|
||||
<li>RCE_H26X_PREPEND_SC
|
||||
: <a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa75a655a9170ae88e07e993c1dd7ca4f7">util.hh</a>
|
||||
</li>
|
||||
<li>RCE_HOLEPUNCH_KEEPALIVE
|
||||
: <a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa8e66f45819774772a0156647d3788a95">util.hh</a>
|
||||
</li>
|
||||
<li>RCE_NO_H26X_INTRA_DELAY
|
||||
: <a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa5e9f19a63c964806ac9ff4ee089745e0">util.hh</a>
|
||||
</li>
|
||||
<li>RCE_NO_SYSTEM_CALL_CLUSTERING
|
||||
: <a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afac03160668b92662fcb8d5b27bca3fbb0">util.hh</a>
|
||||
</li>
|
||||
|
|
|
@ -67,11 +67,11 @@ $(function() {
|
|||
<div class="contents">
|
||||
<div class="textblock">This inheritance list is sorted roughly, but not completely, alphabetically:</div><div class="directory">
|
||||
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvg__rtp_1_1context.html" target="_self">uvg_rtp::context</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvg__rtp_1_1media__stream.html" target="_self">uvg_rtp::media_stream</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvgrtp_1_1context.html" target="_self">uvgrtp::context</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvgrtp_1_1media__stream.html" target="_self">uvgrtp::media_stream</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;"> </span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">▼</span><span class="icona"><span class="icon">C</span></span><b>runner</b></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvg__rtp_1_1rtcp.html" target="_self">uvg_rtp::rtcp</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvg__rtp_1_1session.html" target="_self">uvg_rtp::session</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvgrtp_1_1rtcp.html" target="_self">uvgrtp::rtcp</a></td><td class="desc"></td></tr>
|
||||
<tr id="row_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;"> </span><span class="icona"><span class="icon">C</span></span><a class="el" href="classuvgrtp_1_1session.html" target="_self">uvgrtp::session</a></td><td class="desc"></td></tr>
|
||||
</table>
|
||||
</div><!-- directory -->
|
||||
</div><!-- contents -->
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen 1.9.1"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>uvgRTP: Main Page</title>
|
||||
<title>uvgRTP: uvgRTP public API documentation</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>
|
||||
|
@ -60,11 +60,16 @@ $(function() {
|
|||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="PageDoc"><div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">uvgRTP Documentation</div> </div>
|
||||
<div class="title">uvgRTP public API documentation </div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><p><a class="anchor" id="md_docs_html_INDEX"></a> To use uvgRTP, you must first create <a class="el" href="classuvgrtp_1_1context.html">uvgrtp::context</a> object</p>
|
||||
<p>Then you need to allocate a <a class="el" href="classuvgrtp_1_1session.html">uvgrtp::session</a> object from the context object.</p>
|
||||
<p>Finally, you need to allocate a <a class="el" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a> object from the allocated session object.</p>
|
||||
<p>This object is used for both sending and receiving, see documentation for <a class="el" href="classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18">uvgrtp::media_stream::push_frame()</a>, <a class="el" href="classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f" title="Poll a frame indefinetily from the media stream object.">uvgrtp::media_stream::pull_frame()</a> and <a class="el" href="classuvgrtp_1_1media__stream.html#a74a558b23866976e52c5903996544a27">uvgrtp::media_stream::install_receive_hook()</a> for more details. </p>
|
||||
</div></div><!-- PageDoc -->
|
||||
</div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
|
|
@ -74,19 +74,19 @@ $(function() {
|
|||
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="preprocessor">#include <map></span></div>
|
||||
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include "session.hh"</span></div>
|
||||
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>  </div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="keyword">namespace </span>uvg_rtp {</div>
|
||||
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="keyword">namespace </span>uvgrtp {</div>
|
||||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>  </div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="classuvg__rtp_1_1context.html"> 8</a></span>  <span class="keyword">class </span><a class="code" href="classuvg__rtp_1_1context.html">context</a> {</div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="classuvgrtp_1_1context.html"> 8</a></span>  <span class="keyword">class </span><a class="code" href="classuvgrtp_1_1context.html">context</a> {</div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>  <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="classuvg__rtp_1_1context.html#ae3b8ae9cdbf99e2b3a7bc079ff25b98d"> 16</a></span>  <a class="code" href="classuvg__rtp_1_1context.html#ae3b8ae9cdbf99e2b3a7bc079ff25b98d">context</a>();</div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"><a class="line" href="classuvgrtp_1_1context.html#a98be18c2848404549cfadf910ba1573a"> 16</a></span>  <a class="code" href="classuvgrtp_1_1context.html#a98be18c2848404549cfadf910ba1573a">context</a>();</div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  </div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="classuvg__rtp_1_1context.html#af1e261107159ccde4bb7539652a467cf"> 24</a></span>  <a class="code" href="classuvg__rtp_1_1context.html#af1e261107159ccde4bb7539652a467cf">~context</a>();</div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"><a class="line" href="classuvgrtp_1_1context.html#a652a201ae11685961267455ab823eb60"> 24</a></span>  <a class="code" href="classuvgrtp_1_1context.html#a652a201ae11685961267455ab823eb60">~context</a>();</div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  </div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classuvg__rtp_1_1context.html#a14fde47e733a97b99bf4a6cd464ce4be"> 37</a></span>  <a class="code" href="classuvg__rtp_1_1session.html">uvg_rtp::session</a> *<a class="code" href="classuvg__rtp_1_1context.html#a14fde47e733a97b99bf4a6cd464ce4be">create_session</a>(std::string addr);</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="classuvgrtp_1_1context.html#aa109aa2a419933359d225d19bcf3b2f9"> 37</a></span>  <a class="code" href="classuvgrtp_1_1session.html">uvgrtp::session</a> *<a class="code" href="classuvgrtp_1_1context.html#aa109aa2a419933359d225d19bcf3b2f9">create_session</a>(std::string addr);</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  </div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classuvg__rtp_1_1context.html#ac2a8c7654f8b1e94187253bc738ec546"> 56</a></span>  <a class="code" href="classuvg__rtp_1_1session.html">uvg_rtp::session</a> *<a class="code" href="classuvg__rtp_1_1context.html#ac2a8c7654f8b1e94187253bc738ec546">create_session</a>(std::string remote_addr, std::string local_addr);</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="classuvgrtp_1_1context.html#a0007eebfd5131bf0930cfedc0c4018e8"> 56</a></span>  <a class="code" href="classuvgrtp_1_1session.html">uvgrtp::session</a> *<a class="code" href="classuvgrtp_1_1context.html#a0007eebfd5131bf0930cfedc0c4018e8">create_session</a>(std::string remote_addr, std::string local_addr);</div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  </div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classuvg__rtp_1_1context.html#a67f96eb554a395d8f225371bfc209f63"> 68</a></span>  rtp_error_t <a class="code" href="classuvg__rtp_1_1context.html#a67f96eb554a395d8f225371bfc209f63">destroy_session</a>(<a class="code" href="classuvg__rtp_1_1session.html">uvg_rtp::session</a> *<a class="code" href="classuvg__rtp_1_1session.html">session</a>);</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="classuvgrtp_1_1context.html#a61daf2f3cdcdf2542ee997ab6de5efa9"> 68</a></span>  rtp_error_t <a class="code" href="classuvgrtp_1_1context.html#a61daf2f3cdcdf2542ee997ab6de5efa9">destroy_session</a>(<a class="code" href="classuvgrtp_1_1session.html">uvgrtp::session</a> *<a class="code" href="classuvgrtp_1_1session.html">session</a>);</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  </div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  std::string& get_cname();</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  </div>
|
||||
|
@ -98,13 +98,15 @@ $(function() {
|
|||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  std::string cname_;</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  };</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> };</div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1context_html"><div class="ttname"><a href="classuvg__rtp_1_1context.html">uvg_rtp::context</a></div><div class="ttdef"><b>Definition:</b> lib.hh:8</div></div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1context_html_a14fde47e733a97b99bf4a6cd464ce4be"><div class="ttname"><a href="classuvg__rtp_1_1context.html#a14fde47e733a97b99bf4a6cd464ce4be">uvg_rtp::context::create_session</a></div><div class="ttdeci">uvg_rtp::session * create_session(std::string addr)</div><div class="ttdoc">Create a new RTP session.</div></div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1context_html_a67f96eb554a395d8f225371bfc209f63"><div class="ttname"><a href="classuvg__rtp_1_1context.html#a67f96eb554a395d8f225371bfc209f63">uvg_rtp::context::destroy_session</a></div><div class="ttdeci">rtp_error_t destroy_session(uvg_rtp::session *session)</div><div class="ttdoc">Destroy RTP session and all of its media streams.</div></div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1context_html_ac2a8c7654f8b1e94187253bc738ec546"><div class="ttname"><a href="classuvg__rtp_1_1context.html#ac2a8c7654f8b1e94187253bc738ec546">uvg_rtp::context::create_session</a></div><div class="ttdeci">uvg_rtp::session * create_session(std::string remote_addr, std::string local_addr)</div><div class="ttdoc">Create a new RTP session.</div></div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1context_html_ae3b8ae9cdbf99e2b3a7bc079ff25b98d"><div class="ttname"><a href="classuvg__rtp_1_1context.html#ae3b8ae9cdbf99e2b3a7bc079ff25b98d">uvg_rtp::context::context</a></div><div class="ttdeci">context()</div><div class="ttdoc">RTP context constructor.</div></div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1context_html_af1e261107159ccde4bb7539652a467cf"><div class="ttname"><a href="classuvg__rtp_1_1context.html#af1e261107159ccde4bb7539652a467cf">uvg_rtp::context::~context</a></div><div class="ttdeci">~context()</div><div class="ttdoc">RTP context destructor.</div></div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1session_html"><div class="ttname"><a href="classuvg__rtp_1_1session.html">uvg_rtp::session</a></div><div class="ttdef"><b>Definition:</b> session.hh:12</div></div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  </div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> <span class="keyword">namespace </span>uvg_rtp = uvgrtp;</div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1context_html"><div class="ttname"><a href="classuvgrtp_1_1context.html">uvgrtp::context</a></div><div class="ttdef"><b>Definition:</b> lib.hh:8</div></div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1context_html_a0007eebfd5131bf0930cfedc0c4018e8"><div class="ttname"><a href="classuvgrtp_1_1context.html#a0007eebfd5131bf0930cfedc0c4018e8">uvgrtp::context::create_session</a></div><div class="ttdeci">uvgrtp::session * create_session(std::string remote_addr, std::string local_addr)</div><div class="ttdoc">Create a new RTP session.</div></div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1context_html_a61daf2f3cdcdf2542ee997ab6de5efa9"><div class="ttname"><a href="classuvgrtp_1_1context.html#a61daf2f3cdcdf2542ee997ab6de5efa9">uvgrtp::context::destroy_session</a></div><div class="ttdeci">rtp_error_t destroy_session(uvgrtp::session *session)</div><div class="ttdoc">Destroy RTP session and all of its media streams.</div></div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1context_html_a652a201ae11685961267455ab823eb60"><div class="ttname"><a href="classuvgrtp_1_1context.html#a652a201ae11685961267455ab823eb60">uvgrtp::context::~context</a></div><div class="ttdeci">~context()</div><div class="ttdoc">RTP context destructor.</div></div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1context_html_a98be18c2848404549cfadf910ba1573a"><div class="ttname"><a href="classuvgrtp_1_1context.html#a98be18c2848404549cfadf910ba1573a">uvgrtp::context::context</a></div><div class="ttdeci">context()</div><div class="ttdoc">RTP context constructor.</div></div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1context_html_aa109aa2a419933359d225d19bcf3b2f9"><div class="ttname"><a href="classuvgrtp_1_1context.html#aa109aa2a419933359d225d19bcf3b2f9">uvgrtp::context::create_session</a></div><div class="ttdeci">uvgrtp::session * create_session(std::string addr)</div><div class="ttdoc">Create a new RTP session.</div></div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1session_html"><div class="ttname"><a href="classuvgrtp_1_1session.html">uvgrtp::session</a></div><div class="ttdef"><b>Definition:</b> session.hh:12</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
|
|
@ -84,13 +84,13 @@ $(function() {
|
|||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  </div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include "formats/media.hh"</span></div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  </div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="keyword">namespace </span>uvg_rtp {</div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="keyword">namespace </span>uvgrtp {</div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  </div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="classuvg__rtp_1_1media__stream.html"> 18</a></span>  <span class="keyword">class </span><a class="code" href="classuvg__rtp_1_1media__stream.html">media_stream</a> {</div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"><a class="line" href="classuvgrtp_1_1media__stream.html"> 18</a></span>  <span class="keyword">class </span><a class="code" href="classuvgrtp_1_1media__stream.html">media_stream</a> {</div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <a class="code" href="classuvg__rtp_1_1media__stream.html">media_stream</a>(std::string addr, <span class="keywordtype">int</span> src_port, <span class="keywordtype">int</span> dst_port, rtp_format_t fmt, <span class="keywordtype">int</span> flags);</div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  <a class="code" href="classuvg__rtp_1_1media__stream.html">media_stream</a>(std::string remote_addr, std::string local_addr, <span class="keywordtype">int</span> src_port, <span class="keywordtype">int</span> dst_port, rtp_format_t fmt, <span class="keywordtype">int</span> flags);</div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  ~<a class="code" href="classuvg__rtp_1_1media__stream.html">media_stream</a>();</div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <a class="code" href="classuvgrtp_1_1media__stream.html">media_stream</a>(std::string addr, <span class="keywordtype">int</span> src_port, <span class="keywordtype">int</span> dst_port, rtp_format_t fmt, <span class="keywordtype">int</span> flags);</div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  <a class="code" href="classuvgrtp_1_1media__stream.html">media_stream</a>(std::string remote_addr, std::string local_addr, <span class="keywordtype">int</span> src_port, <span class="keywordtype">int</span> dst_port, rtp_format_t fmt, <span class="keywordtype">int</span> flags);</div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  ~<a class="code" href="classuvgrtp_1_1media__stream.html">media_stream</a>();</div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  </div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  <span class="comment">/* Initialize traditional RTP session</span></div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * Allocate Connection/Reader/Writer objects and initialize them</span></div>
|
||||
|
@ -110,7 +110,7 @@ $(function() {
|
|||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="comment"> * TODO document all error codes!</span></div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="comment"> *</span></div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> <span class="comment"> * Other error return codes are defined in {conn,writer,reader,srtp}.hh */</span></div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  rtp_error_t init(uvg_rtp::zrtp *zrtp);</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  rtp_error_t init(uvgrtp::zrtp *zrtp);</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  </div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="comment">/* Add key for user-managed SRTP session</span></div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="comment"> *</span></div>
|
||||
|
@ -127,16 +127,16 @@ $(function() {
|
|||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> <span class="comment"> * Return RTP_NOT_SUPPORTED if user-managed SRTP was not specified in create_stream() */</span></div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  rtp_error_t add_srtp_ctx(uint8_t *key, uint8_t *salt);</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  </div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classuvg__rtp_1_1media__stream.html#ac4c9fd2a2dbe2ae2695063eaa094e5d7"> 84</a></span>  rtp_error_t <a class="code" href="classuvg__rtp_1_1media__stream.html#ac4c9fd2a2dbe2ae2695063eaa094e5d7">push_frame</a>(uint8_t *data, <span class="keywordtype">size_t</span> data_len, <span class="keywordtype">int</span> flags);</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  rtp_error_t <a class="code" href="classuvg__rtp_1_1media__stream.html#ac4c9fd2a2dbe2ae2695063eaa094e5d7">push_frame</a>(uint8_t *data, <span class="keywordtype">size_t</span> data_len, uint32_t ts, <span class="keywordtype">int</span> flags);</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  rtp_error_t <a class="code" href="classuvg__rtp_1_1media__stream.html#ac4c9fd2a2dbe2ae2695063eaa094e5d7">push_frame</a>(std::unique_ptr<uint8_t[]> data, <span class="keywordtype">size_t</span> data_len, <span class="keywordtype">int</span> flags);</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  rtp_error_t <a class="code" href="classuvg__rtp_1_1media__stream.html#ac4c9fd2a2dbe2ae2695063eaa094e5d7">push_frame</a>(std::unique_ptr<uint8_t[]> data, <span class="keywordtype">size_t</span> data_len, uint32_t ts, <span class="keywordtype">int</span> flags);</div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"><a class="line" href="classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18"> 84</a></span>  rtp_error_t <a class="code" href="classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18">push_frame</a>(uint8_t *data, <span class="keywordtype">size_t</span> data_len, <span class="keywordtype">int</span> flags);</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  rtp_error_t <a class="code" href="classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18">push_frame</a>(uint8_t *data, <span class="keywordtype">size_t</span> data_len, uint32_t ts, <span class="keywordtype">int</span> flags);</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  rtp_error_t <a class="code" href="classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18">push_frame</a>(std::unique_ptr<uint8_t[]> data, <span class="keywordtype">size_t</span> data_len, <span class="keywordtype">int</span> flags);</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  rtp_error_t <a class="code" href="classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18">push_frame</a>(std::unique_ptr<uint8_t[]> data, <span class="keywordtype">size_t</span> data_len, uint32_t ts, <span class="keywordtype">int</span> flags);</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  </div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classuvg__rtp_1_1media__stream.html#a78d74338ee1b0ce41062e312e23be7ee"> 103</a></span>  uvg_rtp::frame::rtp_frame *<a class="code" href="classuvg__rtp_1_1media__stream.html#a78d74338ee1b0ce41062e312e23be7ee">pull_frame</a>();</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"><a class="line" href="classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f"> 103</a></span>  uvgrtp::frame::rtp_frame *<a class="code" href="classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f">pull_frame</a>();</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  </div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classuvg__rtp_1_1media__stream.html#ae1abb68fe04b8885457591456a557c8c"> 119</a></span>  uvg_rtp::frame::rtp_frame *<a class="code" href="classuvg__rtp_1_1media__stream.html#ae1abb68fe04b8885457591456a557c8c">pull_frame</a>(<span class="keywordtype">size_t</span> timeout);</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="classuvgrtp_1_1media__stream.html#a441263e19be4383223884fde8838f736"> 119</a></span>  uvgrtp::frame::rtp_frame *<a class="code" href="classuvgrtp_1_1media__stream.html#a441263e19be4383223884fde8838f736">pull_frame</a>(<span class="keywordtype">size_t</span> timeout);</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  </div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="classuvg__rtp_1_1media__stream.html#a219659f2ebdbcefb2d1156e8703214b9"> 130</a></span>  rtp_error_t <a class="code" href="classuvg__rtp_1_1media__stream.html#a219659f2ebdbcefb2d1156e8703214b9">install_receive_hook</a>(<span class="keywordtype">void</span> *arg, <span class="keywordtype">void</span> (*hook)(<span class="keywordtype">void</span> *, uvg_rtp::frame::rtp_frame *));</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"><a class="line" href="classuvgrtp_1_1media__stream.html#a74a558b23866976e52c5903996544a27"> 130</a></span>  rtp_error_t <a class="code" href="classuvgrtp_1_1media__stream.html#a74a558b23866976e52c5903996544a27">install_receive_hook</a>(<span class="keywordtype">void</span> *arg, <span class="keywordtype">void</span> (*hook)(<span class="keywordtype">void</span> *, uvgrtp::frame::rtp_frame *));</div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  </div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="comment">/* If system call dispatcher is enabled and calling application has special requirements</span></div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="comment"> * for the deallocation of a frame, it may install a deallocation hook which is called</span></div>
|
||||
|
@ -161,7 +161,7 @@ $(function() {
|
|||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment"> * Return RTP_INVALID_VALUE if "hook" is nullptr */</span></div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  rtp_error_t install_notify_hook(<span class="keywordtype">void</span> *arg, <span class="keywordtype">void</span> (*hook)(<span class="keywordtype">void</span> *, <span class="keywordtype">int</span>));</div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  </div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classuvg__rtp_1_1media__stream.html#a3316a89869b321774ed726157e1f3c89"> 167</a></span>  rtp_error_t <a class="code" href="classuvg__rtp_1_1media__stream.html#a3316a89869b321774ed726157e1f3c89">configure_ctx</a>(<span class="keywordtype">int</span> flag, ssize_t value);</div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="classuvgrtp_1_1media__stream.html#addf1cde9cb8c4e4af3160ce24c4288a5"> 167</a></span>  rtp_error_t <a class="code" href="classuvgrtp_1_1media__stream.html#addf1cde9cb8c4e4af3160ce24c4288a5">configure_ctx</a>(<span class="keywordtype">int</span> flag, ssize_t value);</div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  </div>
|
||||
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="comment">/* Setter and getter for media-specific config that can be used f.ex with Opus */</span></div>
|
||||
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordtype">void</span> set_media_config(<span class="keywordtype">void</span> *config);</div>
|
||||
|
@ -171,7 +171,7 @@ $(function() {
|
|||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment"> * Used by session to index media streams */</span></div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  uint32_t get_key();</div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  </div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="classuvg__rtp_1_1media__stream.html#a2d655dce6396710b4212c1213c6f3a70"> 191</a></span>  <a class="code" href="classuvg__rtp_1_1rtcp.html">uvg_rtp::rtcp</a> *<a class="code" href="classuvg__rtp_1_1media__stream.html#a2d655dce6396710b4212c1213c6f3a70">get_rtcp</a>();</div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="classuvgrtp_1_1media__stream.html#a1134ff0271ad54bf1e07feed422118c2"> 191</a></span>  <a class="code" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a> *<a class="code" href="classuvgrtp_1_1media__stream.html#a1134ff0271ad54bf1e07feed422118c2">get_rtcp</a>();</div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  </div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keyword">private</span>:</div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="comment">/* Initialize the connection by initializing the socket</span></div>
|
||||
|
@ -181,11 +181,11 @@ $(function() {
|
|||
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  </div>
|
||||
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  uint32_t key_;</div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  </div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  uvg_rtp::srtp *srtp_;</div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  uvg_rtp::srtcp *srtcp_;</div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  uvg_rtp::socket *socket_;</div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  uvg_rtp::rtp *rtp_;</div>
|
||||
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="classuvg__rtp_1_1rtcp.html">uvg_rtp::rtcp</a> *rtcp_;</div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  uvgrtp::srtp *srtp_;</div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  uvgrtp::srtcp *srtcp_;</div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  uvgrtp::socket *socket_;</div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  uvgrtp::rtp *rtp_;</div>
|
||||
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  <a class="code" href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a> *rtcp_;</div>
|
||||
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  </div>
|
||||
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  sockaddr_in addr_out_;</div>
|
||||
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  std::string addr_;</div>
|
||||
|
@ -209,24 +209,26 @@ $(function() {
|
|||
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  uint32_t zrtp_handler_key_;</div>
|
||||
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  </div>
|
||||
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="comment">/* RTP packet dispatcher for the receiver */</span></div>
|
||||
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  uvg_rtp::pkt_dispatcher *pkt_dispatcher_;</div>
|
||||
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  uvgrtp::pkt_dispatcher *pkt_dispatcher_;</div>
|
||||
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  std::thread *dispatcher_thread_;</div>
|
||||
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  </div>
|
||||
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="comment">/* Media object associated with this media stream. */</span></div>
|
||||
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  uvg_rtp::formats::media *media_;</div>
|
||||
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  uvgrtp::formats::media *media_;</div>
|
||||
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  </div>
|
||||
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="comment">/* Thread that keeps the holepunched connection open for unidirectional streams */</span></div>
|
||||
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  uvg_rtp::holepuncher *holepuncher_;</div>
|
||||
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  uvgrtp::holepuncher *holepuncher_;</div>
|
||||
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  };</div>
|
||||
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> };</div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1media__stream_html"><div class="ttname"><a href="classuvg__rtp_1_1media__stream.html">uvg_rtp::media_stream</a></div><div class="ttdef"><b>Definition:</b> media_stream.hh:18</div></div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1media__stream_html_a219659f2ebdbcefb2d1156e8703214b9"><div class="ttname"><a href="classuvg__rtp_1_1media__stream.html#a219659f2ebdbcefb2d1156e8703214b9">uvg_rtp::media_stream::install_receive_hook</a></div><div class="ttdeci">rtp_error_t install_receive_hook(void *arg, void(*hook)(void *, uvg_rtp::frame::rtp_frame *))</div></div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1media__stream_html_a2d655dce6396710b4212c1213c6f3a70"><div class="ttname"><a href="classuvg__rtp_1_1media__stream.html#a2d655dce6396710b4212c1213c6f3a70">uvg_rtp::media_stream::get_rtcp</a></div><div class="ttdeci">uvg_rtp::rtcp * get_rtcp()</div><div class="ttdoc">Get pointer to the RTCP object of the media stream.</div></div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1media__stream_html_a3316a89869b321774ed726157e1f3c89"><div class="ttname"><a href="classuvg__rtp_1_1media__stream.html#a3316a89869b321774ed726157e1f3c89">uvg_rtp::media_stream::configure_ctx</a></div><div class="ttdeci">rtp_error_t configure_ctx(int flag, ssize_t value)</div><div class="ttdoc">Configure the media stream, see RTP_CTX_CONFIGURATION_FLAGS for more details.</div></div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1media__stream_html_a78d74338ee1b0ce41062e312e23be7ee"><div class="ttname"><a href="classuvg__rtp_1_1media__stream.html#a78d74338ee1b0ce41062e312e23be7ee">uvg_rtp::media_stream::pull_frame</a></div><div class="ttdeci">uvg_rtp::frame::rtp_frame * pull_frame()</div><div class="ttdoc">Poll a frame indefinetily from the media stream object.</div></div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1media__stream_html_ac4c9fd2a2dbe2ae2695063eaa094e5d7"><div class="ttname"><a href="classuvg__rtp_1_1media__stream.html#ac4c9fd2a2dbe2ae2695063eaa094e5d7">uvg_rtp::media_stream::push_frame</a></div><div class="ttdeci">rtp_error_t push_frame(uint8_t *data, size_t data_len, int flags)</div></div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1media__stream_html_ae1abb68fe04b8885457591456a557c8c"><div class="ttname"><a href="classuvg__rtp_1_1media__stream.html#ae1abb68fe04b8885457591456a557c8c">uvg_rtp::media_stream::pull_frame</a></div><div class="ttdeci">uvg_rtp::frame::rtp_frame * pull_frame(size_t timeout)</div><div class="ttdoc">Poll a frame for a specified time from the media stream object.</div></div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1rtcp_html"><div class="ttname"><a href="classuvg__rtp_1_1rtcp.html">uvg_rtp::rtcp</a></div><div class="ttdef"><b>Definition:</b> rtcp.hh:74</div></div>
|
||||
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  </div>
|
||||
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="keyword">namespace </span>uvg_rtp = uvgrtp;</div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1media__stream_html"><div class="ttname"><a href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a></div><div class="ttdef"><b>Definition:</b> media_stream.hh:18</div></div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1media__stream_html_a1134ff0271ad54bf1e07feed422118c2"><div class="ttname"><a href="classuvgrtp_1_1media__stream.html#a1134ff0271ad54bf1e07feed422118c2">uvgrtp::media_stream::get_rtcp</a></div><div class="ttdeci">uvgrtp::rtcp * get_rtcp()</div><div class="ttdoc">Get pointer to the RTCP object of the media stream.</div></div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1media__stream_html_a441263e19be4383223884fde8838f736"><div class="ttname"><a href="classuvgrtp_1_1media__stream.html#a441263e19be4383223884fde8838f736">uvgrtp::media_stream::pull_frame</a></div><div class="ttdeci">uvgrtp::frame::rtp_frame * pull_frame(size_t timeout)</div><div class="ttdoc">Poll a frame for a specified time from the media stream object.</div></div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1media__stream_html_a74a558b23866976e52c5903996544a27"><div class="ttname"><a href="classuvgrtp_1_1media__stream.html#a74a558b23866976e52c5903996544a27">uvgrtp::media_stream::install_receive_hook</a></div><div class="ttdeci">rtp_error_t install_receive_hook(void *arg, void(*hook)(void *, uvgrtp::frame::rtp_frame *))</div></div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1media__stream_html_ab2b7507d5b2c76bef74c9bceec07ba18"><div class="ttname"><a href="classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18">uvgrtp::media_stream::push_frame</a></div><div class="ttdeci">rtp_error_t push_frame(uint8_t *data, size_t data_len, int flags)</div></div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1media__stream_html_addf1cde9cb8c4e4af3160ce24c4288a5"><div class="ttname"><a href="classuvgrtp_1_1media__stream.html#addf1cde9cb8c4e4af3160ce24c4288a5">uvgrtp::media_stream::configure_ctx</a></div><div class="ttdeci">rtp_error_t configure_ctx(int flag, ssize_t value)</div><div class="ttdoc">Configure the media stream, see RTP_CTX_CONFIGURATION_FLAGS for more details.</div></div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1media__stream_html_ae2fe9e8d9b67e25f103a78a25417149f"><div class="ttname"><a href="classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f">uvgrtp::media_stream::pull_frame</a></div><div class="ttdeci">uvgrtp::frame::rtp_frame * pull_frame()</div><div class="ttdoc">Poll a frame indefinetily from the media stream object.</div></div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1rtcp_html"><div class="ttname"><a href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a></div><div class="ttdef"><b>Definition:</b> rtcp.hh:74</div></div>
|
||||
<div class="ttc" id="autil_8hh_html"><div class="ttname"><a href="util_8hh.html">util.hh</a></div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
|
|
|
@ -83,7 +83,7 @@ $(function() {
|
|||
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include "srtp/srtcp.hh"</span></div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include "<a class="code" href="util_8hh.html">util.hh</a>"</span></div>
|
||||
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  </div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="keyword">namespace </span>uvg_rtp {</div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="keyword">namespace </span>uvgrtp {</div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  </div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  <span class="keyword">enum</span> RTCP_ROLE {</div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  RECEIVER,</div>
|
||||
|
@ -116,7 +116,7 @@ $(function() {
|
|||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  uint32_t clock_rate; <span class="comment">/* Rate of the clock (used for jitter calculations) */</span></div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  </div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  uint32_t lsr; <span class="comment">/* Middle 32 bits of the 64-bit NTP timestamp of previous SR */</span></div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  uvg_rtp::clock::hrc::hrc_t sr_ts; <span class="comment">/* When the last SR was received (used to calculate delay) */</span></div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  uvgrtp::clock::hrc::hrc_t sr_ts; <span class="comment">/* When the last SR was received (used to calculate delay) */</span></div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  </div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  uint16_t max_seq; <span class="comment">/* Highest sequence number received */</span></div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  uint16_t base_seq; <span class="comment">/* First sequence number received */</span></div>
|
||||
|
@ -125,7 +125,7 @@ $(function() {
|
|||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  };</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  </div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keyword">struct </span>rtcp_participant {</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  uvg_rtp::socket *socket; <span class="comment">/* socket associated with this participant */</span></div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  uvgrtp::socket *socket; <span class="comment">/* socket associated with this participant */</span></div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  sockaddr_in address; <span class="comment">/* address of the participant */</span></div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keyword">struct </span>rtcp_statistics stats; <span class="comment">/* RTCP session statistics of the participant */</span></div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  </div>
|
||||
|
@ -134,17 +134,17 @@ $(function() {
|
|||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  </div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="comment">/* Save the latest RTCP packets received from this participant</span></div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> * Users can query these packets using the SSRC of participant */</span></div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  uvg_rtp::frame::rtcp_sender_report *s_frame;</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  uvg_rtp::frame::rtcp_receiver_report *r_frame;</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  uvg_rtp::frame::rtcp_sdes_packet *sdes_frame;</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  uvg_rtp::frame::rtcp_app_packet *app_frame;</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  uvgrtp::frame::rtcp_sender_report *s_frame;</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  uvgrtp::frame::rtcp_receiver_report *r_frame;</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  uvgrtp::frame::rtcp_sdes_packet *sdes_frame;</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  uvgrtp::frame::rtcp_app_packet *app_frame;</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  };</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  </div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classuvg__rtp_1_1rtcp.html"> 74</a></span>  <span class="keyword">class </span><a class="code" href="classuvg__rtp_1_1rtcp.html">rtcp</a> : <span class="keyword">public</span> runner {</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="classuvgrtp_1_1rtcp.html"> 74</a></span>  <span class="keyword">class </span><a class="code" href="classuvgrtp_1_1rtcp.html">rtcp</a> : <span class="keyword">public</span> runner {</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="classuvg__rtp_1_1rtcp.html">rtcp</a>(uvg_rtp::rtp *rtp, <span class="keywordtype">int</span> flags);</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="classuvg__rtp_1_1rtcp.html">rtcp</a>(uvg_rtp::rtp *rtp, uvg_rtp::srtcp *srtcp, <span class="keywordtype">int</span> flags);</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  ~<a class="code" href="classuvg__rtp_1_1rtcp.html">rtcp</a>();</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <a class="code" href="classuvgrtp_1_1rtcp.html">rtcp</a>(uvgrtp::rtp *rtp, <span class="keywordtype">int</span> flags);</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="classuvgrtp_1_1rtcp.html">rtcp</a>(uvgrtp::rtp *rtp, uvgrtp::srtcp *srtcp, <span class="keywordtype">int</span> flags);</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  ~<a class="code" href="classuvgrtp_1_1rtcp.html">rtcp</a>();</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  </div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="comment">/* start the RTCP runner thread</span></div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="comment"> *</span></div>
|
||||
|
@ -187,7 +187,7 @@ $(function() {
|
|||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"> * Return RTP_OK on success</span></div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="comment"> * Return RTP_INVALID_VALUE if "frame" is in some way invalid</span></div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="comment"> * Return RTP_SEND_ERROR if sending "frame" did not succeed (see socket.hh for details) */</span></div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  rtp_error_t send_sdes_packet(std::vector<uvg_rtp::frame::rtcp_sdes_item>& items);</div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  rtp_error_t send_sdes_packet(std::vector<uvgrtp::frame::rtcp_sdes_item>& items);</div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  rtp_error_t send_app_packet(<span class="keywordtype">char</span> *name, uint8_t subtype, <span class="keywordtype">size_t</span> payload_len, uint8_t *payload);</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  rtp_error_t send_bye_packet(std::vector<uint32_t> ssrcs);</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  </div>
|
||||
|
@ -195,13 +195,13 @@ $(function() {
|
|||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"> * Return nullptr if we haven't received this kind of packet or if "ssrc" doesn't exist</span></div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="comment"> *</span></div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="comment"> * NOTE: Caller is responsible for deallocating the memory */</span></div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  uvg_rtp::frame::rtcp_sender_report *get_sender_packet(uint32_t ssrc);</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  uvg_rtp::frame::rtcp_receiver_report *get_receiver_packet(uint32_t ssrc);</div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  uvg_rtp::frame::rtcp_sdes_packet *get_sdes_packet(uint32_t ssrc);</div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  uvg_rtp::frame::rtcp_app_packet *get_app_packet(uint32_t ssrc);</div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  uvgrtp::frame::rtcp_sender_report *get_sender_packet(uint32_t ssrc);</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  uvgrtp::frame::rtcp_receiver_report *get_receiver_packet(uint32_t ssrc);</div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  uvgrtp::frame::rtcp_sdes_packet *get_sdes_packet(uint32_t ssrc);</div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  uvgrtp::frame::rtcp_app_packet *get_app_packet(uint32_t ssrc);</div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  </div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="comment">/* Return a reference to vector that contains the sockets of all participants */</span></div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  std::vector<uvg_rtp::socket>& get_sockets();</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  std::vector<uvgrtp::socket>& get_sockets();</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  </div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="comment">/* Somebody joined the multicast group the owner of this RTCP instance is part of</span></div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"> * Add it to RTCP participant list so we can start listening for reports</span></div>
|
||||
|
@ -217,7 +217,7 @@ $(function() {
|
|||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordtype">void</span> sender_inc_seq_cycle_count();</div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="keywordtype">void</span> sender_inc_sent_pkts(<span class="keywordtype">size_t</span> n);</div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="keywordtype">void</span> sender_inc_sent_bytes(<span class="keywordtype">size_t</span> n);</div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordtype">void</span> sender_update_stats(uvg_rtp::frame::rtp_frame *frame);</div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="keywordtype">void</span> sender_update_stats(uvgrtp::frame::rtp_frame *frame);</div>
|
||||
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  </div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="keywordtype">void</span> receiver_inc_sent_bytes(uint32_t sender_ssrc, <span class="keywordtype">size_t</span> n);</div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordtype">void</span> receiver_inc_overhead_bytes(uint32_t sender_ssrc, <span class="keywordtype">size_t</span> n);</div>
|
||||
|
@ -229,7 +229,7 @@ $(function() {
|
|||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="comment"> * Return RTP_OK if packet is valid</span></div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="comment"> * Return RTP_INVALID_VALUE if SSRCs of remotes have collided or the packet is invalid in some way</span></div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="comment"> * return RTP_SSRC_COLLISION if our own SSRC has collided and we need to reinitialize it */</span></div>
|
||||
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  rtp_error_t receiver_update_stats(uvg_rtp::frame::rtp_frame *frame);</div>
|
||||
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  rtp_error_t receiver_update_stats(uvgrtp::frame::rtp_frame *frame);</div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  </div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="comment">/* If we've detected that our SSRC has collided with someone else's SSRC, we need to</span></div>
|
||||
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <span class="comment"> * generate new random SSRC and reinitialize our own RTCP state.</span></div>
|
||||
|
@ -241,7 +241,7 @@ $(function() {
|
|||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  rtp_error_t reset_rtcp_state(uint32_t ssrc);</div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  </div>
|
||||
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <span class="comment">/* Update various session statistics */</span></div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordtype">void</span> update_session_statistics(uvg_rtp::frame::rtp_frame *frame);</div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordtype">void</span> update_session_statistics(uvgrtp::frame::rtp_frame *frame);</div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  </div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <span class="comment">/* Return SSRCs of all participants */</span></div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  std::vector<uint32_t> get_participants();</div>
|
||||
|
@ -253,10 +253,10 @@ $(function() {
|
|||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="comment">/* Alternate way to get RTCP packets is to install a hook for them. So instead of</span></div>
|
||||
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="comment"> * polling an RTCP packet, user can install a function that is called when</span></div>
|
||||
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="comment"> * a specific RTCP packet is received. */</span></div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  rtp_error_t install_sender_hook(<span class="keywordtype">void</span> (*hook)(uvg_rtp::frame::rtcp_sender_report *));</div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  rtp_error_t install_receiver_hook(<span class="keywordtype">void</span> (*hook)(uvg_rtp::frame::rtcp_receiver_report *));</div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  rtp_error_t install_sdes_hook(<span class="keywordtype">void</span> (*hook)(uvg_rtp::frame::rtcp_sdes_packet *));</div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  rtp_error_t install_app_hook(<span class="keywordtype">void</span> (*hook)(uvg_rtp::frame::rtcp_app_packet *));</div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  rtp_error_t install_sender_hook(<span class="keywordtype">void</span> (*hook)(uvgrtp::frame::rtcp_sender_report *));</div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  rtp_error_t install_receiver_hook(<span class="keywordtype">void</span> (*hook)(uvgrtp::frame::rtcp_receiver_report *));</div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  rtp_error_t install_sdes_hook(<span class="keywordtype">void</span> (*hook)(uvgrtp::frame::rtcp_sdes_packet *));</div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  rtp_error_t install_app_hook(<span class="keywordtype">void</span> (*hook)(uvgrtp::frame::rtcp_app_packet *));</div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  </div>
|
||||
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  <span class="comment">/* Update RTCP-related sender statistics */</span></div>
|
||||
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  rtp_error_t update_sender_stats(<span class="keywordtype">size_t</span> pkt_size);</div>
|
||||
|
@ -265,10 +265,10 @@ $(function() {
|
|||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keyword">static</span> rtp_error_t recv_packet_handler(<span class="keywordtype">void</span> *arg, <span class="keywordtype">int</span> flags, frame::rtp_frame **out);</div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  </div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="comment">/* Update RTCP-related sender statistics */</span></div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keyword">static</span> rtp_error_t send_packet_handler_vec(<span class="keywordtype">void</span> *arg, uvg_rtp::buf_vec& buffers);</div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="keyword">static</span> rtp_error_t send_packet_handler_vec(<span class="keywordtype">void</span> *arg, uvgrtp::buf_vec& buffers);</div>
|
||||
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  </div>
|
||||
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <span class="keyword">private</span>:</div>
|
||||
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> rtcp_runner(<a class="code" href="classuvg__rtp_1_1rtcp.html">rtcp</a> *<a class="code" href="classuvg__rtp_1_1rtcp.html">rtcp</a>);</div>
|
||||
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> rtcp_runner(<a class="code" href="classuvgrtp_1_1rtcp.html">rtcp</a> *<a class="code" href="classuvgrtp_1_1rtcp.html">rtcp</a>);</div>
|
||||
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  </div>
|
||||
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="comment">/* when we start the RTCP instance, we don't know what the SSRC of the remote is</span></div>
|
||||
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> <span class="comment"> * when an RTP packet is received, we must check if we've already received a packet</span></div>
|
||||
|
@ -288,7 +288,7 @@ $(function() {
|
|||
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  </div>
|
||||
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="comment">/* We've got a message from new source (the SSRC of the frame is not known to us)</span></div>
|
||||
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span> <span class="comment"> * Initialize statistics for the peer and move it to participants_ */</span></div>
|
||||
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  rtp_error_t init_new_participant(uvg_rtp::frame::rtp_frame *frame);</div>
|
||||
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  rtp_error_t init_new_participant(uvgrtp::frame::rtp_frame *frame);</div>
|
||||
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  </div>
|
||||
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="comment">/* Initialize the RTP Sequence related stuff of peer</span></div>
|
||||
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="comment"> * This function assumes that the peer already exists in the participants_ map */</span></div>
|
||||
|
@ -317,14 +317,14 @@ $(function() {
|
|||
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="comment">/* Because struct statistics contains uvgRTP clock object we cannot</span></div>
|
||||
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment"> * zero it out without compiler complaining about it so all the fields</span></div>
|
||||
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment"> * must be set to zero manually */</span></div>
|
||||
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordtype">void</span> zero_stats(uvg_rtp::rtcp_statistics *stats);</div>
|
||||
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordtype">void</span> zero_stats(uvgrtp::rtcp_statistics *stats);</div>
|
||||
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  </div>
|
||||
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="comment">/* Pointer to RTP context from which clock rate etc. info is collected and which is</span></div>
|
||||
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> <span class="comment"> * used to change SSRC if a collision is detected */</span></div>
|
||||
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  uvg_rtp::rtp *rtp_;</div>
|
||||
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  uvgrtp::rtp *rtp_;</div>
|
||||
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  </div>
|
||||
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="comment">/* Secure RTCP context */</span></div>
|
||||
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  uvg_rtp::srtcp *srtcp_;</div>
|
||||
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  uvgrtp::srtcp *srtcp_;</div>
|
||||
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  </div>
|
||||
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="comment">/* RTP context flags */</span></div>
|
||||
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keywordtype">int</span> flags_;</div>
|
||||
|
@ -392,15 +392,17 @@ $(function() {
|
|||
<div class="line"><a name="l00329"></a><span class="lineno"> 329</span> <span class="comment"> *</span></div>
|
||||
<div class="line"><a name="l00330"></a><span class="lineno"> 330</span> <span class="comment"> * The socket are also stored here (in addition to participants_ map) so they're easier</span></div>
|
||||
<div class="line"><a name="l00331"></a><span class="lineno"> 331</span> <span class="comment"> * to pass to poll when RTCP runner is listening to incoming packets */</span></div>
|
||||
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  std::vector<uvg_rtp::socket> sockets_;</div>
|
||||
<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  std::vector<uvgrtp::socket> sockets_;</div>
|
||||
<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  </div>
|
||||
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  void (*sender_hook_)(uvg_rtp::frame::rtcp_sender_report *);</div>
|
||||
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  void (*receiver_hook_)(uvg_rtp::frame::rtcp_receiver_report *);</div>
|
||||
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  void (*sdes_hook_)(uvg_rtp::frame::rtcp_sdes_packet *);</div>
|
||||
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  void (*app_hook_)(uvg_rtp::frame::rtcp_app_packet *);</div>
|
||||
<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  void (*sender_hook_)(uvgrtp::frame::rtcp_sender_report *);</div>
|
||||
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  void (*receiver_hook_)(uvgrtp::frame::rtcp_receiver_report *);</div>
|
||||
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  void (*sdes_hook_)(uvgrtp::frame::rtcp_sdes_packet *);</div>
|
||||
<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  void (*app_hook_)(uvgrtp::frame::rtcp_app_packet *);</div>
|
||||
<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  };</div>
|
||||
<div class="line"><a name="l00339"></a><span class="lineno"> 339</span> };</div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1rtcp_html"><div class="ttname"><a href="classuvg__rtp_1_1rtcp.html">uvg_rtp::rtcp</a></div><div class="ttdef"><b>Definition:</b> rtcp.hh:74</div></div>
|
||||
<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  </div>
|
||||
<div class="line"><a name="l00341"></a><span class="lineno"> 341</span> <span class="keyword">namespace </span>uvg_rtp = uvgrtp;</div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1rtcp_html"><div class="ttname"><a href="classuvgrtp_1_1rtcp.html">uvgrtp::rtcp</a></div><div class="ttdef"><b>Definition:</b> rtcp.hh:74</div></div>
|
||||
<div class="ttc" id="autil_8hh_html"><div class="ttname"><a href="util_8hh.html">util.hh</a></div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
var searchData=
|
||||
[
|
||||
['configure_5fctx_0',['configure_ctx',['../classuvg__rtp_1_1media__stream.html#a3316a89869b321774ed726157e1f3c89',1,'uvg_rtp::media_stream']]],
|
||||
['context_1',['context',['../classuvg__rtp_1_1context.html#ae3b8ae9cdbf99e2b3a7bc079ff25b98d',1,'uvg_rtp::context::context()'],['../classuvg__rtp_1_1context.html',1,'uvg_rtp::context']]],
|
||||
['create_5fsession_2',['create_session',['../classuvg__rtp_1_1context.html#a14fde47e733a97b99bf4a6cd464ce4be',1,'uvg_rtp::context::create_session(std::string addr)'],['../classuvg__rtp_1_1context.html#ac2a8c7654f8b1e94187253bc738ec546',1,'uvg_rtp::context::create_session(std::string remote_addr, std::string local_addr)']]],
|
||||
['create_5fstream_3',['create_stream',['../classuvg__rtp_1_1session.html#af083d3908e337ad5f58a2edc317e18d4',1,'uvg_rtp::session']]]
|
||||
['configure_5fctx_0',['configure_ctx',['../classuvgrtp_1_1media__stream.html#addf1cde9cb8c4e4af3160ce24c4288a5',1,'uvgrtp::media_stream']]],
|
||||
['context_1',['context',['../classuvgrtp_1_1context.html#a98be18c2848404549cfadf910ba1573a',1,'uvgrtp::context::context()'],['../classuvgrtp_1_1context.html',1,'uvgrtp::context']]],
|
||||
['create_5fsession_2',['create_session',['../classuvgrtp_1_1context.html#aa109aa2a419933359d225d19bcf3b2f9',1,'uvgrtp::context::create_session(std::string addr)'],['../classuvgrtp_1_1context.html#a0007eebfd5131bf0930cfedc0c4018e8',1,'uvgrtp::context::create_session(std::string remote_addr, std::string local_addr)']]],
|
||||
['create_5fstream_3',['create_stream',['../classuvgrtp_1_1session.html#a71aad1226214b1b0b1ba60a46c048ab2',1,'uvgrtp::session']]]
|
||||
];
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
var searchData=
|
||||
[
|
||||
['destroy_5fsession_4',['destroy_session',['../classuvg__rtp_1_1context.html#a67f96eb554a395d8f225371bfc209f63',1,'uvg_rtp::context']]],
|
||||
['destroy_5fstream_5',['destroy_stream',['../classuvg__rtp_1_1session.html#a6a4419b42aeba70fb2a63b3cd87d663a',1,'uvg_rtp::session']]]
|
||||
['destroy_5fsession_4',['destroy_session',['../classuvgrtp_1_1context.html#a61daf2f3cdcdf2542ee997ab6de5efa9',1,'uvgrtp::context']]],
|
||||
['destroy_5fstream_5',['destroy_stream',['../classuvgrtp_1_1session.html#a291629a3bfb910463b88d8edb3984149',1,'uvgrtp::session']]]
|
||||
];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var searchData=
|
||||
[
|
||||
['get_5frtcp_6',['get_rtcp',['../classuvg__rtp_1_1media__stream.html#a2d655dce6396710b4212c1213c6f3a70',1,'uvg_rtp::media_stream']]]
|
||||
['get_5frtcp_6',['get_rtcp',['../classuvgrtp_1_1media__stream.html#a1134ff0271ad54bf1e07feed422118c2',1,'uvgrtp::media_stream']]]
|
||||
];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var searchData=
|
||||
[
|
||||
['install_5freceive_5fhook_7',['install_receive_hook',['../classuvg__rtp_1_1media__stream.html#a219659f2ebdbcefb2d1156e8703214b9',1,'uvg_rtp::media_stream']]]
|
||||
['install_5freceive_5fhook_7',['install_receive_hook',['../classuvgrtp_1_1media__stream.html#a74a558b23866976e52c5903996544a27',1,'uvgrtp::media_stream']]]
|
||||
];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var searchData=
|
||||
[
|
||||
['media_5fstream_8',['media_stream',['../classuvg__rtp_1_1media__stream.html',1,'uvg_rtp']]]
|
||||
['media_5fstream_8',['media_stream',['../classuvgrtp_1_1media__stream.html',1,'uvgrtp']]]
|
||||
];
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
var searchData=
|
||||
[
|
||||
['pull_5fframe_9',['pull_frame',['../classuvg__rtp_1_1media__stream.html#a78d74338ee1b0ce41062e312e23be7ee',1,'uvg_rtp::media_stream::pull_frame()'],['../classuvg__rtp_1_1media__stream.html#ae1abb68fe04b8885457591456a557c8c',1,'uvg_rtp::media_stream::pull_frame(size_t timeout)']]],
|
||||
['push_5fframe_10',['push_frame',['../classuvg__rtp_1_1media__stream.html#ac4c9fd2a2dbe2ae2695063eaa094e5d7',1,'uvg_rtp::media_stream']]]
|
||||
['pull_5fframe_9',['pull_frame',['../classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f',1,'uvgrtp::media_stream::pull_frame()'],['../classuvgrtp_1_1media__stream.html#a441263e19be4383223884fde8838f736',1,'uvgrtp::media_stream::pull_frame(size_t timeout)']]],
|
||||
['push_5fframe_10',['push_frame',['../classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18',1,'uvgrtp::media_stream']]]
|
||||
];
|
||||
|
|
|
@ -6,9 +6,9 @@ var searchData=
|
|||
['rcc_5fudp_5frcv_5fbuf_5fsize_14',['RCC_UDP_RCV_BUF_SIZE',['../util_8hh.html#aa98d9238629e33567e73af0d239e587fac52afca9d1a8c24b1a788bc5b8524663',1,'util.hh']]],
|
||||
['rcc_5fudp_5fsnd_5fbuf_5fsize_15',['RCC_UDP_SND_BUF_SIZE',['../util_8hh.html#aa98d9238629e33567e73af0d239e587fad4eba6c62183db35dd4bd0e09ddd107b',1,'util.hh']]],
|
||||
['rce_5ffragment_5fgeneric_16',['RCE_FRAGMENT_GENERIC',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa5b0a8dbb22c20ebe8c0711541fb68a79',1,'util.hh']]],
|
||||
['rce_5fh265_5fno_5fintra_5fdelay_17',['RCE_H265_NO_INTRA_DELAY',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa51cc3b4776d9dfda76789556aa581230',1,'util.hh']]],
|
||||
['rce_5fh26x_5fprepend_5fsc_18',['RCE_H26X_PREPEND_SC',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa75a655a9170ae88e07e993c1dd7ca4f7',1,'util.hh']]],
|
||||
['rce_5fholepunch_5fkeepalive_19',['RCE_HOLEPUNCH_KEEPALIVE',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa8e66f45819774772a0156647d3788a95',1,'util.hh']]],
|
||||
['rce_5fh26x_5fprepend_5fsc_17',['RCE_H26X_PREPEND_SC',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa75a655a9170ae88e07e993c1dd7ca4f7',1,'util.hh']]],
|
||||
['rce_5fholepunch_5fkeepalive_18',['RCE_HOLEPUNCH_KEEPALIVE',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa8e66f45819774772a0156647d3788a95',1,'util.hh']]],
|
||||
['rce_5fno_5fh26x_5fintra_5fdelay_19',['RCE_NO_H26X_INTRA_DELAY',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa5e9f19a63c964806ac9ff4ee089745e0',1,'util.hh']]],
|
||||
['rce_5fno_5fsystem_5fcall_5fclustering_20',['RCE_NO_SYSTEM_CALL_CLUSTERING',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afac03160668b92662fcb8d5b27bca3fbb0',1,'util.hh']]],
|
||||
['rce_5frtcp_21',['RCE_RTCP',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afab1342138e5af3f03d6eaf1378382bf3d',1,'util.hh']]],
|
||||
['rce_5fsrtp_22',['RCE_SRTP',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afaf235cba606675b9c38284ee1a491696b',1,'util.hh']]],
|
||||
|
@ -18,7 +18,7 @@ var searchData=
|
|||
['rce_5fsrtp_5fkmngmnt_5fzrtp_26',['RCE_SRTP_KMNGMNT_ZRTP',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa40a3deab3893524daf7e057c6dfdaa75',1,'util.hh']]],
|
||||
['rce_5fsrtp_5fnull_5fcipher_27',['RCE_SRTP_NULL_CIPHER',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa4ddec7d182cec161d6b582589bc9baba',1,'util.hh']]],
|
||||
['rce_5fsrtp_5freplay_5fprotection_28',['RCE_SRTP_REPLAY_PROTECTION',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afaddd5fdb170d7cc194e4165d3f9e9a1c1',1,'util.hh']]],
|
||||
['rtcp_29',['rtcp',['../classuvg__rtp_1_1rtcp.html',1,'uvg_rtp']]],
|
||||
['rtcp_29',['rtcp',['../classuvgrtp_1_1rtcp.html',1,'uvgrtp']]],
|
||||
['rtp_5fauth_5ftag_5fmismatch_30',['RTP_AUTH_TAG_MISMATCH',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba6d62ec0a7250a3db7c0f3a13280ecc65',1,'util.hh']]],
|
||||
['rtp_5fbind_5ferror_31',['RTP_BIND_ERROR',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba000c0166a0c38686389fc2eba0ddc458',1,'util.hh']]],
|
||||
['rtp_5fcopy_32',['RTP_COPY',['../util_8hh.html#af03a75996471fc531742cd640c7caf2dab1d5797a23c37a33168046a2ae6aef6a',1,'util.hh']]],
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var searchData=
|
||||
[
|
||||
['session_58',['session',['../classuvg__rtp_1_1session.html',1,'uvg_rtp']]]
|
||||
['session_58',['session',['../classuvgrtp_1_1session.html',1,'uvgrtp']]]
|
||||
];
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
var searchData=
|
||||
[
|
||||
['util_2ehh_59',['util.hh',['../util_8hh.html',1,'']]]
|
||||
['util_2ehh_59',['util.hh',['../util_8hh.html',1,'']]],
|
||||
['uvgrtp_20public_20api_20documentation_60',['uvgRTP public API documentation',['../index.html',1,'']]]
|
||||
];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var searchData=
|
||||
[
|
||||
['_7econtext_60',['~context',['../classuvg__rtp_1_1context.html#af1e261107159ccde4bb7539652a467cf',1,'uvg_rtp::context']]]
|
||||
['_7econtext_61',['~context',['../classuvgrtp_1_1context.html#a652a201ae11685961267455ab823eb60',1,'uvgrtp::context']]]
|
||||
];
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
<!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">
|
||||
<head><title></title>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta name="generator" content="Doxygen 1.9.1"/>
|
||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
||||
<script type="text/javascript" src="all_a.js"></script>
|
||||
<script type="text/javascript" src="search.js"></script>
|
||||
</head>
|
||||
<body class="SRPage">
|
||||
<div id="SRIndex">
|
||||
<div class="SRStatus" id="Loading">Loading...</div>
|
||||
<div id="SRResults"></div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
createResults();
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div class="SRStatus" id="Searching">Searching...</div>
|
||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults");
|
||||
searchResults.Search();
|
||||
window.addEventListener("message", function(event) {
|
||||
if (event.data == "take_focus") {
|
||||
var elem = searchResults.NavNext(0);
|
||||
if (elem) elem.focus();
|
||||
}
|
||||
});
|
||||
/* @license-end */
|
||||
</script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,4 @@
|
|||
var searchData=
|
||||
[
|
||||
['_7econtext_61',['~context',['../classuvgrtp_1_1context.html#a652a201ae11685961267455ab823eb60',1,'uvgrtp::context']]]
|
||||
];
|
|
@ -1,4 +1,4 @@
|
|||
var searchData=
|
||||
[
|
||||
['context_61',['context',['../classuvg__rtp_1_1context.html',1,'uvg_rtp']]]
|
||||
['context_62',['context',['../classuvgrtp_1_1context.html',1,'uvgrtp']]]
|
||||
];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var searchData=
|
||||
[
|
||||
['media_5fstream_62',['media_stream',['../classuvg__rtp_1_1media__stream.html',1,'uvg_rtp']]]
|
||||
['media_5fstream_63',['media_stream',['../classuvgrtp_1_1media__stream.html',1,'uvgrtp']]]
|
||||
];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var searchData=
|
||||
[
|
||||
['rtcp_63',['rtcp',['../classuvg__rtp_1_1rtcp.html',1,'uvg_rtp']]]
|
||||
['rtcp_64',['rtcp',['../classuvgrtp_1_1rtcp.html',1,'uvgrtp']]]
|
||||
];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var searchData=
|
||||
[
|
||||
['session_64',['session',['../classuvg__rtp_1_1session.html',1,'uvg_rtp']]]
|
||||
['session_65',['session',['../classuvgrtp_1_1session.html',1,'uvgrtp']]]
|
||||
];
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
var searchData=
|
||||
[
|
||||
['rtp_5fctx_5fconfiguration_5fflags_77',['RTP_CTX_CONFIGURATION_FLAGS',['../util_8hh.html#aa98d9238629e33567e73af0d239e587f',1,'util.hh']]],
|
||||
['rtp_5fctx_5fenable_5fflags_78',['RTP_CTX_ENABLE_FLAGS',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2af',1,'util.hh']]],
|
||||
['rtp_5ferror_79',['RTP_ERROR',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387b',1,'util.hh']]],
|
||||
['rtp_5fflags_80',['RTP_FLAGS',['../util_8hh.html#af03a75996471fc531742cd640c7caf2d',1,'util.hh']]],
|
||||
['rtp_5fformat_81',['RTP_FORMAT',['../util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96',1,'util.hh']]]
|
||||
['rtp_5fctx_5fconfiguration_5fflags_78',['RTP_CTX_CONFIGURATION_FLAGS',['../util_8hh.html#aa98d9238629e33567e73af0d239e587f',1,'util.hh']]],
|
||||
['rtp_5fctx_5fenable_5fflags_79',['RTP_CTX_ENABLE_FLAGS',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2af',1,'util.hh']]],
|
||||
['rtp_5ferror_80',['RTP_ERROR',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387b',1,'util.hh']]],
|
||||
['rtp_5fflags_81',['RTP_FLAGS',['../util_8hh.html#af03a75996471fc531742cd640c7caf2d',1,'util.hh']]],
|
||||
['rtp_5fformat_82',['RTP_FORMAT',['../util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96',1,'util.hh']]]
|
||||
];
|
||||
|
|
|
@ -1,44 +1,44 @@
|
|||
var searchData=
|
||||
[
|
||||
['rcc_5fdyn_5fpayload_5ftype_82',['RCC_DYN_PAYLOAD_TYPE',['../util_8hh.html#aa98d9238629e33567e73af0d239e587fac758a522806ada30386b262660f30617',1,'util.hh']]],
|
||||
['rcc_5fmtu_5fsize_83',['RCC_MTU_SIZE',['../util_8hh.html#aa98d9238629e33567e73af0d239e587fa7667fb72b42a2c11991b4879619f9f83',1,'util.hh']]],
|
||||
['rcc_5fpkt_5fmax_5fdelay_84',['RCC_PKT_MAX_DELAY',['../util_8hh.html#aa98d9238629e33567e73af0d239e587fa5ac1245e18a420489083adddfa97b135',1,'util.hh']]],
|
||||
['rcc_5fudp_5frcv_5fbuf_5fsize_85',['RCC_UDP_RCV_BUF_SIZE',['../util_8hh.html#aa98d9238629e33567e73af0d239e587fac52afca9d1a8c24b1a788bc5b8524663',1,'util.hh']]],
|
||||
['rcc_5fudp_5fsnd_5fbuf_5fsize_86',['RCC_UDP_SND_BUF_SIZE',['../util_8hh.html#aa98d9238629e33567e73af0d239e587fad4eba6c62183db35dd4bd0e09ddd107b',1,'util.hh']]],
|
||||
['rce_5ffragment_5fgeneric_87',['RCE_FRAGMENT_GENERIC',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa5b0a8dbb22c20ebe8c0711541fb68a79',1,'util.hh']]],
|
||||
['rce_5fh265_5fno_5fintra_5fdelay_88',['RCE_H265_NO_INTRA_DELAY',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa51cc3b4776d9dfda76789556aa581230',1,'util.hh']]],
|
||||
['rcc_5fdyn_5fpayload_5ftype_83',['RCC_DYN_PAYLOAD_TYPE',['../util_8hh.html#aa98d9238629e33567e73af0d239e587fac758a522806ada30386b262660f30617',1,'util.hh']]],
|
||||
['rcc_5fmtu_5fsize_84',['RCC_MTU_SIZE',['../util_8hh.html#aa98d9238629e33567e73af0d239e587fa7667fb72b42a2c11991b4879619f9f83',1,'util.hh']]],
|
||||
['rcc_5fpkt_5fmax_5fdelay_85',['RCC_PKT_MAX_DELAY',['../util_8hh.html#aa98d9238629e33567e73af0d239e587fa5ac1245e18a420489083adddfa97b135',1,'util.hh']]],
|
||||
['rcc_5fudp_5frcv_5fbuf_5fsize_86',['RCC_UDP_RCV_BUF_SIZE',['../util_8hh.html#aa98d9238629e33567e73af0d239e587fac52afca9d1a8c24b1a788bc5b8524663',1,'util.hh']]],
|
||||
['rcc_5fudp_5fsnd_5fbuf_5fsize_87',['RCC_UDP_SND_BUF_SIZE',['../util_8hh.html#aa98d9238629e33567e73af0d239e587fad4eba6c62183db35dd4bd0e09ddd107b',1,'util.hh']]],
|
||||
['rce_5ffragment_5fgeneric_88',['RCE_FRAGMENT_GENERIC',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa5b0a8dbb22c20ebe8c0711541fb68a79',1,'util.hh']]],
|
||||
['rce_5fh26x_5fprepend_5fsc_89',['RCE_H26X_PREPEND_SC',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa75a655a9170ae88e07e993c1dd7ca4f7',1,'util.hh']]],
|
||||
['rce_5fholepunch_5fkeepalive_90',['RCE_HOLEPUNCH_KEEPALIVE',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa8e66f45819774772a0156647d3788a95',1,'util.hh']]],
|
||||
['rce_5fno_5fsystem_5fcall_5fclustering_91',['RCE_NO_SYSTEM_CALL_CLUSTERING',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afac03160668b92662fcb8d5b27bca3fbb0',1,'util.hh']]],
|
||||
['rce_5frtcp_92',['RCE_RTCP',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afab1342138e5af3f03d6eaf1378382bf3d',1,'util.hh']]],
|
||||
['rce_5fsrtp_93',['RCE_SRTP',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afaf235cba606675b9c38284ee1a491696b',1,'util.hh']]],
|
||||
['rce_5fsrtp_5fauthenticate_5frtp_94',['RCE_SRTP_AUTHENTICATE_RTP',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa820625b96886d955bc42e0cbc52cdd1e',1,'util.hh']]],
|
||||
['rce_5fsrtp_5finplace_5fencryption_95',['RCE_SRTP_INPLACE_ENCRYPTION',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa38c61eb2382a39b82fdacb7ae832bdd8',1,'util.hh']]],
|
||||
['rce_5fsrtp_5fkmngmnt_5fuser_96',['RCE_SRTP_KMNGMNT_USER',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa4722105b4fd34467a56b8aca8fc03773',1,'util.hh']]],
|
||||
['rce_5fsrtp_5fkmngmnt_5fzrtp_97',['RCE_SRTP_KMNGMNT_ZRTP',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa40a3deab3893524daf7e057c6dfdaa75',1,'util.hh']]],
|
||||
['rce_5fsrtp_5fnull_5fcipher_98',['RCE_SRTP_NULL_CIPHER',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa4ddec7d182cec161d6b582589bc9baba',1,'util.hh']]],
|
||||
['rce_5fsrtp_5freplay_5fprotection_99',['RCE_SRTP_REPLAY_PROTECTION',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afaddd5fdb170d7cc194e4165d3f9e9a1c1',1,'util.hh']]],
|
||||
['rtp_5fauth_5ftag_5fmismatch_100',['RTP_AUTH_TAG_MISMATCH',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba6d62ec0a7250a3db7c0f3a13280ecc65',1,'util.hh']]],
|
||||
['rtp_5fbind_5ferror_101',['RTP_BIND_ERROR',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba000c0166a0c38686389fc2eba0ddc458',1,'util.hh']]],
|
||||
['rtp_5fcopy_102',['RTP_COPY',['../util_8hh.html#af03a75996471fc531742cd640c7caf2dab1d5797a23c37a33168046a2ae6aef6a',1,'util.hh']]],
|
||||
['rtp_5fformat_5fgeneric_103',['RTP_FORMAT_GENERIC',['../util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96ad4b1be929d880baa2c2ca85c614f61b9',1,'util.hh']]],
|
||||
['rtp_5fformat_5fh264_104',['RTP_FORMAT_H264',['../util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96ad785025a8de9a53f17dc84ec3eed85bd',1,'util.hh']]],
|
||||
['rtp_5fformat_5fh265_105',['RTP_FORMAT_H265',['../util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96a4ee0ab7d51bf50f8f5a5cb995ecc407b',1,'util.hh']]],
|
||||
['rtp_5fformat_5fh266_106',['RTP_FORMAT_H266',['../util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96a0e3d0414b29804783324399c8a42c85d',1,'util.hh']]],
|
||||
['rtp_5fformat_5fopus_107',['RTP_FORMAT_OPUS',['../util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96a4e6ef095b4645cdc8aef241aad1f974b',1,'util.hh']]],
|
||||
['rtp_5fgeneric_5ferror_108',['RTP_GENERIC_ERROR',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387bafde486de26be732acf472480e3693b19',1,'util.hh']]],
|
||||
['rtp_5finitialized_109',['RTP_INITIALIZED',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba0759e9bb74c7a15ef09513547ed5cc2a',1,'util.hh']]],
|
||||
['rtp_5finvalid_5fvalue_110',['RTP_INVALID_VALUE',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba4cdd3c5db294a4f05294b264afbf678b',1,'util.hh']]],
|
||||
['rtp_5fmemory_5ferror_111',['RTP_MEMORY_ERROR',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387bac54e582250aec15bf2aea189ccbb0348',1,'util.hh']]],
|
||||
['rtp_5fno_5fflags_112',['RTP_NO_FLAGS',['../util_8hh.html#af03a75996471fc531742cd640c7caf2da084c095dae54bbbc6d9509568c58f9a6',1,'util.hh']]],
|
||||
['rtp_5fnot_5ffound_113',['RTP_NOT_FOUND',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba0a18f9856d2dd5890bb6ec25e4acf631',1,'util.hh']]],
|
||||
['rtp_5fnot_5finitialized_114',['RTP_NOT_INITIALIZED',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba32d67254c4da35568e7007ec3825f98a',1,'util.hh']]],
|
||||
['rtp_5fnot_5fsupported_115',['RTP_NOT_SUPPORTED',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba756d5cd372b045f069a493ed2f2cfa22',1,'util.hh']]],
|
||||
['rtp_5fok_116',['RTP_OK',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba0d701531b2bb1c027f5e5bcc64ed29e1',1,'util.hh']]],
|
||||
['rtp_5frecv_5ferror_117',['RTP_RECV_ERROR',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387baa499befa487c22503360adffc590f33b',1,'util.hh']]],
|
||||
['rtp_5fsend_5ferror_118',['RTP_SEND_ERROR',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba6c47e86944dbed4d33531236a6e28079',1,'util.hh']]],
|
||||
['rtp_5fslice_119',['RTP_SLICE',['../util_8hh.html#af03a75996471fc531742cd640c7caf2dada7e8bc5f5542554ad7de9d74967616f',1,'util.hh']]],
|
||||
['rtp_5fsocket_5ferror_120',['RTP_SOCKET_ERROR',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387bab392a7774c551eed903855248760ad06',1,'util.hh']]],
|
||||
['rtp_5fssrc_5fcollision_121',['RTP_SSRC_COLLISION',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba80aa5b74c1e252c2ef49e0796d4183d3',1,'util.hh']]],
|
||||
['rtp_5ftimeout_122',['RTP_TIMEOUT',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387bacb40716d1ab0663c0cce56f6d03f0902',1,'util.hh']]]
|
||||
['rce_5fno_5fh26x_5fintra_5fdelay_91',['RCE_NO_H26X_INTRA_DELAY',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa5e9f19a63c964806ac9ff4ee089745e0',1,'util.hh']]],
|
||||
['rce_5fno_5fsystem_5fcall_5fclustering_92',['RCE_NO_SYSTEM_CALL_CLUSTERING',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afac03160668b92662fcb8d5b27bca3fbb0',1,'util.hh']]],
|
||||
['rce_5frtcp_93',['RCE_RTCP',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afab1342138e5af3f03d6eaf1378382bf3d',1,'util.hh']]],
|
||||
['rce_5fsrtp_94',['RCE_SRTP',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afaf235cba606675b9c38284ee1a491696b',1,'util.hh']]],
|
||||
['rce_5fsrtp_5fauthenticate_5frtp_95',['RCE_SRTP_AUTHENTICATE_RTP',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa820625b96886d955bc42e0cbc52cdd1e',1,'util.hh']]],
|
||||
['rce_5fsrtp_5finplace_5fencryption_96',['RCE_SRTP_INPLACE_ENCRYPTION',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa38c61eb2382a39b82fdacb7ae832bdd8',1,'util.hh']]],
|
||||
['rce_5fsrtp_5fkmngmnt_5fuser_97',['RCE_SRTP_KMNGMNT_USER',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa4722105b4fd34467a56b8aca8fc03773',1,'util.hh']]],
|
||||
['rce_5fsrtp_5fkmngmnt_5fzrtp_98',['RCE_SRTP_KMNGMNT_ZRTP',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa40a3deab3893524daf7e057c6dfdaa75',1,'util.hh']]],
|
||||
['rce_5fsrtp_5fnull_5fcipher_99',['RCE_SRTP_NULL_CIPHER',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa4ddec7d182cec161d6b582589bc9baba',1,'util.hh']]],
|
||||
['rce_5fsrtp_5freplay_5fprotection_100',['RCE_SRTP_REPLAY_PROTECTION',['../util_8hh.html#a15b2d6364db6065a482c99827f4bd2afaddd5fdb170d7cc194e4165d3f9e9a1c1',1,'util.hh']]],
|
||||
['rtp_5fauth_5ftag_5fmismatch_101',['RTP_AUTH_TAG_MISMATCH',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba6d62ec0a7250a3db7c0f3a13280ecc65',1,'util.hh']]],
|
||||
['rtp_5fbind_5ferror_102',['RTP_BIND_ERROR',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba000c0166a0c38686389fc2eba0ddc458',1,'util.hh']]],
|
||||
['rtp_5fcopy_103',['RTP_COPY',['../util_8hh.html#af03a75996471fc531742cd640c7caf2dab1d5797a23c37a33168046a2ae6aef6a',1,'util.hh']]],
|
||||
['rtp_5fformat_5fgeneric_104',['RTP_FORMAT_GENERIC',['../util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96ad4b1be929d880baa2c2ca85c614f61b9',1,'util.hh']]],
|
||||
['rtp_5fformat_5fh264_105',['RTP_FORMAT_H264',['../util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96ad785025a8de9a53f17dc84ec3eed85bd',1,'util.hh']]],
|
||||
['rtp_5fformat_5fh265_106',['RTP_FORMAT_H265',['../util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96a4ee0ab7d51bf50f8f5a5cb995ecc407b',1,'util.hh']]],
|
||||
['rtp_5fformat_5fh266_107',['RTP_FORMAT_H266',['../util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96a0e3d0414b29804783324399c8a42c85d',1,'util.hh']]],
|
||||
['rtp_5fformat_5fopus_108',['RTP_FORMAT_OPUS',['../util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96a4e6ef095b4645cdc8aef241aad1f974b',1,'util.hh']]],
|
||||
['rtp_5fgeneric_5ferror_109',['RTP_GENERIC_ERROR',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387bafde486de26be732acf472480e3693b19',1,'util.hh']]],
|
||||
['rtp_5finitialized_110',['RTP_INITIALIZED',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba0759e9bb74c7a15ef09513547ed5cc2a',1,'util.hh']]],
|
||||
['rtp_5finvalid_5fvalue_111',['RTP_INVALID_VALUE',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba4cdd3c5db294a4f05294b264afbf678b',1,'util.hh']]],
|
||||
['rtp_5fmemory_5ferror_112',['RTP_MEMORY_ERROR',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387bac54e582250aec15bf2aea189ccbb0348',1,'util.hh']]],
|
||||
['rtp_5fno_5fflags_113',['RTP_NO_FLAGS',['../util_8hh.html#af03a75996471fc531742cd640c7caf2da084c095dae54bbbc6d9509568c58f9a6',1,'util.hh']]],
|
||||
['rtp_5fnot_5ffound_114',['RTP_NOT_FOUND',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba0a18f9856d2dd5890bb6ec25e4acf631',1,'util.hh']]],
|
||||
['rtp_5fnot_5finitialized_115',['RTP_NOT_INITIALIZED',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba32d67254c4da35568e7007ec3825f98a',1,'util.hh']]],
|
||||
['rtp_5fnot_5fsupported_116',['RTP_NOT_SUPPORTED',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba756d5cd372b045f069a493ed2f2cfa22',1,'util.hh']]],
|
||||
['rtp_5fok_117',['RTP_OK',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba0d701531b2bb1c027f5e5bcc64ed29e1',1,'util.hh']]],
|
||||
['rtp_5frecv_5ferror_118',['RTP_RECV_ERROR',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387baa499befa487c22503360adffc590f33b',1,'util.hh']]],
|
||||
['rtp_5fsend_5ferror_119',['RTP_SEND_ERROR',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba6c47e86944dbed4d33531236a6e28079',1,'util.hh']]],
|
||||
['rtp_5fslice_120',['RTP_SLICE',['../util_8hh.html#af03a75996471fc531742cd640c7caf2dada7e8bc5f5542554ad7de9d74967616f',1,'util.hh']]],
|
||||
['rtp_5fsocket_5ferror_121',['RTP_SOCKET_ERROR',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387bab392a7774c551eed903855248760ad06',1,'util.hh']]],
|
||||
['rtp_5fssrc_5fcollision_122',['RTP_SSRC_COLLISION',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387ba80aa5b74c1e252c2ef49e0796d4183d3',1,'util.hh']]],
|
||||
['rtp_5ftimeout_123',['RTP_TIMEOUT',['../util_8hh.html#aa6dc3f3578923d1afc40045e4cbe387bacb40716d1ab0663c0cce56f6d03f0902',1,'util.hh']]]
|
||||
];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var searchData=
|
||||
[
|
||||
['util_2ehh_65',['util.hh',['../util_8hh.html',1,'']]]
|
||||
['util_2ehh_66',['util.hh',['../util_8hh.html',1,'']]]
|
||||
];
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
var searchData=
|
||||
[
|
||||
['configure_5fctx_66',['configure_ctx',['../classuvg__rtp_1_1media__stream.html#a3316a89869b321774ed726157e1f3c89',1,'uvg_rtp::media_stream']]],
|
||||
['context_67',['context',['../classuvg__rtp_1_1context.html#ae3b8ae9cdbf99e2b3a7bc079ff25b98d',1,'uvg_rtp::context']]],
|
||||
['create_5fsession_68',['create_session',['../classuvg__rtp_1_1context.html#a14fde47e733a97b99bf4a6cd464ce4be',1,'uvg_rtp::context::create_session(std::string addr)'],['../classuvg__rtp_1_1context.html#ac2a8c7654f8b1e94187253bc738ec546',1,'uvg_rtp::context::create_session(std::string remote_addr, std::string local_addr)']]],
|
||||
['create_5fstream_69',['create_stream',['../classuvg__rtp_1_1session.html#af083d3908e337ad5f58a2edc317e18d4',1,'uvg_rtp::session']]]
|
||||
['configure_5fctx_67',['configure_ctx',['../classuvgrtp_1_1media__stream.html#addf1cde9cb8c4e4af3160ce24c4288a5',1,'uvgrtp::media_stream']]],
|
||||
['context_68',['context',['../classuvgrtp_1_1context.html#a98be18c2848404549cfadf910ba1573a',1,'uvgrtp::context']]],
|
||||
['create_5fsession_69',['create_session',['../classuvgrtp_1_1context.html#aa109aa2a419933359d225d19bcf3b2f9',1,'uvgrtp::context::create_session(std::string addr)'],['../classuvgrtp_1_1context.html#a0007eebfd5131bf0930cfedc0c4018e8',1,'uvgrtp::context::create_session(std::string remote_addr, std::string local_addr)']]],
|
||||
['create_5fstream_70',['create_stream',['../classuvgrtp_1_1session.html#a71aad1226214b1b0b1ba60a46c048ab2',1,'uvgrtp::session']]]
|
||||
];
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
var searchData=
|
||||
[
|
||||
['destroy_5fsession_70',['destroy_session',['../classuvg__rtp_1_1context.html#a67f96eb554a395d8f225371bfc209f63',1,'uvg_rtp::context']]],
|
||||
['destroy_5fstream_71',['destroy_stream',['../classuvg__rtp_1_1session.html#a6a4419b42aeba70fb2a63b3cd87d663a',1,'uvg_rtp::session']]]
|
||||
['destroy_5fsession_71',['destroy_session',['../classuvgrtp_1_1context.html#a61daf2f3cdcdf2542ee997ab6de5efa9',1,'uvgrtp::context']]],
|
||||
['destroy_5fstream_72',['destroy_stream',['../classuvgrtp_1_1session.html#a291629a3bfb910463b88d8edb3984149',1,'uvgrtp::session']]]
|
||||
];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var searchData=
|
||||
[
|
||||
['get_5frtcp_72',['get_rtcp',['../classuvg__rtp_1_1media__stream.html#a2d655dce6396710b4212c1213c6f3a70',1,'uvg_rtp::media_stream']]]
|
||||
['get_5frtcp_73',['get_rtcp',['../classuvgrtp_1_1media__stream.html#a1134ff0271ad54bf1e07feed422118c2',1,'uvgrtp::media_stream']]]
|
||||
];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var searchData=
|
||||
[
|
||||
['install_5freceive_5fhook_73',['install_receive_hook',['../classuvg__rtp_1_1media__stream.html#a219659f2ebdbcefb2d1156e8703214b9',1,'uvg_rtp::media_stream']]]
|
||||
['install_5freceive_5fhook_74',['install_receive_hook',['../classuvgrtp_1_1media__stream.html#a74a558b23866976e52c5903996544a27',1,'uvgrtp::media_stream']]]
|
||||
];
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
var searchData=
|
||||
[
|
||||
['pull_5fframe_74',['pull_frame',['../classuvg__rtp_1_1media__stream.html#a78d74338ee1b0ce41062e312e23be7ee',1,'uvg_rtp::media_stream::pull_frame()'],['../classuvg__rtp_1_1media__stream.html#ae1abb68fe04b8885457591456a557c8c',1,'uvg_rtp::media_stream::pull_frame(size_t timeout)']]],
|
||||
['push_5fframe_75',['push_frame',['../classuvg__rtp_1_1media__stream.html#ac4c9fd2a2dbe2ae2695063eaa094e5d7',1,'uvg_rtp::media_stream']]]
|
||||
['pull_5fframe_75',['pull_frame',['../classuvgrtp_1_1media__stream.html#ae2fe9e8d9b67e25f103a78a25417149f',1,'uvgrtp::media_stream::pull_frame()'],['../classuvgrtp_1_1media__stream.html#a441263e19be4383223884fde8838f736',1,'uvgrtp::media_stream::pull_frame(size_t timeout)']]],
|
||||
['push_5fframe_76',['push_frame',['../classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18',1,'uvgrtp::media_stream']]]
|
||||
];
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
var searchData=
|
||||
[
|
||||
['_7econtext_76',['~context',['../classuvg__rtp_1_1context.html#af1e261107159ccde4bb7539652a467cf',1,'uvg_rtp::context']]]
|
||||
['_7econtext_77',['~context',['../classuvgrtp_1_1context.html#a652a201ae11685961267455ab823eb60',1,'uvgrtp::context']]]
|
||||
];
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
<!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">
|
||||
<head><title></title>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta name="generator" content="Doxygen 1.9.1"/>
|
||||
<link rel="stylesheet" type="text/css" href="search.css"/>
|
||||
<script type="text/javascript" src="pages_0.js"></script>
|
||||
<script type="text/javascript" src="search.js"></script>
|
||||
</head>
|
||||
<body class="SRPage">
|
||||
<div id="SRIndex">
|
||||
<div class="SRStatus" id="Loading">Loading...</div>
|
||||
<div id="SRResults"></div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
createResults();
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div class="SRStatus" id="Searching">Searching...</div>
|
||||
<div class="SRStatus" id="NoMatches">No Matches</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
document.getElementById("Loading").style.display="none";
|
||||
document.getElementById("NoMatches").style.display="none";
|
||||
var searchResults = new SearchResults("searchResults");
|
||||
searchResults.Search();
|
||||
window.addEventListener("message", function(event) {
|
||||
if (event.data == "take_focus") {
|
||||
var elem = searchResults.NavNext(0);
|
||||
if (elem) elem.focus();
|
||||
}
|
||||
});
|
||||
/* @license-end */
|
||||
</script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,4 @@
|
|||
var searchData=
|
||||
[
|
||||
['uvgrtp_20public_20api_20documentation_124',['uvgRTP public API documentation',['../index.html',1,'']]]
|
||||
];
|
|
@ -5,7 +5,8 @@ var indexSectionsWithContent =
|
|||
2: "u",
|
||||
3: "cdgip~",
|
||||
4: "r",
|
||||
5: "r"
|
||||
5: "r",
|
||||
6: "u"
|
||||
};
|
||||
|
||||
var indexSectionNames =
|
||||
|
@ -15,7 +16,8 @@ var indexSectionNames =
|
|||
2: "files",
|
||||
3: "functions",
|
||||
4: "enums",
|
||||
5: "enumvalues"
|
||||
5: "enumvalues",
|
||||
6: "pages"
|
||||
};
|
||||
|
||||
var indexSectionLabels =
|
||||
|
@ -25,6 +27,7 @@ var indexSectionLabels =
|
|||
2: "Files",
|
||||
3: "Functions",
|
||||
4: "Enumerations",
|
||||
5: "Enumerator"
|
||||
5: "Enumerator",
|
||||
6: "Pages"
|
||||
};
|
||||
|
||||
|
|
|
@ -78,17 +78,17 @@ $(function() {
|
|||
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#include "media_stream.hh"</span></div>
|
||||
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#include "zrtp.hh"</span></div>
|
||||
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>  </div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="keyword">namespace </span>uvg_rtp {</div>
|
||||
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="keyword">namespace </span>uvgrtp {</div>
|
||||
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>  </div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="classuvg__rtp_1_1session.html"> 12</a></span>  <span class="keyword">class </span><a class="code" href="classuvg__rtp_1_1session.html">session</a> {</div>
|
||||
<div class="line"><a name="l00012"></a><span class="lineno"><a class="line" href="classuvgrtp_1_1session.html"> 12</a></span>  <span class="keyword">class </span><a class="code" href="classuvgrtp_1_1session.html">session</a> {</div>
|
||||
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>  <span class="keyword">public</span>:</div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  <a class="code" href="classuvg__rtp_1_1session.html">session</a>(std::string addr);</div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  <a class="code" href="classuvg__rtp_1_1session.html">session</a>(std::string remote_addr, std::string local_addr);</div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  ~<a class="code" href="classuvg__rtp_1_1session.html">session</a>();</div>
|
||||
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>  <a class="code" href="classuvgrtp_1_1session.html">session</a>(std::string addr);</div>
|
||||
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  <a class="code" href="classuvgrtp_1_1session.html">session</a>(std::string remote_addr, std::string local_addr);</div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  ~<a class="code" href="classuvgrtp_1_1session.html">session</a>();</div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  </div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classuvg__rtp_1_1session.html#af083d3908e337ad5f58a2edc317e18d4"> 50</a></span>  <a class="code" href="classuvg__rtp_1_1media__stream.html">uvg_rtp::media_stream</a> *<a class="code" href="classuvg__rtp_1_1session.html#af083d3908e337ad5f58a2edc317e18d4">create_stream</a>(<span class="keywordtype">int</span> src_port, <span class="keywordtype">int</span> dst_port, rtp_format_t fmt, <span class="keywordtype">int</span> flags);</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"><a class="line" href="classuvgrtp_1_1session.html#a71aad1226214b1b0b1ba60a46c048ab2"> 50</a></span>  <a class="code" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a> *<a class="code" href="classuvgrtp_1_1session.html#a71aad1226214b1b0b1ba60a46c048ab2">create_stream</a>(<span class="keywordtype">int</span> src_port, <span class="keywordtype">int</span> dst_port, rtp_format_t fmt, <span class="keywordtype">int</span> flags);</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  </div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classuvg__rtp_1_1session.html#a6a4419b42aeba70fb2a63b3cd87d663a"> 63</a></span>  rtp_error_t <a class="code" href="classuvg__rtp_1_1session.html#a6a4419b42aeba70fb2a63b3cd87d663a">destroy_stream</a>(<a class="code" href="classuvg__rtp_1_1media__stream.html">uvg_rtp::media_stream</a> *stream);</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="classuvgrtp_1_1session.html#a291629a3bfb910463b88d8edb3984149"> 63</a></span>  rtp_error_t <a class="code" href="classuvgrtp_1_1session.html#a291629a3bfb910463b88d8edb3984149">destroy_stream</a>(<a class="code" href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a> *stream);</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  </div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="comment">/* Get unique key of the session</span></div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> * Used by context to index sessions */</span></div>
|
||||
|
@ -96,7 +96,7 @@ $(function() {
|
|||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  </div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keyword">private</span>:</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="comment">/* Each RTP multimedia session shall have one ZRTP session from which all session are derived */</span></div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  uvg_rtp::zrtp *zrtp_;</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  uvgrtp::zrtp *zrtp_;</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  </div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="comment">/* Each RTP multimedia session is always IP-specific */</span></div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  std::string addr_;</div>
|
||||
|
@ -105,15 +105,17 @@ $(function() {
|
|||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  std::string laddr_;</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  </div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="comment">/* All media streams of this session */</span></div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  std::unordered_map<uint32_t, uvg_rtp::media_stream *> streams_;</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  std::unordered_map<uint32_t, uvgrtp::media_stream *> streams_;</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  </div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  std::mutex session_mtx_;</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  };</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> };</div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1media__stream_html"><div class="ttname"><a href="classuvg__rtp_1_1media__stream.html">uvg_rtp::media_stream</a></div><div class="ttdef"><b>Definition:</b> media_stream.hh:18</div></div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1session_html"><div class="ttname"><a href="classuvg__rtp_1_1session.html">uvg_rtp::session</a></div><div class="ttdef"><b>Definition:</b> session.hh:12</div></div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1session_html_a6a4419b42aeba70fb2a63b3cd87d663a"><div class="ttname"><a href="classuvg__rtp_1_1session.html#a6a4419b42aeba70fb2a63b3cd87d663a">uvg_rtp::session::destroy_stream</a></div><div class="ttdeci">rtp_error_t destroy_stream(uvg_rtp::media_stream *stream)</div><div class="ttdoc">Destroy a media stream.</div></div>
|
||||
<div class="ttc" id="aclassuvg__rtp_1_1session_html_af083d3908e337ad5f58a2edc317e18d4"><div class="ttname"><a href="classuvg__rtp_1_1session.html#af083d3908e337ad5f58a2edc317e18d4">uvg_rtp::session::create_stream</a></div><div class="ttdeci">uvg_rtp::media_stream * create_stream(int src_port, int dst_port, rtp_format_t fmt, int flags)</div><div class="ttdoc">Create a bidirectional media stream for an RTP session.</div></div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  </div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="keyword">namespace </span>uvg_rtp = uvgrtp;</div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1media__stream_html"><div class="ttname"><a href="classuvgrtp_1_1media__stream.html">uvgrtp::media_stream</a></div><div class="ttdef"><b>Definition:</b> media_stream.hh:18</div></div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1session_html"><div class="ttname"><a href="classuvgrtp_1_1session.html">uvgrtp::session</a></div><div class="ttdef"><b>Definition:</b> session.hh:12</div></div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1session_html_a291629a3bfb910463b88d8edb3984149"><div class="ttname"><a href="classuvgrtp_1_1session.html#a291629a3bfb910463b88d8edb3984149">uvgrtp::session::destroy_stream</a></div><div class="ttdeci">rtp_error_t destroy_stream(uvgrtp::media_stream *stream)</div><div class="ttdoc">Destroy a media stream.</div></div>
|
||||
<div class="ttc" id="aclassuvgrtp_1_1session_html_a71aad1226214b1b0b1ba60a46c048ab2"><div class="ttname"><a href="classuvgrtp_1_1session.html#a71aad1226214b1b0b1ba60a46c048ab2">uvgrtp::session::create_stream</a></div><div class="ttdeci">uvgrtp::media_stream * create_stream(int src_port, int dst_port, rtp_format_t fmt, int flags)</div><div class="ttdoc">Create a bidirectional media stream for an RTP session.</div></div>
|
||||
</div><!-- fragment --></div><!-- contents -->
|
||||
<!-- start footer part -->
|
||||
<hr class="footer"/><address class="footer"><small>
|
||||
|
|
|
@ -147,7 +147,7 @@ Enumerations</h2></td></tr>
|
|||
  <a class="el" href="util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96a4e6ef095b4645cdc8aef241aad1f974b">RTP_FORMAT_OPUS</a> = 98
|
||||
<br />
|
||||
}</td></tr>
|
||||
<tr class="memdesc:a313c6640ac5ed9384184a94ec57a9a96"><td class="mdescLeft"> </td><td class="mdescRight">These flags are given to <a class="el" href="classuvg__rtp_1_1session.html#af083d3908e337ad5f58a2edc317e18d4" title="Create a bidirectional media stream for an RTP session.">uvg_rtp::session::create_stream()</a> <a href="util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96">More...</a><br /></td></tr>
|
||||
<tr class="memdesc:a313c6640ac5ed9384184a94ec57a9a96"><td class="mdescLeft"> </td><td class="mdescRight">These flags are given to <a class="el" href="classuvgrtp_1_1session.html#a71aad1226214b1b0b1ba60a46c048ab2" title="Create a bidirectional media stream for an RTP session.">uvgrtp::session::create_stream()</a> <a href="util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96">More...</a><br /></td></tr>
|
||||
<tr class="separator:a313c6640ac5ed9384184a94ec57a9a96"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af03a75996471fc531742cd640c7caf2d"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8hh.html#af03a75996471fc531742cd640c7caf2d">RTP_FLAGS</a> { <br />
|
||||
  <a class="el" href="util_8hh.html#af03a75996471fc531742cd640c7caf2da084c095dae54bbbc6d9509568c58f9a6">RTP_NO_FLAGS</a> = 0 << 0
|
||||
|
@ -157,7 +157,7 @@ Enumerations</h2></td></tr>
|
|||
  <a class="el" href="util_8hh.html#af03a75996471fc531742cd640c7caf2dab1d5797a23c37a33168046a2ae6aef6a">RTP_COPY</a> = 1 << 1
|
||||
<br />
|
||||
}</td></tr>
|
||||
<tr class="memdesc:af03a75996471fc531742cd640c7caf2d"><td class="mdescLeft"> </td><td class="mdescRight">These flags are given to <a class="el" href="classuvg__rtp_1_1media__stream.html#ac4c9fd2a2dbe2ae2695063eaa094e5d7">uvg_rtp::media_stream::push_frame()</a> and they can be OR'ed together. <a href="util_8hh.html#af03a75996471fc531742cd640c7caf2d">More...</a><br /></td></tr>
|
||||
<tr class="memdesc:af03a75996471fc531742cd640c7caf2d"><td class="mdescLeft"> </td><td class="mdescRight">These flags are given to <a class="el" href="classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18">uvgrtp::media_stream::push_frame()</a> and they can be OR'ed together. <a href="util_8hh.html#af03a75996471fc531742cd640c7caf2d">More...</a><br /></td></tr>
|
||||
<tr class="separator:af03a75996471fc531742cd640c7caf2d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a15b2d6364db6065a482c99827f4bd2af"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2af">RTP_CTX_ENABLE_FLAGS</a> { <br />
|
||||
  <b>RCE_NO_FLAGS</b> = 0 << 0
|
||||
|
@ -170,7 +170,7 @@ Enumerations</h2></td></tr>
|
|||
, <br />
|
||||
  <a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa4722105b4fd34467a56b8aca8fc03773">RCE_SRTP_KMNGMNT_USER</a> = 1 << 5
|
||||
, <br />
|
||||
  <a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa51cc3b4776d9dfda76789556aa581230">RCE_H265_NO_INTRA_DELAY</a> = 1 << 5
|
||||
  <a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa5e9f19a63c964806ac9ff4ee089745e0">RCE_NO_H26X_INTRA_DELAY</a> = 1 << 5
|
||||
, <br />
|
||||
  <a class="el" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa5b0a8dbb22c20ebe8c0711541fb68a79">RCE_FRAGMENT_GENERIC</a> = 1 << 6
|
||||
, <br />
|
||||
|
@ -228,7 +228,7 @@ Enumerations</h2></td></tr>
|
|||
</div><div class="memdoc">
|
||||
|
||||
<p>RTP context configuration flags. </p>
|
||||
<p>These flags are given to <a class="el" href="classuvg__rtp_1_1media__stream.html#a3316a89869b321774ed726157e1f3c89" title="Configure the media stream, see RTP_CTX_CONFIGURATION_FLAGS for more details.">uvg_rtp::media_stream::configure_ctx</a> </p>
|
||||
<p>These flags are given to <a class="el" href="classuvgrtp_1_1media__stream.html#addf1cde9cb8c4e4af3160ce24c4288a5" title="Configure the media stream, see RTP_CTX_CONFIGURATION_FLAGS for more details.">uvgrtp::media_stream::configure_ctx</a> </p>
|
||||
<table class="fieldtable">
|
||||
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="aa98d9238629e33567e73af0d239e587fac52afca9d1a8c24b1a788bc5b8524663"></a>RCC_UDP_RCV_BUF_SIZE </td><td class="fielddoc"><p>How large is the receiver UDP buffer size</p>
|
||||
<p>Default value is 4 MB</p>
|
||||
|
@ -265,7 +265,7 @@ Enumerations</h2></td></tr>
|
|||
</div><div class="memdoc">
|
||||
|
||||
<p>RTP context enable flags. </p>
|
||||
<p>These flags are passed to <a class="el" href="classuvg__rtp_1_1session.html#af083d3908e337ad5f58a2edc317e18d4" title="Create a bidirectional media stream for an RTP session.">uvg_rtp::session::create_stream</a> and can be OR'ed together </p>
|
||||
<p>These flags are passed to <a class="el" href="classuvgrtp_1_1session.html#a71aad1226214b1b0b1ba60a46c048ab2" title="Create a bidirectional media stream for an RTP session.">uvgrtp::session::create_stream</a> and can be OR'ed together </p>
|
||||
<table class="fieldtable">
|
||||
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a15b2d6364db6065a482c99827f4bd2afaf235cba606675b9c38284ee1a491696b"></a>RCE_SRTP </td><td class="fielddoc"><p>Use SRTP for this connection </p>
|
||||
</td></tr>
|
||||
|
@ -277,10 +277,10 @@ Enumerations</h2></td></tr>
|
|||
<p>If this flag is provided, before the media transportation starts, user must provide a master key and salt form which SRTP session keys are derived</p>
|
||||
<p>This flag must be coupled with RCE_SRTP and is mutually exclusive with RCE_SRTP_KMNGMNT_ZRTP </p>
|
||||
</td></tr>
|
||||
<tr><td class="fieldname"><a id="a15b2d6364db6065a482c99827f4bd2afa51cc3b4776d9dfda76789556aa581230"></a>RCE_H265_NO_INTRA_DELAY </td><td class="fielddoc"><p>When uvgRTP is receiving HEVC stream, as an attempt to improve QoS, it will set frame delay for intra frames to be the same as intra period.</p>
|
||||
<tr><td class="fieldname"><a id="a15b2d6364db6065a482c99827f4bd2afa5e9f19a63c964806ac9ff4ee089745e0"></a>RCE_NO_H26X_INTRA_DELAY </td><td class="fielddoc"><p>When uvgRTP is receiving H26X stream, as an attempt to improve QoS, it will set frame delay for intra frames to be the same as intra period.</p>
|
||||
<p>What this means is that if the regular timer expires for frame (100 ms) and the frame type is intra, uvgRTP will not drop the frame but will continue receiving packets in hopes that all the packets of the intra frame will be received and the frame can be returned to user. During this period, when the intra frame is deemed to be late and incomplete, uvgRTP will drop all inter frames until a) all the packets of late intra frame are received or b) a new intra frame is received</p>
|
||||
<p>This behaviour should reduce the number of gray screens during HEVC decoding but might cause the video stream to freeze for a while which is subjectively lesser of two evils</p>
|
||||
<p>This behavior can be disabled with RCE_HEVC_NO_INTRA_DELAY If this flag is given, uvgRTP treats all frame types equally and drops all frames that are late </p>
|
||||
<p>This behaviour should reduce the number of gray screens during video decoding but might cause the video stream to freeze for a while which is subjectively lesser of two evils</p>
|
||||
<p>This behavior can be disabled with RCE_NO_H26X_INTRA_DELAY If this flag is given, uvgRTP treats all frame types equally and drops all frames that are late </p>
|
||||
</td></tr>
|
||||
<tr><td class="fieldname"><a id="a15b2d6364db6065a482c99827f4bd2afa5b0a8dbb22c20ebe8c0711541fb68a79"></a>RCE_FRAGMENT_GENERIC </td><td class="fielddoc"><p>Fragment generic frames into RTP packets of 1500 bytes.</p>
|
||||
<p>If RCE_FRAGMENT_GENERIC is given to create_stream(), uvgRTP will split frames of type RTP_FORMAT_GENERIC into packets of 1500 bytes automatically and reconstruct the full frame from the fragments in the receiver</p>
|
||||
|
@ -372,7 +372,7 @@ Enumerations</h2></td></tr>
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>These flags are given to <a class="el" href="classuvg__rtp_1_1media__stream.html#ac4c9fd2a2dbe2ae2695063eaa094e5d7">uvg_rtp::media_stream::push_frame()</a> and they can be OR'ed together. </p>
|
||||
<p>These flags are given to <a class="el" href="classuvgrtp_1_1media__stream.html#ab2b7507d5b2c76bef74c9bceec07ba18">uvgrtp::media_stream::push_frame()</a> and they can be OR'ed together. </p>
|
||||
<table class="fieldtable">
|
||||
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="af03a75996471fc531742cd640c7caf2da084c095dae54bbbc6d9509568c58f9a6"></a>RTP_NO_FLAGS </td><td class="fielddoc"><p>No flags </p>
|
||||
</td></tr>
|
||||
|
@ -396,7 +396,7 @@ Enumerations</h2></td></tr>
|
|||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>These flags are given to <a class="el" href="classuvg__rtp_1_1session.html#af083d3908e337ad5f58a2edc317e18d4" title="Create a bidirectional media stream for an RTP session.">uvg_rtp::session::create_stream()</a> </p>
|
||||
<p>These flags are given to <a class="el" href="classuvgrtp_1_1session.html#a71aad1226214b1b0b1ba60a46c048ab2" title="Create a bidirectional media stream for an RTP session.">uvgrtp::session::create_stream()</a> </p>
|
||||
<table class="fieldtable">
|
||||
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a313c6640ac5ed9384184a94ec57a9a96ad4b1be929d880baa2c2ca85c614f61b9"></a>RTP_FORMAT_GENERIC </td><td class="fielddoc"><p>Generic format. </p>
|
||||
</td></tr>
|
||||
|
|
|
@ -167,7 +167,7 @@ $(function() {
|
|||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  </div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa4722105b4fd34467a56b8aca8fc03773"> 145</a></span>  <a class="code" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa4722105b4fd34467a56b8aca8fc03773">RCE_SRTP_KMNGMNT_USER</a> = 1 << 5,</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  </div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa51cc3b4776d9dfda76789556aa581230"> 167</a></span>  <a class="code" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa51cc3b4776d9dfda76789556aa581230">RCE_H265_NO_INTRA_DELAY</a> = 1 << 5,</div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa5e9f19a63c964806ac9ff4ee089745e0"> 167</a></span>  <a class="code" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa5e9f19a63c964806ac9ff4ee089745e0">RCE_NO_H26X_INTRA_DELAY</a> = 1 << 5,</div>
|
||||
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  </div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa5b0a8dbb22c20ebe8c0711541fb68a79"> 181</a></span>  <a class="code" href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa5b0a8dbb22c20ebe8c0711541fb68a79">RCE_FRAGMENT_GENERIC</a> = 1 << 6,</div>
|
||||
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  </div>
|
||||
|
@ -274,8 +274,8 @@ $(function() {
|
|||
<div class="ttc" id="autil_8hh_html_a15b2d6364db6065a482c99827f4bd2afa40a3deab3893524daf7e057c6dfdaa75"><div class="ttname"><a href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa40a3deab3893524daf7e057c6dfdaa75">RCE_SRTP_KMNGMNT_ZRTP</a></div><div class="ttdeci">@ RCE_SRTP_KMNGMNT_ZRTP</div><div class="ttdef"><b>Definition:</b> util.hh:135</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_a15b2d6364db6065a482c99827f4bd2afa4722105b4fd34467a56b8aca8fc03773"><div class="ttname"><a href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa4722105b4fd34467a56b8aca8fc03773">RCE_SRTP_KMNGMNT_USER</a></div><div class="ttdeci">@ RCE_SRTP_KMNGMNT_USER</div><div class="ttdef"><b>Definition:</b> util.hh:145</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_a15b2d6364db6065a482c99827f4bd2afa4ddec7d182cec161d6b582589bc9baba"><div class="ttname"><a href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa4ddec7d182cec161d6b582589bc9baba">RCE_SRTP_NULL_CIPHER</a></div><div class="ttdeci">@ RCE_SRTP_NULL_CIPHER</div><div class="ttdef"><b>Definition:</b> util.hh:197</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_a15b2d6364db6065a482c99827f4bd2afa51cc3b4776d9dfda76789556aa581230"><div class="ttname"><a href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa51cc3b4776d9dfda76789556aa581230">RCE_H265_NO_INTRA_DELAY</a></div><div class="ttdeci">@ RCE_H265_NO_INTRA_DELAY</div><div class="ttdef"><b>Definition:</b> util.hh:167</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_a15b2d6364db6065a482c99827f4bd2afa5b0a8dbb22c20ebe8c0711541fb68a79"><div class="ttname"><a href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa5b0a8dbb22c20ebe8c0711541fb68a79">RCE_FRAGMENT_GENERIC</a></div><div class="ttdeci">@ RCE_FRAGMENT_GENERIC</div><div class="ttdef"><b>Definition:</b> util.hh:181</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_a15b2d6364db6065a482c99827f4bd2afa5e9f19a63c964806ac9ff4ee089745e0"><div class="ttname"><a href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa5e9f19a63c964806ac9ff4ee089745e0">RCE_NO_H26X_INTRA_DELAY</a></div><div class="ttdeci">@ RCE_NO_H26X_INTRA_DELAY</div><div class="ttdef"><b>Definition:</b> util.hh:167</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_a15b2d6364db6065a482c99827f4bd2afa75a655a9170ae88e07e993c1dd7ca4f7"><div class="ttname"><a href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa75a655a9170ae88e07e993c1dd7ca4f7">RCE_H26X_PREPEND_SC</a></div><div class="ttdeci">@ RCE_H26X_PREPEND_SC</div><div class="ttdef"><b>Definition:</b> util.hh:215</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_a15b2d6364db6065a482c99827f4bd2afa820625b96886d955bc42e0cbc52cdd1e"><div class="ttname"><a href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa820625b96886d955bc42e0cbc52cdd1e">RCE_SRTP_AUTHENTICATE_RTP</a></div><div class="ttdeci">@ RCE_SRTP_AUTHENTICATE_RTP</div><div class="ttdef"><b>Definition:</b> util.hh:205</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_a15b2d6364db6065a482c99827f4bd2afa8e66f45819774772a0156647d3788a95"><div class="ttname"><a href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afa8e66f45819774772a0156647d3788a95">RCE_HOLEPUNCH_KEEPALIVE</a></div><div class="ttdeci">@ RCE_HOLEPUNCH_KEEPALIVE</div><div class="ttdef"><b>Definition:</b> util.hh:221</div></div>
|
||||
|
@ -283,7 +283,7 @@ $(function() {
|
|||
<div class="ttc" id="autil_8hh_html_a15b2d6364db6065a482c99827f4bd2afac03160668b92662fcb8d5b27bca3fbb0"><div class="ttname"><a href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afac03160668b92662fcb8d5b27bca3fbb0">RCE_NO_SYSTEM_CALL_CLUSTERING</a></div><div class="ttdeci">@ RCE_NO_SYSTEM_CALL_CLUSTERING</div><div class="ttdef"><b>Definition:</b> util.hh:194</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_a15b2d6364db6065a482c99827f4bd2afaddd5fdb170d7cc194e4165d3f9e9a1c1"><div class="ttname"><a href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afaddd5fdb170d7cc194e4165d3f9e9a1c1">RCE_SRTP_REPLAY_PROTECTION</a></div><div class="ttdeci">@ RCE_SRTP_REPLAY_PROTECTION</div><div class="ttdef"><b>Definition:</b> util.hh:208</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_a15b2d6364db6065a482c99827f4bd2afaf235cba606675b9c38284ee1a491696b"><div class="ttname"><a href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2afaf235cba606675b9c38284ee1a491696b">RCE_SRTP</a></div><div class="ttdeci">@ RCE_SRTP</div><div class="ttdef"><b>Definition:</b> util.hh:125</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_a313c6640ac5ed9384184a94ec57a9a96"><div class="ttname"><a href="util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96">RTP_FORMAT</a></div><div class="ttdeci">RTP_FORMAT</div><div class="ttdoc">These flags are given to uvg_rtp::session::create_stream()</div><div class="ttdef"><b>Definition:</b> util.hh:85</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_a313c6640ac5ed9384184a94ec57a9a96"><div class="ttname"><a href="util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96">RTP_FORMAT</a></div><div class="ttdeci">RTP_FORMAT</div><div class="ttdoc">These flags are given to uvgrtp::session::create_stream()</div><div class="ttdef"><b>Definition:</b> util.hh:85</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_a313c6640ac5ed9384184a94ec57a9a96a0e3d0414b29804783324399c8a42c85d"><div class="ttname"><a href="util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96a0e3d0414b29804783324399c8a42c85d">RTP_FORMAT_H266</a></div><div class="ttdeci">@ RTP_FORMAT_H266</div><div class="ttdoc">H.266/VVC.</div><div class="ttdef"><b>Definition:</b> util.hh:89</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_a313c6640ac5ed9384184a94ec57a9a96a4e6ef095b4645cdc8aef241aad1f974b"><div class="ttname"><a href="util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96a4e6ef095b4645cdc8aef241aad1f974b">RTP_FORMAT_OPUS</a></div><div class="ttdeci">@ RTP_FORMAT_OPUS</div><div class="ttdoc">Opus.</div><div class="ttdef"><b>Definition:</b> util.hh:90</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_a313c6640ac5ed9384184a94ec57a9a96a4ee0ab7d51bf50f8f5a5cb995ecc407b"><div class="ttname"><a href="util_8hh.html#a313c6640ac5ed9384184a94ec57a9a96a4ee0ab7d51bf50f8f5a5cb995ecc407b">RTP_FORMAT_H265</a></div><div class="ttdeci">@ RTP_FORMAT_H265</div><div class="ttdoc">H.265/HEVC.</div><div class="ttdef"><b>Definition:</b> util.hh:88</div></div>
|
||||
|
@ -311,7 +311,7 @@ $(function() {
|
|||
<div class="ttc" id="autil_8hh_html_aa98d9238629e33567e73af0d239e587fac52afca9d1a8c24b1a788bc5b8524663"><div class="ttname"><a href="util_8hh.html#aa98d9238629e33567e73af0d239e587fac52afca9d1a8c24b1a788bc5b8524663">RCC_UDP_RCV_BUF_SIZE</a></div><div class="ttdeci">@ RCC_UDP_RCV_BUF_SIZE</div><div class="ttdef"><b>Definition:</b> util.hh:242</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_aa98d9238629e33567e73af0d239e587fac758a522806ada30386b262660f30617"><div class="ttname"><a href="util_8hh.html#aa98d9238629e33567e73af0d239e587fac758a522806ada30386b262660f30617">RCC_DYN_PAYLOAD_TYPE</a></div><div class="ttdeci">@ RCC_DYN_PAYLOAD_TYPE</div><div class="ttdef"><b>Definition:</b> util.hh:262</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_aa98d9238629e33567e73af0d239e587fad4eba6c62183db35dd4bd0e09ddd107b"><div class="ttname"><a href="util_8hh.html#aa98d9238629e33567e73af0d239e587fad4eba6c62183db35dd4bd0e09ddd107b">RCC_UDP_SND_BUF_SIZE</a></div><div class="ttdeci">@ RCC_UDP_SND_BUF_SIZE</div><div class="ttdef"><b>Definition:</b> util.hh:250</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_af03a75996471fc531742cd640c7caf2d"><div class="ttname"><a href="util_8hh.html#af03a75996471fc531742cd640c7caf2d">RTP_FLAGS</a></div><div class="ttdeci">RTP_FLAGS</div><div class="ttdoc">These flags are given to uvg_rtp::media_stream::push_frame() and they can be OR'ed together.</div><div class="ttdef"><b>Definition:</b> util.hh:99</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_af03a75996471fc531742cd640c7caf2d"><div class="ttname"><a href="util_8hh.html#af03a75996471fc531742cd640c7caf2d">RTP_FLAGS</a></div><div class="ttdeci">RTP_FLAGS</div><div class="ttdoc">These flags are given to uvgrtp::media_stream::push_frame() and they can be OR'ed together.</div><div class="ttdef"><b>Definition:</b> util.hh:99</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_af03a75996471fc531742cd640c7caf2da084c095dae54bbbc6d9509568c58f9a6"><div class="ttname"><a href="util_8hh.html#af03a75996471fc531742cd640c7caf2da084c095dae54bbbc6d9509568c58f9a6">RTP_NO_FLAGS</a></div><div class="ttdeci">@ RTP_NO_FLAGS</div><div class="ttdef"><b>Definition:</b> util.hh:101</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_af03a75996471fc531742cd640c7caf2dab1d5797a23c37a33168046a2ae6aef6a"><div class="ttname"><a href="util_8hh.html#af03a75996471fc531742cd640c7caf2dab1d5797a23c37a33168046a2ae6aef6a">RTP_COPY</a></div><div class="ttdeci">@ RTP_COPY</div><div class="ttdef"><b>Definition:</b> util.hh:107</div></div>
|
||||
<div class="ttc" id="autil_8hh_html_af03a75996471fc531742cd640c7caf2dada7e8bc5f5542554ad7de9d74967616f"><div class="ttname"><a href="util_8hh.html#af03a75996471fc531742cd640c7caf2dada7e8bc5f5542554ad7de9d74967616f">RTP_SLICE</a></div><div class="ttdeci">@ RTP_SLICE</div><div class="ttdef"><b>Definition:</b> util.hh:104</div></div>
|
||||
|
|
Loading…
Reference in New Issue