RTP Requirements
[This is preliminary documentation and subject to change.]
Several requirements must be met in order to fully support the RTP specification:
-
Multicast Sessions - RTP is frequently used for conferences with a large number of participants broadcasting multimedia data streams on the same multicast group. The active membership (transmitters as opposed to passive receivers) of the conference may change over time. Some members may be of greater interest to viewers than others, such as the conference chair. To support this type of RTP session, it must be possible to dynamically select attendees and speaker priority. It must also be possible to listen to all speakers concurrently.
-
Changing Payload Types - RTP allows a stream's payload type to change mid-stream, with no signaling other than in the PT field of the RTP header. This frequently occurs in response to detection of bandwidth constraints requiring lower data rates (or allowing higher ones), necessitating that different compression algorithms be used. Changing payload types must be accommodated without causing significant breaks in presentation.
-
Stream Mixing - In a large conference, multiple participants may speak simultaneously. It should be possible for such streams to mix both for purposes of reception (performing mixing in PCM form) and for purposes of retransmission (for example, mixing RTP packets directly, with no decompression being performed).
-
New Payload Types - RTP allows for new payload types to be specified. Such payload types often require new payload handlers as well as new codec (coder/decoder) routines. In order to enable development of new payload types, payload handlers should be simple to implement with a minimal set of initial requirements.