<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>gstrtppayloads</title> <meta name="generator" content="DocBook XSL Stylesheets V1.72.0"> <link rel="start" href="index.html" title="GStreamer Base Plugins 0.10 Library Reference Manual"> <link rel="up" href="gstreamer-rtp.html" title="RTP Library"> <link rel="prev" href="gst-plugins-base-libs-gstbasertppayload.html" title="gstbasertppayload"> <link rel="next" href="gst-plugins-base-libs-gstrtpbuffer.html" title="gstrtpbuffer"> <meta name="generator" content="GTK-Doc V1.8 (XML mode)"> <link rel="stylesheet" href="style.css" type="text/css"> <link rel="part" href="gstreamer-plugins-base.html" title="Part I. GStreamer Base Plugins Libraries"> <link rel="chapter" href="gstreamer-audio.html" title="Audio Library"> <link rel="chapter" href="gstreamer-cdda.html" title="CDDA Library"> <link rel="chapter" href="gstreamer-ffft.html" title="FFT Library"> <link rel="chapter" href="gstreamer-floatcast.html" title="FloatCast Library"> <link rel="chapter" href="gstreamer-interfaces.html" title="Interfaces Library"> <link rel="chapter" href="gstreamer-netbuffer.html" title="Network Buffer Library"> <link rel="chapter" href="gstreamer-riff.html" title="Riff Media Library"> <link rel="chapter" href="gstreamer-rtp.html" title="RTP Library"> <link rel="chapter" href="gstreamer-rtsp.html" title="RTSP Library"> <link rel="chapter" href="gstreamer-sdp.html" title="SDP Library"> <link rel="chapter" href="gstreamer-tag.html" title="Tag Support Library"> <link rel="chapter" href="gstreamer-base-utils.html" title="Base Utils Library"> <link rel="chapter" href="gstreamer-video.html" title="Video Library"> <link rel="part" href="gstreamer-libs-hierarchy.html" title="Part II. Object Hierarchy"> <link rel="index" href="api-index.html" title="Index"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"> <tr valign="middle"> <td><a accesskey="p" href="gst-plugins-base-libs-gstbasertppayload.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> <td><a accesskey="u" href="gstreamer-rtp.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> <th width="100%" align="center">GStreamer Base Plugins 0.10 Library Reference Manual</th> <td><a accesskey="n" href="gst-plugins-base-libs-gstrtpbuffer.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> </tr> <tr><td colspan="5" class="shortcuts"><nobr><a href="#id2653929" class="shortcut">Top</a>  |  <a href="#id2654026" class="shortcut">Description</a></nobr></td></tr> </table> <div class="refentry" lang="en"> <a name="gst-plugins-base-libs-gstrtppayloads"></a><div class="titlepage"></div> <div class="refnamediv"><table width="100%"><tr> <td valign="top"> <h2> <a name="id2653929"></a><span class="refentrytitle">gstrtppayloads</span> </h2> <p>gstrtppayloads — Helper methods for dealing with RTP payloads</p> </td> <td valign="top" align="right"></td> </tr></table></div> <div class="refsynopsisdiv"> <h2>Synopsis</h2> <pre class="synopsis"> #include <gst/rtp/gstrtppayload.h> enum <a href="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayload">GstRTPPayload</a>; #define <a href="gst-plugins-base-libs-gstrtppayloads.html#GST-RTP-PAYLOAD-IS-DYNAMIC:CAPS">GST_RTP_PAYLOAD_IS_DYNAMIC</a> (pt) <a href="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo">GstRTPPayloadInfo</a>; const <a href="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo">GstRTPPayloadInfo</a>* <a href="gst-plugins-base-libs-gstrtppayloads.html#gst-rtp-payload-info-for-name">gst_rtp_payload_info_for_name</a> (const gchar *media, const gchar *encoding_name); const <a href="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo">GstRTPPayloadInfo</a>* <a href="gst-plugins-base-libs-gstrtppayloads.html#gst-rtp-payload-info-for-pt">gst_rtp_payload_info_for_pt</a> (guint8 payload_type); </pre> </div> <div class="refsect1" lang="en"> <a name="id2654026"></a><h2>Description</h2> <p> </p> <div class="refsect2" lang="en"> <a name="id2654038"></a><p> The GstRTPPayloads helper functions makes it easy to deal with static and dynamic payloads. Its main purpose is to retrieve properties such as the default clock-rate and get session bandwidth information. </p> </div> <p> </p> <p> Last reviewed on 2007-10-01 (0.10.15)</p> <p> </p> </div> <div class="refsect1" lang="en"> <a name="id2654056"></a><h2>Details</h2> <div class="refsect2" lang="en"> <a name="id2654067"></a><h3> <a name="GstRTPPayload"></a>enum GstRTPPayload</h3> <a class="indexterm" name="id2654080"></a><pre class="programlisting">typedef enum { /* Audio: */ GST_RTP_PAYLOAD_PCMU = 0, GST_RTP_PAYLOAD_1016 = 1, /* RFC 3551 says reserved */ GST_RTP_PAYLOAD_G721 = 2, /* RFC 3551 says reserved */ GST_RTP_PAYLOAD_GSM = 3, GST_RTP_PAYLOAD_G723 = 4, GST_RTP_PAYLOAD_DVI4_8000 = 5, GST_RTP_PAYLOAD_DVI4_16000 = 6, GST_RTP_PAYLOAD_LPC = 7, GST_RTP_PAYLOAD_PCMA = 8, GST_RTP_PAYLOAD_G722 = 9, GST_RTP_PAYLOAD_L16_STEREO = 10, GST_RTP_PAYLOAD_L16_MONO = 11, GST_RTP_PAYLOAD_QCELP = 12, GST_RTP_PAYLOAD_CN = 13, GST_RTP_PAYLOAD_MPA = 14, GST_RTP_PAYLOAD_G728 = 15, GST_RTP_PAYLOAD_DVI4_11025 = 16, GST_RTP_PAYLOAD_DVI4_22050 = 17, GST_RTP_PAYLOAD_G729 = 18, /* Video: */ GST_RTP_PAYLOAD_CELLB = 25, GST_RTP_PAYLOAD_JPEG = 26, GST_RTP_PAYLOAD_NV = 28, GST_RTP_PAYLOAD_H261 = 31, GST_RTP_PAYLOAD_MPV = 32, GST_RTP_PAYLOAD_MP2T = 33, GST_RTP_PAYLOAD_H263 = 34, /* BOTH */ } GstRTPPayload; </pre> <p> Standard predefined fixed payload types. </p> <p> The official list is at: http://www.iana.org/assignments/rtp-parameters </p> <p> Audio: reserved: 19 unassigned: 20-23, </p> <p> Video: unassigned: 24, 27, 29, 30, 35-71, 77-95 Reserved for RTCP conflict avoidance: 72-76</p> <p> </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> <tbody> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-PCMU:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_PCMU</code></span></td> <td> ITU-T G.711. mu-law audio (RFC 3551) </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-1016:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_1016</code></span></td> <td> RFC 3551 says reserved </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-G721:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_G721</code></span></td> <td> RFC 3551 says reserved </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-GSM:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_GSM</code></span></td> <td> GSM audio </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-G723:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_G723</code></span></td> <td> ITU G.723.1 audio </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-DVI4-8000:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_DVI4_8000</code></span></td> <td> IMA ADPCM wave type (RFC 3551) </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-DVI4-16000:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_DVI4_16000</code></span></td> <td> IMA ADPCM wave type (RFC 3551) </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-LPC:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_LPC</code></span></td> <td> experimental linear predictive encoding </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-PCMA:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_PCMA</code></span></td> <td> ITU-T G.711 A-law audio (RFC 3551) </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-G722:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_G722</code></span></td> <td> ITU-T G.722 (RFC 3551) </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-L16-STEREO:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_L16_STEREO</code></span></td> <td> stereo PCM </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-L16-MONO:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_L16_MONO</code></span></td> <td> mono PCM </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-QCELP:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_QCELP</code></span></td> <td> EIA & TIA standard IS-733 </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-CN:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_CN</code></span></td> <td> Comfort Noise (RFC 3389) </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-MPA:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_MPA</code></span></td> <td> Audio MPEG 1-3. </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-G728:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_G728</code></span></td> <td> ITU-T G.728 Speech coder (RFC 3551) </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-DVI4-11025:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_DVI4_11025</code></span></td> <td> IMA ADPCM wave type (RFC 3551) </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-DVI4-22050:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_DVI4_22050</code></span></td> <td> IMA ADPCM wave type (RFC 3551) </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-G729:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_G729</code></span></td> <td> ITU-T G.729 Speech coder (RFC 3551) </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-CELLB:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_CELLB</code></span></td> <td> See RFC 2029 </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-JPEG:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_JPEG</code></span></td> <td> ISO Standards 10918-1 and 10918-2 (RFC 2435) </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-NV:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_NV</code></span></td> <td> nv encoding by Ron Frederick </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-H261:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_H261</code></span></td> <td> ITU-T Recommendation H.261 (RFC 2032) </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-MPV:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_MPV</code></span></td> <td> Video MPEG 1 & 2 (RFC 2250) </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-MP2T:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_MP2T</code></span></td> <td> MPEG-2 transport stream (RFC 2250) </td> </tr> <tr> <td><span class="term"><a name="GST-RTP-PAYLOAD-H263:CAPS"></a><code class="literal">GST_RTP_PAYLOAD_H263</code></span></td> <td> Video H263 (RFC 2190) </td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <a name="id2654731"></a><h3> <a name="GST-RTP-PAYLOAD-IS-DYNAMIC:CAPS"></a>GST_RTP_PAYLOAD_IS_DYNAMIC()</h3> <a class="indexterm" name="id2654745"></a><pre class="programlisting">#define GST_RTP_PAYLOAD_IS_DYNAMIC(pt) ((pt) >= 96 && (pt) <= 127) </pre> <p> Check if <em class="parameter"><code>pt</code></em> is a dynamic payload type.</p> <p> </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> <tbody><tr> <td><span class="term"><em class="parameter"><code>pt</code></em> :</span></td> <td> a payload type </td> </tr></tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <a name="id2654789"></a><h3> <a name="GstRTPPayloadInfo"></a>GstRTPPayloadInfo</h3> <a class="indexterm" name="id2654802"></a><pre class="programlisting">typedef struct { guint8 payload_type; const gchar *media; const gchar *encoding_name; guint clock_rate; const gchar *encoding_parameters; guint bitrate; } GstRTPPayloadInfo; </pre> <p> Structure holding default payload type information.</p> <p> </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> <tbody> <tr> <td><span class="term">guint8 <em class="structfield"><code>payload_type</code></em>;</span></td> <td> payload type, -1 means dynamic </td> </tr> <tr> <td><span class="term">const gchar *<em class="structfield"><code>media</code></em>;</span></td> <td> the media type(s), usually "audio", "video", "application", "text", "message". </td> </tr> <tr> <td><span class="term">const gchar *<em class="structfield"><code>encoding_name</code></em>;</span></td> <td> the encoding name of <em class="parameter"><code>pt</code></em> </td> </tr> <tr> <td><span class="term">guint <em class="structfield"><code>clock_rate</code></em>;</span></td> <td> default clock rate, 0 = unknown/variable </td> </tr> <tr> <td><span class="term">const gchar *<em class="structfield"><code>encoding_parameters</code></em>;</span></td> <td> encoding parameters. For audio this is the number of channels. NULL = not applicable. </td> </tr> <tr> <td><span class="term">guint <em class="structfield"><code>bitrate</code></em>;</span></td> <td> the bitrate of the media. 0 = unknown/variable. </td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <a name="id2654964"></a><h3> <a name="gst-rtp-payload-info-for-name"></a>gst_rtp_payload_info_for_name ()</h3> <a class="indexterm" name="id2654978"></a><pre class="programlisting">const <a href="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo">GstRTPPayloadInfo</a>* gst_rtp_payload_info_for_name (const gchar *media, const gchar *encoding_name);</pre> <p> Get the <a href="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo"><span class="type">GstRTPPayloadInfo</span></a> for <em class="parameter"><code>media</code></em> and <em class="parameter"><code>encoding_name</code></em>. This function is mostly used to get the default clock-rate and bandwidth for dynamic payload types specified with <em class="parameter"><code>media</code></em> and <em class="parameter"><code>encoding</code></em> name. </p> <p> The search for <em class="parameter"><code>encoding_name</code></em> will be performed in a case insensitve way.</p> <p> </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> <tbody> <tr> <td><span class="term"><em class="parameter"><code>media</code></em> :</span></td> <td> the media to find </td> </tr> <tr> <td><span class="term"><em class="parameter"><code>encoding_name</code></em> :</span></td> <td> the encoding name to find </td> </tr> <tr> <td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td> <td> a <a href="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo"><span class="type">GstRTPPayloadInfo</span></a> or NULL when no info could be found. </td> </tr> </tbody> </table></div> </div> <hr> <div class="refsect2" lang="en"> <a name="id2655116"></a><h3> <a name="gst-rtp-payload-info-for-pt"></a>gst_rtp_payload_info_for_pt ()</h3> <a class="indexterm" name="id2655130"></a><pre class="programlisting">const <a href="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo">GstRTPPayloadInfo</a>* gst_rtp_payload_info_for_pt (guint8 payload_type);</pre> <p> Get the <a href="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo"><span class="type">GstRTPPayloadInfo</span></a> for <em class="parameter"><code>payload_type</code></em>. This function is mostly used to get the default clock-rate and bandwidth for static payload types specified with <em class="parameter"><code>payload_type</code></em>.</p> <p> </p> <div class="variablelist"><table border="0"> <col align="left" valign="top"> <tbody> <tr> <td><span class="term"><em class="parameter"><code>payload_type</code></em> :</span></td> <td> the payload_type to find </td> </tr> <tr> <td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td> <td> a <a href="gst-plugins-base-libs-gstrtppayloads.html#GstRTPPayloadInfo"><span class="type">GstRTPPayloadInfo</span></a> or NULL when no info could be found. </td> </tr> </tbody> </table></div> </div> </div> <div class="refsect1" lang="en"> <a name="id2655224"></a><h2>See Also</h2> gstrtpbuffer </div> </div> </body> </html>