906baa6a9dfd87ac19f3b49eb25ce8fc75ffdad4
[framework/multimedia/gst-plugins-good0.10.git] / docs / plugins / html / gst-plugins-good-plugins-gstrtpbin.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>gstrtpbin</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
7 <link rel="home" href="index.html" title="GStreamer Good Plugins 0.10 Plugins Reference Manual">
8 <link rel="up" href="ch01.html" title="gst-plugins-good Elements">
9 <link rel="prev" href="gst-plugins-good-plugins-goom2k1.html" title="goom2k1">
10 <link rel="next" href="gst-plugins-good-plugins-gstrtpjitterbuffer.html" title="gstrtpjitterbuffer">
11 <meta name="generator" content="GTK-Doc V1.17 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="gst-plugins-good-plugins-goom2k1.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GStreamer Good Plugins 0.10 Plugins Reference Manual</th>
21 <td><a accesskey="n" href="gst-plugins-good-plugins-gstrtpjitterbuffer.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#gst-plugins-good-plugins-gstrtpbin.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#gst-plugins-good-plugins-gstrtpbin.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#gst-plugins-good-plugins-gstrtpbin.object-hierarchy" class="shortcut">Object Hierarchy</a>
29                    | 
30                   <a href="#gst-plugins-good-plugins-gstrtpbin.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
31                    | 
32                   <a href="#gst-plugins-good-plugins-gstrtpbin.properties" class="shortcut">Properties</a>
33                    | 
34                   <a href="#gst-plugins-good-plugins-gstrtpbin.signals" class="shortcut">Signals</a>
35 </td></tr>
36 </table>
37 <div class="refentry">
38 <a name="gst-plugins-good-plugins-gstrtpbin"></a><div class="titlepage"></div>
39 <div class="refnamediv"><table width="100%"><tr>
40 <td valign="top">
41 <h2><span class="refentrytitle"><a name="gst-plugins-good-plugins-gstrtpbin.top_of_page"></a>gstrtpbin</span></h2>
42 <p>gstrtpbin — Real-Time Transport Protocol bin</p>
43 </td>
44 <td valign="top" align="right"></td>
45 </tr></table></div>
46 <div class="refsynopsisdiv">
47 <a name="gst-plugins-good-plugins-gstrtpbin.synopsis"></a><h2>Synopsis</h2>
48 <a name="GstRtpBin"></a><pre class="synopsis">struct              <a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin-struct" title="struct GstRtpBin">GstRtpBin</a>;
49 </pre>
50 </div>
51 <div class="refsect1">
52 <a name="gst-plugins-good-plugins-gstrtpbin.object-hierarchy"></a><h2>Object Hierarchy</h2>
53 <pre class="synopsis">
54   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
55    +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
56          +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
57                +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstBin.html">GstBin</a>
58                      +----GstRtpBin
59 </pre>
60 </div>
61 <div class="refsect1">
62 <a name="gst-plugins-good-plugins-gstrtpbin.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
63 <p>
64 GstRtpBin implements
65  <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstChildProxy.html">GstChildProxy</a>.</p>
66 </div>
67 <div class="refsect1">
68 <a name="gst-plugins-good-plugins-gstrtpbin.properties"></a><h2>Properties</h2>
69 <pre class="synopsis">
70   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin--do-lost" title='The "do-lost" property'>do-lost</a>"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
71   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin--latency" title='The "latency" property'>latency</a>"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write
72   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin--sdes" title='The "sdes" property'>sdes</a>"                     <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a>*         : Read / Write
73   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin--ignore-pt" title='The "ignore-pt" property'>ignore-pt</a>"                <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
74   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin--autoremove" title='The "autoremove" property'>autoremove</a>"               <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
75   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin--buffer-mode" title='The "buffer-mode" property'>buffer-mode</a>"              <span class="type">RTPJitterBufferMode</span>   : Read / Write
76   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin--ntp-sync" title='The "ntp-sync" property'>ntp-sync</a>"                 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
77   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin--use-pipeline-clock" title='The "use-pipeline-clock" property'>use-pipeline-clock</a>"       <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
78 </pre>
79 </div>
80 <div class="refsect1">
81 <a name="gst-plugins-good-plugins-gstrtpbin.signals"></a><h2>Signals</h2>
82 <pre class="synopsis">
83   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin-clear-pt-map" title='The "clear-pt-map" signal'>clear-pt-map</a>"                                   : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a>
84   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin-get-internal-session" title='The "get-internal-session" signal'>get-internal-session</a>"                           : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a>
85   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin-on-bye-ssrc" title='The "on-bye-ssrc" signal'>on-bye-ssrc</a>"                                    : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
86   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin-on-bye-timeout" title='The "on-bye-timeout" signal'>on-bye-timeout</a>"                                 : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
87   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin-on-new-ssrc" title='The "on-new-ssrc" signal'>on-new-ssrc</a>"                                    : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
88   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin-on-npt-stop" title='The "on-npt-stop" signal'>on-npt-stop</a>"                                    : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
89   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin-on-sender-timeout" title='The "on-sender-timeout" signal'>on-sender-timeout</a>"                              : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
90   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin-on-ssrc-active" title='The "on-ssrc-active" signal'>on-ssrc-active</a>"                                 : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
91   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin-on-ssrc-collision" title='The "on-ssrc-collision" signal'>on-ssrc-collision</a>"                              : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
92   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin-on-ssrc-sdes" title='The "on-ssrc-sdes" signal'>on-ssrc-sdes</a>"                                   : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
93   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin-on-ssrc-validated" title='The "on-ssrc-validated" signal'>on-ssrc-validated</a>"                              : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
94   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin-on-timeout" title='The "on-timeout" signal'>on-timeout</a>"                                     : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
95   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin-request-pt-map" title='The "request-pt-map" signal'>request-pt-map</a>"                                 : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
96   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin-reset-sync" title='The "reset-sync" signal'>reset-sync</a>"                                     : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a>
97   "<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin-payload-type-change" title='The "payload-type-change" signal'>payload-type-change</a>"                            : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
98 </pre>
99 </div>
100 <div class="refsect1">
101 <a name="gst-plugins-good-plugins-gstrtpbin.description"></a><h2>Description</h2>
102 <p>
103 RTP bin combines the functions of <a class="link" href="gst-plugins-good-plugins-gstrtpsession.html#GstRtpSession"><span class="type">GstRtpSession</span></a>, <a class="link" href="gst-plugins-good-plugins-gstrtpssrcdemux.html#GstRtpSsrcDemux"><span class="type">GstRtpSsrcDemux</span></a>,
104 <a class="link" href="gst-plugins-good-plugins-gstrtpjitterbuffer.html#GstRtpJitterBuffer"><span class="type">GstRtpJitterBuffer</span></a> and <a class="link" href="gst-plugins-good-plugins-gstrtpptdemux.html#GstRtpPtDemux"><span class="type">GstRtpPtDemux</span></a> in one element. It allows for multiple
105 RTP sessions that will be synchronized together using RTCP SR packets.
106 </p>
107 <p>
108 <a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> is configured with a number of request pads that define the
109 functionality that is activated, similar to the <a class="link" href="gst-plugins-good-plugins-gstrtpsession.html#GstRtpSession"><span class="type">GstRtpSession</span></a> element.
110 </p>
111 <p>
112 To use <a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> as an RTP receiver, request a recv_rtp_sink_%d pad. The session
113 number must be specified in the pad name.
114 Data received on the recv_rtp_sink_%d pad will be processed in the <a class="link" href="gst-plugins-good-plugins-gstrtpsession.html#GstRtpSession"><span class="type">GstRtpSession</span></a>
115 manager and after being validated forwarded on <a class="link" href="gst-plugins-good-plugins-gstrtpssrcdemux.html#GstRtpSsrcDemux"><span class="type">GstRtpSsrcDemux</span></a> element. Each
116 RTP stream is demuxed based on the SSRC and send to a <a class="link" href="gst-plugins-good-plugins-gstrtpjitterbuffer.html#GstRtpJitterBuffer"><span class="type">GstRtpJitterBuffer</span></a>. After
117 the packets are released from the jitterbuffer, they will be forwarded to a
118 <a class="link" href="gst-plugins-good-plugins-gstrtpptdemux.html#GstRtpPtDemux"><span class="type">GstRtpPtDemux</span></a> element. The <a class="link" href="gst-plugins-good-plugins-gstrtpptdemux.html#GstRtpPtDemux"><span class="type">GstRtpPtDemux</span></a> element will demux the packets based
119 on the payload type and will create a unique pad recv_rtp_src_%d_%d_%d on
120 gstrtpbin with the session number, SSRC and payload type respectively as the pad
121 name.
122 </p>
123 <p>
124 To also use <a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> as an RTCP receiver, request a recv_rtcp_sink_%d pad. The
125 session number must be specified in the pad name.
126 </p>
127 <p>
128 If you want the session manager to generate and send RTCP packets, request
129 the send_rtcp_src_%d pad with the session number in the pad name. Packet pushed
130 on this pad contain SR/RR RTCP reports that should be sent to all participants
131 in the session.
132 </p>
133 <p>
134 To use <a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> as a sender, request a send_rtp_sink_%d pad, which will
135 automatically create a send_rtp_src_%d pad. If the session number is not provided,
136 the pad from the lowest available session will be returned. The session manager will modify the
137 SSRC in the RTP packets to its own SSRC and wil forward the packets on the
138 send_rtp_src_%d pad after updating its internal state.
139 </p>
140 <p>
141 The session manager needs the clock-rate of the payload types it is handling
142 and will signal the <a class="link" href="gst-plugins-good-plugins-gstrtpsession.html#GstRtpSession-request-pt-map" title='The "request-pt-map" signal'><span class="type">"request-pt-map"</span></a> signal when it needs such a
143 mapping. One can clear the cached values with the <a class="link" href="gst-plugins-good-plugins-gstrtpsession.html#GstRtpSession-clear-pt-map" title='The "clear-pt-map" signal'><span class="type">"clear-pt-map"</span></a>
144 signal.
145 </p>
146 <p>
147 Access to the internal statistics of gstrtpbin is provided with the
148 get-internal-session property. This action signal gives access to the
149 RTPSession object which further provides action signals to retrieve the
150 internal source and other sources.
151 </p>
152 <p>
153 </p>
154 <div class="refsect2">
155 <a name="idp15521488"></a><h3>Example pipelines</h3>
156 <div class="informalexample">
157   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
158     <tbody>
159       <tr>
160         <td class="listing_lines" align="right"><pre>1
161 2</pre></td>
162         <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch udpsrc port<span class="gtkdoc opt">=</span><span class="number">5000</span> caps<span class="gtkdoc opt">=</span><span class="string">&quot;application/x-rtp, ...&quot;</span> <span class="gtkdoc opt">! .</span>recv_rtp_sink_0 \
163     gstrtpbin <span class="gtkdoc opt">!</span> rtptheoradepay <span class="gtkdoc opt">!</span> theoradec <span class="gtkdoc opt">!</span> xvimagesink</pre></td>
164       </tr>
165     </tbody>
166   </table>
167 </div>
168  Receive RTP data from port 5000 and send to the session 0 in gstrtpbin.
169 <div class="informalexample">
170   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
171     <tbody>
172       <tr>
173         <td class="listing_lines" align="right"><pre>1
174 2
175 3
176 4
177 5
178 6
179 7
180 8
181 9</pre></td>
182         <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch gstrtpbin name<span class="gtkdoc opt">=</span>rtpbin \
183         v4l2src <span class="gtkdoc opt">!</span> ffmpegcolorspace <span class="gtkdoc opt">!</span> ffenc_h263 <span class="gtkdoc opt">!</span> rtph263ppay <span class="gtkdoc opt">!</span> rtpbin<span class="gtkdoc opt">.</span>send_rtp_sink_0 \
184                   rtpbin<span class="gtkdoc opt">.</span>send_rtp_src_0 <span class="gtkdoc opt">!</span> udpsink port<span class="gtkdoc opt">=</span><span class="number">5000</span>                            \
185                   rtpbin<span class="gtkdoc opt">.</span>send_rtcp_src_0 <span class="gtkdoc opt">!</span> udpsink port<span class="gtkdoc opt">=</span><span class="number">5001</span> sync<span class="gtkdoc opt">=</span><span class="keyword">false</span> async<span class="gtkdoc opt">=</span><span class="keyword">false</span>    \
186                   udpsrc port<span class="gtkdoc opt">=</span><span class="number">5005</span> <span class="gtkdoc opt">!</span> rtpbin<span class="gtkdoc opt">.</span>recv_rtcp_sink_0                           \
187         audiotestsrc <span class="gtkdoc opt">!</span> amrnbenc <span class="gtkdoc opt">!</span> rtpamrpay <span class="gtkdoc opt">!</span> rtpbin<span class="gtkdoc opt">.</span>send_rtp_sink_1                   \
188                   rtpbin<span class="gtkdoc opt">.</span>send_rtp_src_1 <span class="gtkdoc opt">!</span> udpsink port<span class="gtkdoc opt">=</span><span class="number">5002</span>                            \
189                   rtpbin<span class="gtkdoc opt">.</span>send_rtcp_src_1 <span class="gtkdoc opt">!</span> udpsink port<span class="gtkdoc opt">=</span><span class="number">5003</span> sync<span class="gtkdoc opt">=</span><span class="keyword">false</span> async<span class="gtkdoc opt">=</span><span class="keyword">false</span>    \
190                   udpsrc port<span class="gtkdoc opt">=</span><span class="number">5007</span> <span class="gtkdoc opt">!</span> rtpbin<span class="gtkdoc opt">.</span>recv_rtcp_sink_1</pre></td>
191       </tr>
192     </tbody>
193   </table>
194 </div>
195  Encode and payload H263 video captured from a v4l2src. Encode and payload AMR
196 audio generated from audiotestsrc. The video is sent to session 0 in rtpbin
197 and the audio is sent to session 1. Video packets are sent on UDP port 5000
198 and audio packets on port 5002. The video RTCP packets for session 0 are sent
199 on port 5001 and the audio RTCP packets for session 0 are sent on port 5003.
200 RTCP packets for session 0 are received on port 5005 and RTCP for session 1
201 is received on port 5007. Since RTCP packets from the sender should be sent
202 as soon as possible and do not participate in preroll, sync=false and
203 async=false is configured on udpsink
204 <div class="informalexample">
205   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
206     <tbody>
207       <tr>
208         <td class="listing_lines" align="right"><pre>1
209 2
210 3
211 4
212 5
213 6
214 7
215 8
216 9
217 10
218 11</pre></td>
219         <td class="listing_code"><pre class="programlisting">gst<span class="gtkdoc opt">-</span>launch <span class="gtkdoc opt">-</span>v gstrtpbin name<span class="gtkdoc opt">=</span>rtpbin                                          \
220     udpsrc caps<span class="gtkdoc opt">=</span><span class="string">&quot;application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H263-1998&quot;</span> \
221             port<span class="gtkdoc opt">=</span><span class="number">5000</span> <span class="gtkdoc opt">!</span> rtpbin<span class="gtkdoc opt">.</span>recv_rtp_sink_0                                \
222         rtpbin<span class="gtkdoc opt">. !</span> rtph263pdepay <span class="gtkdoc opt">!</span> ffdec_h263 <span class="gtkdoc opt">!</span> xvimagesink                    \
223      udpsrc port<span class="gtkdoc opt">=</span><span class="number">5001</span> <span class="gtkdoc opt">!</span> rtpbin<span class="gtkdoc opt">.</span>recv_rtcp_sink_0                               \
224      rtpbin<span class="gtkdoc opt">.</span>send_rtcp_src_0 <span class="gtkdoc opt">!</span> udpsink port<span class="gtkdoc opt">=</span><span class="number">5005</span> sync<span class="gtkdoc opt">=</span><span class="keyword">false</span> async<span class="gtkdoc opt">=</span><span class="keyword">false</span>        \
225     udpsrc caps<span class="gtkdoc opt">=</span><span class="string">&quot;application/x-rtp,media=(string)audio,clock-rate=(int)8000,encoding-name=(string)AMR,encoding-params=(string)1,octet-align=(string)1&quot;</span> \
226             port<span class="gtkdoc opt">=</span><span class="number">5002</span> <span class="gtkdoc opt">!</span> rtpbin<span class="gtkdoc opt">.</span>recv_rtp_sink_1                                \
227         rtpbin<span class="gtkdoc opt">. !</span> rtpamrdepay <span class="gtkdoc opt">!</span> amrnbdec <span class="gtkdoc opt">!</span> alsasink                           \
228      udpsrc port<span class="gtkdoc opt">=</span><span class="number">5003</span> <span class="gtkdoc opt">!</span> rtpbin<span class="gtkdoc opt">.</span>recv_rtcp_sink_1                               \
229      rtpbin<span class="gtkdoc opt">.</span>send_rtcp_src_1 <span class="gtkdoc opt">!</span> udpsink port<span class="gtkdoc opt">=</span><span class="number">5007</span> sync<span class="gtkdoc opt">=</span><span class="keyword">false</span> async<span class="gtkdoc opt">=</span><span class="keyword">false</span></pre></td>
230       </tr>
231     </tbody>
232   </table>
233 </div>
234  Receive H263 on port 5000, send it through rtpbin in session 0, depayload,
235 decode and display the video.
236 Receive AMR on port 5002, send it through rtpbin in session 1, depayload,
237 decode and play the audio.
238 Receive server RTCP packets for session 0 on port 5001 and RTCP packets for
239 session 1 on port 5003. These packets will be used for session management and
240 synchronisation.
241 Send RTCP reports for session 0 on port 5005 and RTCP reports for session 1
242 on port 5007.
243 </div>
244 <p>
245 </p>
246 <p>
247 Last reviewed on 2007-08-30 (0.10.6)
248 </p>
249 <div class="refsynopsisdiv">
250 <h2>Synopsis</h2>
251 <div class="refsect2">
252 <a name="idp15529392"></a><h3>Element Information</h3>
253 <div class="variablelist"><table border="0">
254 <col align="left" valign="top">
255 <tbody>
256 <tr>
257 <td><p><span class="term">plugin</span></p></td>
258 <td>
259             <a class="link" href="gst-plugins-good-plugins-plugin-gstrtpmanager.html#plugin-gstrtpmanager">gstrtpmanager</a>
260           </td>
261 </tr>
262 <tr>
263 <td><p><span class="term">author</span></p></td>
264 <td>Wim Taymans &lt;wim.taymans@gmail.com&gt;</td>
265 </tr>
266 <tr>
267 <td><p><span class="term">class</span></p></td>
268 <td>Filter/Network/RTP</td>
269 </tr>
270 </tbody>
271 </table></div>
272 </div>
273 <hr>
274 <div class="refsect2">
275 <a name="idp15536848"></a><h3>Element Pads</h3>
276 <div class="variablelist"><table border="0">
277 <col align="left" valign="top">
278 <tbody>
279 <tr>
280 <td><p><span class="term">name</span></p></td>
281 <td>recv_rtcp_sink_%d</td>
282 </tr>
283 <tr>
284 <td><p><span class="term">direction</span></p></td>
285 <td>sink</td>
286 </tr>
287 <tr>
288 <td><p><span class="term">presence</span></p></td>
289 <td>request</td>
290 </tr>
291 <tr>
292 <td><p><span class="term">details</span></p></td>
293 <td>application/x-rtcp</td>
294 </tr>
295 </tbody>
296 </table></div>
297 <div class="variablelist"><table border="0">
298 <col align="left" valign="top">
299 <tbody>
300 <tr>
301 <td><p><span class="term">name</span></p></td>
302 <td>recv_rtp_sink_%d</td>
303 </tr>
304 <tr>
305 <td><p><span class="term">direction</span></p></td>
306 <td>sink</td>
307 </tr>
308 <tr>
309 <td><p><span class="term">presence</span></p></td>
310 <td>request</td>
311 </tr>
312 <tr>
313 <td><p><span class="term">details</span></p></td>
314 <td>application/x-rtp</td>
315 </tr>
316 </tbody>
317 </table></div>
318 <div class="variablelist"><table border="0">
319 <col align="left" valign="top">
320 <tbody>
321 <tr>
322 <td><p><span class="term">name</span></p></td>
323 <td>send_rtp_sink_%d</td>
324 </tr>
325 <tr>
326 <td><p><span class="term">direction</span></p></td>
327 <td>sink</td>
328 </tr>
329 <tr>
330 <td><p><span class="term">presence</span></p></td>
331 <td>request</td>
332 </tr>
333 <tr>
334 <td><p><span class="term">details</span></p></td>
335 <td>application/x-rtp</td>
336 </tr>
337 </tbody>
338 </table></div>
339 <div class="variablelist"><table border="0">
340 <col align="left" valign="top">
341 <tbody>
342 <tr>
343 <td><p><span class="term">name</span></p></td>
344 <td>recv_rtp_src_%d_%d_%d</td>
345 </tr>
346 <tr>
347 <td><p><span class="term">direction</span></p></td>
348 <td>source</td>
349 </tr>
350 <tr>
351 <td><p><span class="term">presence</span></p></td>
352 <td>sometimes</td>
353 </tr>
354 <tr>
355 <td><p><span class="term">details</span></p></td>
356 <td>application/x-rtp</td>
357 </tr>
358 </tbody>
359 </table></div>
360 <div class="variablelist"><table border="0">
361 <col align="left" valign="top">
362 <tbody>
363 <tr>
364 <td><p><span class="term">name</span></p></td>
365 <td>send_rtp_src_%d</td>
366 </tr>
367 <tr>
368 <td><p><span class="term">direction</span></p></td>
369 <td>source</td>
370 </tr>
371 <tr>
372 <td><p><span class="term">presence</span></p></td>
373 <td>sometimes</td>
374 </tr>
375 <tr>
376 <td><p><span class="term">details</span></p></td>
377 <td>application/x-rtp</td>
378 </tr>
379 </tbody>
380 </table></div>
381 <div class="variablelist"><table border="0">
382 <col align="left" valign="top">
383 <tbody>
384 <tr>
385 <td><p><span class="term">name</span></p></td>
386 <td>send_rtcp_src_%d</td>
387 </tr>
388 <tr>
389 <td><p><span class="term">direction</span></p></td>
390 <td>source</td>
391 </tr>
392 <tr>
393 <td><p><span class="term">presence</span></p></td>
394 <td>request</td>
395 </tr>
396 <tr>
397 <td><p><span class="term">details</span></p></td>
398 <td>application/x-rtcp</td>
399 </tr>
400 </tbody>
401 </table></div>
402 </div>
403 </div>
404 <p>
405 </p>
406 </div>
407 <div class="refsect1">
408 <a name="gst-plugins-good-plugins-gstrtpbin.details"></a><h2>Details</h2>
409 <div class="refsect2">
410 <a name="GstRtpBin-struct"></a><h3>struct GstRtpBin</h3>
411 <pre class="programlisting">struct GstRtpBin;</pre>
412 <p>
413 </p>
414 </div>
415 </div>
416 <div class="refsect1">
417 <a name="gst-plugins-good-plugins-gstrtpbin.property-details"></a><h2>Property Details</h2>
418 <div class="refsect2">
419 <a name="GstRtpBin--do-lost"></a><h3>The <code class="literal">"do-lost"</code> property</h3>
420 <pre class="programlisting">  "do-lost"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write</pre>
421 <p>Send an event downstream when a packet is lost.</p>
422 <p>Default value: FALSE</p>
423 </div>
424 <hr>
425 <div class="refsect2">
426 <a name="GstRtpBin--latency"></a><h3>The <code class="literal">"latency"</code> property</h3>
427 <pre class="programlisting">  "latency"                  <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>                 : Read / Write</pre>
428 <p>Default amount of ms to buffer in the jitterbuffers.</p>
429 <p>Default value: 200</p>
430 </div>
431 <hr>
432 <div class="refsect2">
433 <a name="GstRtpBin--sdes"></a><h3>The <code class="literal">"sdes"</code> property</h3>
434 <pre class="programlisting">  "sdes"                     <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstStructure.html#GstStructure"><span class="type">GstStructure</span></a>*         : Read / Write</pre>
435 <p>The SDES items of this session.</p>
436 </div>
437 <hr>
438 <div class="refsect2">
439 <a name="GstRtpBin--ignore-pt"></a><h3>The <code class="literal">"ignore-pt"</code> property</h3>
440 <pre class="programlisting">  "ignore-pt"                <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write</pre>
441 <p>Do not demultiplex based on PT values.</p>
442 <p>Default value: FALSE</p>
443 </div>
444 <hr>
445 <div class="refsect2">
446 <a name="GstRtpBin--autoremove"></a><h3>The <code class="literal">"autoremove"</code> property</h3>
447 <pre class="programlisting">  "autoremove"               <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write</pre>
448 <p>Automatically remove timed out sources.</p>
449 <p>Default value: FALSE</p>
450 </div>
451 <hr>
452 <div class="refsect2">
453 <a name="GstRtpBin--buffer-mode"></a><h3>The <code class="literal">"buffer-mode"</code> property</h3>
454 <pre class="programlisting">  "buffer-mode"              <span class="type">RTPJitterBufferMode</span>   : Read / Write</pre>
455 <p>Control the buffering algorithm in use.</p>
456 <p>Default value: Slave receiver to sender clock</p>
457 </div>
458 <hr>
459 <div class="refsect2">
460 <a name="GstRtpBin--ntp-sync"></a><h3>The <code class="literal">"ntp-sync"</code> property</h3>
461 <pre class="programlisting">  "ntp-sync"                 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write</pre>
462 <p>Synchronize received streams to the NTP clock.</p>
463 <p>Default value: FALSE</p>
464 </div>
465 <hr>
466 <div class="refsect2">
467 <a name="GstRtpBin--use-pipeline-clock"></a><h3>The <code class="literal">"use-pipeline-clock"</code> property</h3>
468 <pre class="programlisting">  "use-pipeline-clock"       <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write</pre>
469 <p>Use the pipeline clock to set the NTP time in the RTCP SR messages.</p>
470 <p>Default value: FALSE</p>
471 </div>
472 </div>
473 <div class="refsect1">
474 <a name="gst-plugins-good-plugins-gstrtpbin.signal-details"></a><h2>Signal Details</h2>
475 <div class="refsect2">
476 <a name="GstRtpBin-clear-pt-map"></a><h3>The <code class="literal">"clear-pt-map"</code> signal</h3>
477 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> *rtpbin,
478                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a></pre>
479 <p>
480 Clear all previously cached pt-mapping obtained with
481 <a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin-request-pt-map" title='The "request-pt-map" signal'><span class="type">"request-pt-map"</span></a>.
482 </p>
483 <div class="variablelist"><table border="0">
484 <col align="left" valign="top">
485 <tbody>
486 <tr>
487 <td><p><span class="term"><em class="parameter"><code>rtpbin</code></em> :</span></p></td>
488 <td>the object which received the signal</td>
489 </tr>
490 <tr>
491 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
492 <td>user data set when the signal handler was connected.</td>
493 </tr>
494 </tbody>
495 </table></div>
496 </div>
497 <hr>
498 <div class="refsect2">
499 <a name="GstRtpBin-get-internal-session"></a><h3>The <code class="literal">"get-internal-session"</code> signal</h3>
500 <pre class="programlisting"><span class="returnvalue">RTPSession</span>*         user_function                      (<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> *rtpbin,
501                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      id,
502                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a></pre>
503 <p>
504 Request the internal RTPSession object as <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject"><span class="type">GObject</span></a> in session <em class="parameter"><code>id</code></em>.
505 </p>
506 <div class="variablelist"><table border="0">
507 <col align="left" valign="top">
508 <tbody>
509 <tr>
510 <td><p><span class="term"><em class="parameter"><code>rtpbin</code></em> :</span></p></td>
511 <td>the object which received the signal</td>
512 </tr>
513 <tr>
514 <td><p><span class="term"><em class="parameter"><code>id</code></em> :</span></p></td>
515 <td>the session id</td>
516 </tr>
517 <tr>
518 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
519 <td>user data set when the signal handler was connected.</td>
520 </tr>
521 </tbody>
522 </table></div>
523 </div>
524 <hr>
525 <div class="refsect2">
526 <a name="GstRtpBin-on-bye-ssrc"></a><h3>The <code class="literal">"on-bye-ssrc"</code> signal</h3>
527 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> *rtpbin,
528                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      session,
529                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      ssrc,
530                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
531 <p>
532 Notify of an SSRC that became inactive because of a BYE packet.
533 </p>
534 <div class="variablelist"><table border="0">
535 <col align="left" valign="top">
536 <tbody>
537 <tr>
538 <td><p><span class="term"><em class="parameter"><code>rtpbin</code></em> :</span></p></td>
539 <td>the object which received the signal</td>
540 </tr>
541 <tr>
542 <td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
543 <td>the session</td>
544 </tr>
545 <tr>
546 <td><p><span class="term"><em class="parameter"><code>ssrc</code></em> :</span></p></td>
547 <td>the SSRC</td>
548 </tr>
549 <tr>
550 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
551 <td>user data set when the signal handler was connected.</td>
552 </tr>
553 </tbody>
554 </table></div>
555 </div>
556 <hr>
557 <div class="refsect2">
558 <a name="GstRtpBin-on-bye-timeout"></a><h3>The <code class="literal">"on-bye-timeout"</code> signal</h3>
559 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> *rtpbin,
560                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      session,
561                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      ssrc,
562                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
563 <p>
564 Notify of an SSRC that has timed out because of BYE
565 </p>
566 <div class="variablelist"><table border="0">
567 <col align="left" valign="top">
568 <tbody>
569 <tr>
570 <td><p><span class="term"><em class="parameter"><code>rtpbin</code></em> :</span></p></td>
571 <td>the object which received the signal</td>
572 </tr>
573 <tr>
574 <td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
575 <td>the session</td>
576 </tr>
577 <tr>
578 <td><p><span class="term"><em class="parameter"><code>ssrc</code></em> :</span></p></td>
579 <td>the SSRC</td>
580 </tr>
581 <tr>
582 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
583 <td>user data set when the signal handler was connected.</td>
584 </tr>
585 </tbody>
586 </table></div>
587 </div>
588 <hr>
589 <div class="refsect2">
590 <a name="GstRtpBin-on-new-ssrc"></a><h3>The <code class="literal">"on-new-ssrc"</code> signal</h3>
591 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> *rtpbin,
592                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      session,
593                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      ssrc,
594                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
595 <p>
596 Notify of a new SSRC that entered <em class="parameter"><code>session</code></em>.
597 </p>
598 <div class="variablelist"><table border="0">
599 <col align="left" valign="top">
600 <tbody>
601 <tr>
602 <td><p><span class="term"><em class="parameter"><code>rtpbin</code></em> :</span></p></td>
603 <td>the object which received the signal</td>
604 </tr>
605 <tr>
606 <td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
607 <td>the session</td>
608 </tr>
609 <tr>
610 <td><p><span class="term"><em class="parameter"><code>ssrc</code></em> :</span></p></td>
611 <td>the SSRC</td>
612 </tr>
613 <tr>
614 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
615 <td>user data set when the signal handler was connected.</td>
616 </tr>
617 </tbody>
618 </table></div>
619 </div>
620 <hr>
621 <div class="refsect2">
622 <a name="GstRtpBin-on-npt-stop"></a><h3>The <code class="literal">"on-npt-stop"</code> signal</h3>
623 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> *rtpbin,
624                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      session,
625                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      ssrc,
626                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
627 <p>
628 Notify that SSRC sender has sent data up to the configured NPT stop time.
629 </p>
630 <div class="variablelist"><table border="0">
631 <col align="left" valign="top">
632 <tbody>
633 <tr>
634 <td><p><span class="term"><em class="parameter"><code>rtpbin</code></em> :</span></p></td>
635 <td>the object which received the signal</td>
636 </tr>
637 <tr>
638 <td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
639 <td>the session</td>
640 </tr>
641 <tr>
642 <td><p><span class="term"><em class="parameter"><code>ssrc</code></em> :</span></p></td>
643 <td>the SSRC</td>
644 </tr>
645 <tr>
646 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
647 <td>user data set when the signal handler was connected.</td>
648 </tr>
649 </tbody>
650 </table></div>
651 </div>
652 <hr>
653 <div class="refsect2">
654 <a name="GstRtpBin-on-sender-timeout"></a><h3>The <code class="literal">"on-sender-timeout"</code> signal</h3>
655 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> *rtpbin,
656                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      session,
657                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      ssrc,
658                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
659 <p>
660 Notify of a sender SSRC that has timed out and became a receiver
661 </p>
662 <div class="variablelist"><table border="0">
663 <col align="left" valign="top">
664 <tbody>
665 <tr>
666 <td><p><span class="term"><em class="parameter"><code>rtpbin</code></em> :</span></p></td>
667 <td>the object which received the signal</td>
668 </tr>
669 <tr>
670 <td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
671 <td>the session</td>
672 </tr>
673 <tr>
674 <td><p><span class="term"><em class="parameter"><code>ssrc</code></em> :</span></p></td>
675 <td>the SSRC</td>
676 </tr>
677 <tr>
678 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
679 <td>user data set when the signal handler was connected.</td>
680 </tr>
681 </tbody>
682 </table></div>
683 </div>
684 <hr>
685 <div class="refsect2">
686 <a name="GstRtpBin-on-ssrc-active"></a><h3>The <code class="literal">"on-ssrc-active"</code> signal</h3>
687 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> *rtpbin,
688                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      session,
689                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      ssrc,
690                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
691 <p>
692 Notify of a SSRC that is active, i.e., sending RTCP.
693 </p>
694 <div class="variablelist"><table border="0">
695 <col align="left" valign="top">
696 <tbody>
697 <tr>
698 <td><p><span class="term"><em class="parameter"><code>rtpbin</code></em> :</span></p></td>
699 <td>the object which received the signal</td>
700 </tr>
701 <tr>
702 <td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
703 <td>the session</td>
704 </tr>
705 <tr>
706 <td><p><span class="term"><em class="parameter"><code>ssrc</code></em> :</span></p></td>
707 <td>the SSRC</td>
708 </tr>
709 <tr>
710 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
711 <td>user data set when the signal handler was connected.</td>
712 </tr>
713 </tbody>
714 </table></div>
715 </div>
716 <hr>
717 <div class="refsect2">
718 <a name="GstRtpBin-on-ssrc-collision"></a><h3>The <code class="literal">"on-ssrc-collision"</code> signal</h3>
719 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> *rtpbin,
720                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      session,
721                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      ssrc,
722                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
723 <p>
724 Notify when we have an SSRC collision
725 </p>
726 <div class="variablelist"><table border="0">
727 <col align="left" valign="top">
728 <tbody>
729 <tr>
730 <td><p><span class="term"><em class="parameter"><code>rtpbin</code></em> :</span></p></td>
731 <td>the object which received the signal</td>
732 </tr>
733 <tr>
734 <td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
735 <td>the session</td>
736 </tr>
737 <tr>
738 <td><p><span class="term"><em class="parameter"><code>ssrc</code></em> :</span></p></td>
739 <td>the SSRC</td>
740 </tr>
741 <tr>
742 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
743 <td>user data set when the signal handler was connected.</td>
744 </tr>
745 </tbody>
746 </table></div>
747 </div>
748 <hr>
749 <div class="refsect2">
750 <a name="GstRtpBin-on-ssrc-sdes"></a><h3>The <code class="literal">"on-ssrc-sdes"</code> signal</h3>
751 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> *rtpbin,
752                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      session,
753                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      ssrc,
754                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
755 <p>
756 Notify of a SSRC that is active, i.e., sending RTCP.
757 </p>
758 <div class="variablelist"><table border="0">
759 <col align="left" valign="top">
760 <tbody>
761 <tr>
762 <td><p><span class="term"><em class="parameter"><code>rtpbin</code></em> :</span></p></td>
763 <td>the object which received the signal</td>
764 </tr>
765 <tr>
766 <td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
767 <td>the session</td>
768 </tr>
769 <tr>
770 <td><p><span class="term"><em class="parameter"><code>ssrc</code></em> :</span></p></td>
771 <td>the SSRC</td>
772 </tr>
773 <tr>
774 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
775 <td>user data set when the signal handler was connected.</td>
776 </tr>
777 </tbody>
778 </table></div>
779 </div>
780 <hr>
781 <div class="refsect2">
782 <a name="GstRtpBin-on-ssrc-validated"></a><h3>The <code class="literal">"on-ssrc-validated"</code> signal</h3>
783 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> *rtpbin,
784                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      session,
785                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      ssrc,
786                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
787 <p>
788 Notify of a new SSRC that became validated.
789 </p>
790 <div class="variablelist"><table border="0">
791 <col align="left" valign="top">
792 <tbody>
793 <tr>
794 <td><p><span class="term"><em class="parameter"><code>rtpbin</code></em> :</span></p></td>
795 <td>the object which received the signal</td>
796 </tr>
797 <tr>
798 <td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
799 <td>the session</td>
800 </tr>
801 <tr>
802 <td><p><span class="term"><em class="parameter"><code>ssrc</code></em> :</span></p></td>
803 <td>the SSRC</td>
804 </tr>
805 <tr>
806 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
807 <td>user data set when the signal handler was connected.</td>
808 </tr>
809 </tbody>
810 </table></div>
811 </div>
812 <hr>
813 <div class="refsect2">
814 <a name="GstRtpBin-on-timeout"></a><h3>The <code class="literal">"on-timeout"</code> signal</h3>
815 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> *rtpbin,
816                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      session,
817                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      ssrc,
818                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
819 <p>
820 Notify of an SSRC that has timed out
821 </p>
822 <div class="variablelist"><table border="0">
823 <col align="left" valign="top">
824 <tbody>
825 <tr>
826 <td><p><span class="term"><em class="parameter"><code>rtpbin</code></em> :</span></p></td>
827 <td>the object which received the signal</td>
828 </tr>
829 <tr>
830 <td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
831 <td>the session</td>
832 </tr>
833 <tr>
834 <td><p><span class="term"><em class="parameter"><code>ssrc</code></em> :</span></p></td>
835 <td>the SSRC</td>
836 </tr>
837 <tr>
838 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
839 <td>user data set when the signal handler was connected.</td>
840 </tr>
841 </tbody>
842 </table></div>
843 </div>
844 <hr>
845 <div class="refsect2">
846 <a name="GstRtpBin-request-pt-map"></a><h3>The <code class="literal">"request-pt-map"</code> signal</h3>
847 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a>*            user_function                      (<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> *rtpbin,
848                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      session,
849                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      pt,
850                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
851 <p>
852 Request the payload type as <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> for <em class="parameter"><code>pt</code></em> in <em class="parameter"><code>session</code></em>.
853 </p>
854 <div class="variablelist"><table border="0">
855 <col align="left" valign="top">
856 <tbody>
857 <tr>
858 <td><p><span class="term"><em class="parameter"><code>rtpbin</code></em> :</span></p></td>
859 <td>the object which received the signal</td>
860 </tr>
861 <tr>
862 <td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
863 <td>the session</td>
864 </tr>
865 <tr>
866 <td><p><span class="term"><em class="parameter"><code>pt</code></em> :</span></p></td>
867 <td>the pt</td>
868 </tr>
869 <tr>
870 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
871 <td>user data set when the signal handler was connected.</td>
872 </tr>
873 </tbody>
874 </table></div>
875 </div>
876 <hr>
877 <div class="refsect2">
878 <a name="GstRtpBin-reset-sync"></a><h3>The <code class="literal">"reset-sync"</code> signal</h3>
879 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> *rtpbin,
880                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-ACTION:CAPS"><code class="literal">Action</code></a></pre>
881 <p>
882 Reset all currently configured lip-sync parameters and require new SR
883 packets for all streams before lip-sync is attempted again.
884 </p>
885 <div class="variablelist"><table border="0">
886 <col align="left" valign="top">
887 <tbody>
888 <tr>
889 <td><p><span class="term"><em class="parameter"><code>rtpbin</code></em> :</span></p></td>
890 <td>the object which received the signal</td>
891 </tr>
892 <tr>
893 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
894 <td>user data set when the signal handler was connected.</td>
895 </tr>
896 </tbody>
897 </table></div>
898 </div>
899 <hr>
900 <div class="refsect2">
901 <a name="GstRtpBin-payload-type-change"></a><h3>The <code class="literal">"payload-type-change"</code> signal</h3>
902 <pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="gst-plugins-good-plugins-gstrtpbin.html#GstRtpBin"><span class="type">GstRtpBin</span></a> *rtpbin,
903                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      session,
904                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a>      pt,
905                                                         <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>   user_data)      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
906 <p>
907 Signal that the current payload type changed to <em class="parameter"><code>pt</code></em> in <em class="parameter"><code>session</code></em>.
908 </p>
909 <div class="variablelist"><table border="0">
910 <col align="left" valign="top">
911 <tbody>
912 <tr>
913 <td><p><span class="term"><em class="parameter"><code>rtpbin</code></em> :</span></p></td>
914 <td>the object which received the signal</td>
915 </tr>
916 <tr>
917 <td><p><span class="term"><em class="parameter"><code>session</code></em> :</span></p></td>
918 <td>the session</td>
919 </tr>
920 <tr>
921 <td><p><span class="term"><em class="parameter"><code>pt</code></em> :</span></p></td>
922 <td>the pt</td>
923 </tr>
924 <tr>
925 <td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
926 <td>user data set when the signal handler was connected.</td>
927 </tr>
928 </tbody>
929 </table></div>
930 <p class="since">Since 0.10.17</p>
931 </div>
932 </div>
933 <div class="refsect1">
934 <a name="gst-plugins-good-plugins-gstrtpbin.see-also"></a><h2>See Also</h2>
935 gstrtpjitterbuffer, gstrtpsession, gstrtpptdemux, gstrtpssrcdemux
936 </div>
937 </div>
938 <div class="footer">
939 <hr>
940           Generated by GTK-Doc V1.17</div>
941 </body>
942 </html>