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