1abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Main<html>
2abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Main<body>
3abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Main<p>Provides APIs for RTP (Real-time Transport Protocol), allowing applications to manage on-demand
4abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Mainor interactive data streaming. In particular, apps that provide VOIP, push-to-talk, conferencing,
5abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Mainand audio streaming can use these APIs to initiate sessions and transmit or receive data streams
6abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Mainover any available network.</p>
7abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Main
8abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Main<p>To support audio conferencing and similar usages, you need to instantiate two classes as
9abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Mainendpoints for the stream:</p>
10abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Main
11abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Main<ul>
12abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Main<li>{@link android.net.rtp.AudioStream} specifies a remote endpoint and consists of network mapping
13abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Mainand a configured {@link android.net.rtp.AudioCodec}.</li>
14abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Main
15abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Main<li>{@link android.net.rtp.AudioGroup} represents the local endpoint for one or more {@link
16abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Mainandroid.net.rtp.AudioStream}s. The {@link android.net.rtp.AudioGroup} mixes all the {@link
17abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Mainandroid.net.rtp.AudioStream}s and optionally interacts with the device speaker and the microphone at
18abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Mainthe same time.</li>
19abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Main</ul>
20abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Main
21abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Main<p>The simplest usage involves a single remote endpoint and local endpoint. For more complex usages,
22abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Mainrefer to the limitations described for {@link android.net.rtp.AudioGroup}.</p>
23abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Main
24abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Main<p class="note"><strong>Note:</strong> To use the RTP APIs, you must request the {@link
25abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Mainandroid.Manifest.permission#INTERNET} and {@link
26abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Mainandroid.Manifest.permission#RECORD_AUDIO} permissions in your manifest file.</p>
27abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Main</body>
28abed3b90dfe961d276cbedda60f4d1a92d81d2b9Scott Main</html>