Symbian3/SDK/Source/GUID-993629CB-17B4-5E87-8DE1-06A4AC473FDD.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 11 Jun 2010 12:39:03 +0100
changeset 8 ae94777fff8f
parent 7 51a74ef9ed63
child 13 48780e181b38
permissions -rw-r--r--
Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
8
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     6
<!-- Initial Contributors:
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     7
    Nokia Corporation - initial contribution.
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     8
Contributors: 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
     9
-->
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    10
<!DOCTYPE concept
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    12
<concept xml:lang="en" id="GUID-993629CB-17B4-5E87-8DE1-06A4AC473FDD"><title>RTP overview</title><prolog><metadata><keywords/></metadata></prolog><conbody><section><title>Purpose</title> <p>The Multimedia Protocols RTP (Real-Time Transport Protocol) component provides RTP communication services. This overview shows the usage of the RTP/RTCP protocol as defined in RFC 3550. </p> </section> <section><title>Required background</title> <p>The clients that make use of this API need to be familiar with <xref scope="external" href="http://www.faqs.org/ftp/rfc/rfc3550.pdf">RFC 3550</xref> standard. </p> </section> <section><title>Key concepts</title> <p>The component has the following key concepts: </p> <dl><dlentry><dt>RTP</dt> <dd><p>RTP provides end-to-end network transport services for data with real-time characteristics, such as interactive audio and video. It is built on top of the User Datagram Protocol (UDP). </p> <p>RTP contains two closely linked parts: </p> <ul><li id="GUID-B54B151C-BEBF-5747-9FD9-C46960E81153"><p> <b>RTP:</b> Real-Time Transport Protocol to carry data that has real-time properties. </p> </li> <li id="GUID-038C9C19-BF66-51B5-AF06-06B7DF132C0D"><p> <b>RTCP:</b> RTP Control Protocol to provide feedback on the quality of service being provided by RTP. </p> </li> </ul> </dd> </dlentry> <dlentry><dt>RTCP</dt> <dd><p>RTP Control Protocol used to provide feedback on the quality of service being provided by RTP. RTP and RTCP support transmission of the data and the control packets. </p> </dd> </dlentry> </dl> </section> <section><title>Architectural Relationship</title> <p>The RTP component of MM-protocols uses the following: </p> <ul><li id="GUID-E50A8973-7050-5986-9ED2-CB4B0955F446"><p>Comms-infrasĀ ESOCKĀ  </p> </li> <li id="GUID-628BE20E-C415-52E0-B6CC-1DA781F6CF6B"><p>Networking INSOCK </p> </li> </ul> </section> <section><title>API summary</title> <p>The following are some of the main classes used for RTP communication. </p> <table id="GUID-589CE9B8-D2DF-5125-BC78-6261C6138DF0"><tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/><thead><row><entry>Class Name</entry> <entry>Description</entry> </row> </thead> <tbody><row><entry><p> <xref href="GUID-97FC8566-E4AD-3881-8669-134798A88779.dita"><apiname>RRtpSession</apiname></xref>  </p> </entry> <entry><p>A handle to an RTP session that abstracts all RTP information going to and from an RTP socket, and its corresponding RTCP data. </p> </entry> </row> <row><entry><p> <xref href="GUID-2A2D5CCF-1B51-3B68-BE48-CF2125FEA65F.dita"><apiname>RRtpPacket</apiname></xref>  </p> </entry> <entry><p>A handle to an RTP packet used to access the packet through the interface provided by this handle. </p> </entry> </row> <row><entry><p> <xref href="GUID-0720D1BD-7F73-3EF6-80A6-17127EF17C91.dita"><apiname>RRtpSendPacket</apiname></xref>  </p> </entry> <entry><p>Derived from <xref href="GUID-2A2D5CCF-1B51-3B68-BE48-CF2125FEA65F.dita"><apiname>RRtpPacket</apiname></xref> and used as a handle to an RTP send packet. </p> </entry> </row> <row><entry><p> <xref href="GUID-3E4F47A8-0432-307A-B871-A2F7F3A7505F.dita"><apiname>RRtpReceivePacket</apiname></xref>  </p> </entry> <entry><p>Derived from <xref href="GUID-2A2D5CCF-1B51-3B68-BE48-CF2125FEA65F.dita"><apiname>RRtpPacket</apiname></xref> and used as a handle to an RTP receive packet. </p> </entry> </row> <row><entry><p> <xref href="GUID-3690BFA1-A4EA-34EA-AD63-5FCC14CB67A2.dita"><apiname>RRtpReceiveSource</apiname></xref>  </p> </entry> <entry><p>A handle to a receive stream. An object of this type represents the stream of data on a single SSRC and delivers the RTP packets and RTCP information in the order they arrive. </p> </entry> </row> <row><entry><p> <xref href="GUID-EF30A0A3-612A-362D-9AC5-07FD314E5CDC.dita"><apiname>RRtpSendSource</apiname></xref>  </p> </entry> <entry><p>A handle to a send stream, used to manage the creation and sending of packets. </p> </entry> </row> </tbody> </tgroup> </table> <p>The following diagram shows the RTP classes and their relationships. </p> <fig id="GUID-BE272665-0B86-5F96-BB2D-53ADCCB1B620"><title>
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    13
             Class diagram for RTP classes 
