git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@858 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
Peter Saint-Andre 2007-05-23 14:36:49 +00:00
parent 56713d53ab
commit a30c4b375b
1 changed files with 35 additions and 14 deletions

View File

@ -27,6 +27,12 @@
<surname>Chen</surname>
<email>Milton.Chen@vseelab.com</email>
</author>
<revision>
<version>0.7</version>
<date>2007-05-23</date>
<initials>psa</initials>
<remark><p>More completely specified how to include SDP parameters and codec-specific parameters (same approach as in XEP-0167); added and corrected Theora examples.</p></remark>
</revision>
<revision>
<version>0.6</version>
<date>2007-04-17</date>
@ -103,13 +109,18 @@
<p>A Jingle video session is described by one or more encodings contained within a wrapper &DESCRIPTION; element. In the language of <cite>RFC 4566</cite> these encodings are payload-types; therefore, each &lt;payload-type/&gt; child element specifies an encoding that can be used for the video stream. Such encodings are often used in the context of the Real-time Transfer Protocol (RTP; see <cite>RFC 3550</cite>) but may be used in other contexts as well. The most common encodings for the Audio/Video Profile (AVP) of RTP are listed in &rfc3551; (these "static" types are reserved from payload ID 0 through payload ID 95), although other encodings are allowed (these "dynamic" types use payload IDs 96 to 127) in accordance with the dynamic assignment rules described in Section 3 of <cite>RFC 3551</cite>. The &PAYLOADTYPE; element's 'id' attribute is REQUIRED and its 'name' attribute is RECOMMENDED. The encodings SHOULD be provided in order of preference.</p>
<example caption="Video Description Format"><![CDATA[
<description xmlns='http://www.xmpp.org/extensions/xep-0180.html#ns'>
<payload-type id='96' name='theora' height='720' width='1280'>
<parameter name='delivery-method' value='inline'/>
<parameter name='configutation' value='somebase16string'/>
<parameter name='sampling' value='YCbCr-4:2:2'/>
</payload-type>
<payload-type id='18' name='G729'/>
<payload-type id='99' name='IPCMWB'/>
<payload-type id='105' name='L16' transparent='true'/>
<payload-type id='13' name='CN'/>
</description>
]]></example>
<p>The &DESCRIPTION; element is intended to be a child of a &JINGLE; element as specified in <cite>XEP-0166</cite>.</p>
<p>The &DESCRIPTION; element is intended to be a child of a &CONTENT; element as specified in <cite>XEP-0166</cite>.</p>
<p>The defined attributes of the &PAYLOADTYPE; element are as follows:</p>
<table caption='Video Description Attributes'>
<tr>
@ -163,6 +174,11 @@
<td>positiveInteger</td>
</tr>
</table>
<p>Each &lt;payload-type/&gt; element MAY contain one or more child elements that specify particular parameters related to the payload. For example, as described in <cite>draft-ietf-avt-rtp-theora</cite> <note>This Internet-Draft has expired; see &lt;<link url='http://svn.xiph.org/trunk/theora/doc/draft-ietf-avt-rtp-theora-00.txt'>http://svn.xiph.org/trunk/theora/doc/draft-ietf-avt-rtp-theora-00.txt</link>&gt; for an archived version.</note>, the "configuration", "configuration-uri", "delivery-method", and "sampling", parameters may be specified in relation to usage of the Theora <note>See &lt;<link url='http://www.theora.org/'>http://www.theora.org/</link>&gt;.</note> codec. Where such parameters are encoded via the "fmtp" SDP attribute, they shall be represented in Jingle via the following format:</p>
<code><![CDATA[
<parameter name='foo' value='bar'/>
]]></code>
<p>Note: The parameter names are effectively guaranteed to be unique, since &IANA; maintains a registry of SDP parameters (see &lt;<link url='http://www.iana.org/assignments/sdp-parameters'>http://www.iana.org/assignments/sdp-parameters</link>&gt;).</p>
</section1>
<section1 topic='Negotiating a Jingle Video Session' anchor='negotiation'>
@ -178,7 +194,11 @@
sid='v1d30k1ll3dth3r4d10st4r'>
<content content='initiator' name='this-is-the-video-content' profile='RTP/AVP'>
<description xmlns='http://www.xmpp.org/extensions/xep-0167.html#ns'>
<payload-type id='96' name='theora'/>
<payload-type id='96' name='theora' height='720' width='1280'>
<parameter name='delivery-method' value='inline'/>
<parameter name='configutation' value='somebase16string'/>
<parameter name='sampling' value='YCbCr-4:2:2'/>
</payload-type>
<payload-type id='18' name='G729'/>
<payload-type id='103' name='L16' clockrate='16000' channels='2'/>
<payload-type id='98' name='x-ISAC' clockrate='8000'/>
@ -219,7 +239,11 @@
sid='v1d30k1ll3dth3r4d10st4r'>
<content content='initiator' name='this-is-the-video-content' profile='RTP/AVP'>
<description xmlns='http://www.xmpp.org/extensions/xep-0167.html#ns'>
<payload-type id='96' name='theora'/>
<payload-type id='96' name='theora' height='720' width='1280'>
<parameter name='delivery-method' value='inline'/>
<parameter name='configutation' value='somebase16string'/>
<parameter name='sampling' value='YCbCr-4:2:2'/>
</payload-type>
<payload-type id='18' name='G729'/>
<payload-type id='0' name='PCMU' />
<payload-type id='102' name='iLBC'/>
@ -303,20 +327,17 @@ a=fmtp:98 width=352;height=288;
]]></example>
<p>As noted, if additional parameters are to be specified, they shall be represented as attributes of the &lt;payload-type/&gt; element of the child &lt;parameter/&gt; element, as in the following example.</p>
<example caption="Jingle Format for Dynamic Payload-Type With Parameters"><![CDATA[
<payload-type id='98' name='vc1'>
<parameter name='bitrate' value='384000'/>
<parameter name='buffer' value='2000'/>
<parameter name='config' value='4e291800'/>
<parameter name='framerate' value='15000'/>
<parameter name='level' value='2'/>
<parameter name='profile' value='0'/>
<payload-type id='96' name='theora' height='720' width='1280'>
<parameter name='delivery-method' value='inline'/>
<parameter name='configutation' value='somebase16string'/>
<parameter name='sampling' value='YCbCr-4:2:2'/>
</payload-type>
]]></example>
<example caption="SDP Mapping of Dynamic Payload-Type With Parameters"><![CDATA[
m=video 49170 RTP/AVP 98
a=rtpmap:98 vc1/90000
a=fmtp:98 profile=0;level=2;width=352;height=288;framerate=15000;
bitrate=384000;buffer=2000;config=4e291800
a=rtpmap:96 theora/90000
a=fmtp:96 sampling=YCbCr-4:2:2; width=1280; height=720;
delivery-method=inline; configuration=somebase16string;
]]></example>
</section1>
@ -351,7 +372,7 @@ bitrate=384000;buffer=2000;config=4e291800
<section1 topic='Implementation Notes' anchor='impl'>
<section2 topic='Codecs' anchor='impl-codecs'>
<p>Support for the Theora codec <note>See &lt;<link url='http://www.theora.org/'>http://www.theora.org/</link>&gt;.</note> is RECOMMENDED.</p>
<p>Support for the Theora codec is RECOMMENDED.</p>
</section2>
</section1>