<p>Provides ZRTP synchronization and can be used to create <aclass="el"href="classuvgrtp_1_1media__stream.html"title="The media_stream is an entity which represents one RTP stream.">uvgrtp::media_stream</a> objects.
<trclass="memdesc:a0b9fb48e95cbfdb76fd9f61e8cafe8e4"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Create a uni- or bidirectional media stream. <br/></td></tr>
<trclass="memdesc:a07a96e787de86d902d5c4d6bcb3dc416"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Create a unidirectional <aclass="el"href="classuvgrtp_1_1media__stream.html"title="The media_stream is an entity which represents one RTP stream.">media_stream</a> for an RTP session. <br/></td></tr>
<divclass="textblock"><p>Provides ZRTP synchronization and can be used to create <aclass="el"href="classuvgrtp_1_1media__stream.html"title="The media_stream is an entity which represents one RTP stream.">uvgrtp::media_stream</a> objects. </p>
<p>By itself session does not do anything. The actual RTP streaming is done by <aclass="el"href="classuvgrtp_1_1media__stream.html"title="The media_stream is an entity which represents one RTP stream.">media_stream</a> objects, which can be created by session. <aclass="el"href="classuvgrtp_1_1media__stream.html"title="The media_stream is an entity which represents one RTP stream.">media_stream</a> corresponds to an RTP session in RFC 3550. </p>
<pclass="definition">Definition at line <aclass="el"href="session_8hh_source.html#l00027">27</a> of file <aclass="el"href="session_8hh_source.html">session.hh</a>.</p>
<p>Create a unidirectional <aclass="el"href="classuvgrtp_1_1media__stream.html"title="The media_stream is an entity which represents one RTP stream.">media_stream</a> for an RTP session. </p>
<p>The created object is used for sending or receiving media, see documentation for <aclass="el"href="classuvgrtp_1_1media__stream.html"title="The media_stream is an entity which represents one RTP stream.">uvgrtp::media_stream</a> for more details.</p>
<p>User can enable and disable functionality of uvgRTP by OR'ing (using |) RCE_* flags together and passing them using the rce_flags parameter. The RCE_SEND_ONLY flag in rce_flags means the port is interpreted as a remote port. The RCE_RECEIVE_ONLY means the port is used for binding to a local interface. Without either flag, this function defaults to RCE_SEND_ONLY.</p>
<tr><tdclass="paramname">port</td><td>Either local or remote port depending on rce_flags </td></tr>
<tr><tdclass="paramname">fmt</td><td>Format of the media stream. see <aclass="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><tdclass="paramname">rce_flags</td><td>RTP context enable flags, see <aclass="el"href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2af"title="RTP context enable flags.">RTP_CTX_ENABLE_FLAGS</a> for more details</td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>RTP media stream object</dd></dl>
<p>The created object is used for sending and/or receiving media, see documentation for <aclass="el"href="classuvgrtp_1_1media__stream.html"title="The media_stream is an entity which represents one RTP stream.">uvgrtp::media_stream</a> for more details.</p>
<p>If both addresses were provided when <aclass="el"href="classuvgrtp_1_1session.html"title="Provides ZRTP synchronization and can be used to create uvgrtp::media_stream objects.">uvgrtp::session</a> was created, by default uvgRTP binds itself to local_addr:src_port and sends packets to remote_addr:dst_port.</p>
<p>User can enable and disable functionality of <aclass="el"href="classuvgrtp_1_1media__stream.html"title="The media_stream is an entity which represents one RTP stream.">media_stream</a> by OR'ing (using |) RCE_* flags together and passing them using the rce_flags parameter. In rce_flags, the RCE_SEND_ONLY flag can be used to avoid binding and src_port is thus ignored. Correspondinly RCE_RECEIVE_ONLY flag means dst_port is ignored. Without either RCE_SEND_ONLY or RCE_RECEIVE_ONLY, and if only one address was provided for session that address is interpreted as remote_addr and binding happens to ANY:src_port.</p>
<tr><tdclass="paramname">src_port</td><td>Local port that uvgRTP listens to for incoming RTP packets </td></tr>
<tr><tdclass="paramname">dst_port</td><td>Remote port where uvgRTP sends RTP packets </td></tr>
<tr><tdclass="paramname">fmt</td><td>Format of the media stream. see <aclass="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><tdclass="paramname">rce_flags</td><td>RTP context enable flags, see <aclass="el"href="util_8hh.html#a15b2d6364db6065a482c99827f4bd2af"title="RTP context enable flags.">RTP_CTX_ENABLE_FLAGS</a> for more details</td></tr>