ae94777fff8f Week 23 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents: 7
diff changeset
    14
          </title> <image href="GUID-B94B394F-E243-5AB0-BAF7-AF68982A3EA8_d0e330077_href.png" placement="inline"/></fig> </section> <section><title>Typical uses</title> <p>Any application requiring RTP as its transport protocol should use this API. RTP provides the following key services: </p> <ul><li id="GUID-7AD5E984-BD60-56A8-BDD6-2F64343B4027"><p>Payload-type identification </p> </li> <li id="GUID-CC6E6950-0A3C-54A8-8298-EBEB463536D4"><p>Sequence numbering </p> </li> <li id="GUID-9B2044AC-135E-5F9E-AF7D-E0DDED1F4FF9"><p>Time stamping </p> </li> <li id="GUID-FD863CED-3C19-5050-9E15-35758A9C18AB"><p>Delivery monitoring </p> </li> </ul> <p>The RTP API allows you to perform the following tasks: </p> <ol id="GUID-05A64980-7516-5D26-BFA0-DCD146132B40"><li id="GUID-7948F75D-8FB6-52B9-B24C-22875FC56764"><p><xref href="GUID-5287A403-1094-5682-A443-A6C2A04A1F23.dita">Creating and Managing an RTP session</xref>  </p> </li> <li id="GUID-6A5300CB-19FE-51E3-96A5-607C81EFD2CE"><p><xref href="GUID-9652782C-D5A7-584F-A61C-1340D49478A2.dita">Registering for and handling events</xref>  </p> </li> <li id="GUID-948EA33A-37BA-5233-BCC7-4066B4D2BB6F"><p><xref href="GUID-FBA52F3B-0A7A-5FE3-82CD-72F88788D432.dita">Accessing an RTP packet</xref>  </p> </li> <li id="GUID-B12DF03E-1117-5BE9-9776-B556429A042F"><p><xref href="GUID-D7A8E007-CCCD-5E4F-A7DE-4D474C864104.dita">Creating a send stream</xref>  </p> </li> <li id="GUID-F32FE481-F916-5428-8562-13B5AE73B974"><p><xref href="GUID-46047253-4471-502D-B48E-E1990E7F7962.dita">Sending an RTP packet</xref>  </p> </li> <li id="GUID-A5440B31-C0F2-567D-9647-4F8F224968C9"><p><xref href="GUID-A81854C9-25F1-5C3B-AF3F-ECB7CFA26677.dita">Creating receive stream</xref>  </p> </li> <li id="GUID-14432538-9217-5EA0-81F4-F3089DD0E5AA"><p> <xref href="GUID-765F43E2-39E8-53F5-881F-593F379623CA.dita">Sending and receiving non RTP-data</xref>  </p> </li> <li id="GUID-90AE2FC2-0ABA-5F40-A50F-7BED93BCE9F0"><p><xref href="GUID-0ACAFB87-0D45-5BAA-B40A-9A7DC1646B01.dita">Managing RTCP packets and reports</xref>  </p> </li> <li id="GUID-832ADC62-982E-5ED7-A270-74B708B706C6"><p><xref href="GUID-D5F57D81-6B59-5C7E-A2C8-A5E29873346B.dita">Managing send and receive reports</xref>  </p> </li> <li id="GUID-E07027C3-5F87-5F33-BB6B-5D5F03F8D0C2"><p> <xref href="GUID-7D1E2DBD-004B-5047-BDA5-21CD55D0A95C.dita">Securing RTP with SRTP</xref> </p> </li> </ol> <p> <b> Note:</b> Before using any of these services, a connection to the socket server must have been made and the socket must be open. </p> </section> <section><title>See also</title> <p><xref href="GUID-59230503-7E2E-505D-9BC9-C2D2DB96B3E9.dita">RTPExample: RTP packet streaming</xref>  </p> </section> </conbody></concept>