diff --git a/configure.ac b/configure.ac
index 22ce577031..3b34fa2207 100644
--- a/configure.ac
+++ b/configure.ac
@@ -302,6 +302,7 @@ AG_GST_CHECK_PLUGIN(multipart)
AG_GST_CHECK_PLUGIN(qtdemux)
AG_GST_CHECK_PLUGIN(replaygain)
AG_GST_CHECK_PLUGIN(rtp)
+AG_GST_CHECK_PLUGIN(rtpmanager)
AG_GST_CHECK_PLUGIN(rtsp)
AG_GST_CHECK_PLUGIN(smpte)
AG_GST_CHECK_PLUGIN(spectrum)
@@ -1065,6 +1066,7 @@ gst/multipart/Makefile
gst/qtdemux/Makefile
gst/replaygain/Makefile
gst/rtp/Makefile
+gst/rtpmanager/Makefile
gst/rtsp/Makefile
gst/smpte/Makefile
gst/spectrum/Makefile
diff --git a/docs/plugins/Makefile.am b/docs/plugins/Makefile.am
index dd189640a2..3175dd1b5f 100644
--- a/docs/plugins/Makefile.am
+++ b/docs/plugins/Makefile.am
@@ -180,6 +180,11 @@ EXTRA_HFILES = \
$(top_srcdir)/gst/replaygain/gstrglimiter.h \
$(top_srcdir)/gst/replaygain/gstrgvolume.h \
$(top_srcdir)/gst/rtp/gstrtpjpegpay.h \
+ $(top_srcdir)/gst/rtpmanager/gstrtpbin.h \
+ $(top_srcdir)/gst/rtpmanager/gstrtpjitterbuffer.h \
+ $(top_srcdir)/gst/rtpmanager/gstrtpptdemux.h \
+ $(top_srcdir)/gst/rtpmanager/gstrtpsession.h \
+ $(top_srcdir)/gst/rtpmanager/gstrtpssrcdemux.h \
$(top_srcdir)/gst/rtsp/gstrtpdec.h \
$(top_srcdir)/gst/rtsp/gstrtspsrc.h \
$(top_srcdir)/gst/smpte/gstsmpte.h \
diff --git a/docs/plugins/gst-plugins-good-plugins-docs.sgml b/docs/plugins/gst-plugins-good-plugins-docs.sgml
index 75714e3eed..742f0954a0 100644
--- a/docs/plugins/gst-plugins-good-plugins-docs.sgml
+++ b/docs/plugins/gst-plugins-good-plugins-docs.sgml
@@ -77,6 +77,11 @@
+
+
+
+
+
@@ -204,6 +209,7 @@
+
diff --git a/docs/plugins/gst-plugins-good-plugins-sections.txt b/docs/plugins/gst-plugins-good-plugins-sections.txt
index 73d7aff2ad..7f85d55dd4 100644
--- a/docs/plugins/gst-plugins-good-plugins-sections.txt
+++ b/docs/plugins/gst-plugins-good-plugins-sections.txt
@@ -843,6 +843,82 @@ GST_GOOM_CLASS
GST_IS_GOOM_CLASS
+
+element-gstrtpbin
+gstrtpbin
+GstRtpBin
+
+GstRtpBinPrivate
+GstRtpBinClass
+GST_RTP_BIN
+GST_IS_RTP_BIN
+GST_TYPE_RTP_BIN
+gst_rtp_bin_get_type
+GST_RTP_BIN_CLASS
+GST_IS_RTP_BIN_CLASS
+
+
+
+element-gstrtpjitterbuffer
+gstrtpjitterbuffer
+GstRtpJitterBuffer
+
+GstRtpJitterBufferClass
+GstRtpJitterBufferPrivate
+GST_RTP_JITTER_BUFFER
+GST_IS_RTP_JITTER_BUFFER
+GST_TYPE_RTP_JITTER_BUFFER
+gst_rtp_jitter_buffer_get_type
+GST_RTP_JITTER_BUFFER_CLASS
+GST_IS_RTP_JITTER_BUFFER_CLASS
+
+
+
+element-gstrtpptdemux
+gstrtpptdemux
+GstRtpPtDemux
+
+GstRtpPtDemuxClass
+GstRtpPtDemuxPad
+GST_RTP_PT_DEMUX
+GST_IS_RTP_PT_DEMUX
+GST_TYPE_RTP_PT_DEMUX
+gst_rtp_pt_demux_get_type
+GST_RTP_PT_DEMUX_CLASS
+GST_IS_RTP_PT_DEMUX_CLASS
+
+
+
+element-gstrtpsession
+gstrtpsession
+GstRtpSession
+
+GstRtpSessionClass
+GstRtpSessionPrivate
+GST_RTP_SESSION
+GST_IS_RTP_SESSION
+GST_TYPE_RTP_SESSION
+gst_rtp_session_get_type
+GST_RTP_SESSION_CLASS
+GST_IS_RTP_SESSION_CLASS
+GST_RTP_SESSION_CAST
+
+
+
+element-gstrtpssrcdemux
+gstrtpssrcdemux
+GstRtpSsrcDemux
+
+GstRtpSsrcDemuxClass
+GstRtpSsrcDemuxPad
+GST_RTP_SSRC_DEMUX
+GST_IS_RTP_SSRC_DEMUX
+GST_TYPE_RTP_SSRC_DEMUX
+gst_rtp_ssrc_demux_get_type
+GST_RTP_SSRC_DEMUX_CLASS
+GST_IS_RTP_SSRC_DEMUX_CLASS
+
+
element-halaudiosink
halaudiosink
diff --git a/docs/plugins/inspect/plugin-gstrtpmanager.xml b/docs/plugins/inspect/plugin-gstrtpmanager.xml
new file mode 100644
index 0000000000..377f1d19af
--- /dev/null
+++ b/docs/plugins/inspect/plugin-gstrtpmanager.xml
@@ -0,0 +1,190 @@
+
+ gstrtpmanager
+ RTP session management plugin library
+ ../../gst/rtpmanager/.libs/libgstrtpmanager.so
+ libgstrtpmanager.so
+ 0.10.15.1
+ LGPL
+ gst-plugins-good
+ GStreamer Good Plug-ins git/prerelease
+ Unknown package origin
+
+
+ gstrtpbin
+ RTP Bin
+ Filter/Network/RTP
+ Implement an RTP bin
+ Wim Taymans <wim.taymans@gmail.com>
+
+
+ send_rtp_src_%d
+ source
+ sometimes
+ application/x-rtp
+
+
+ send_rtcp_src_%d
+ source
+ request
+ application/x-rtcp
+
+
+ recv_rtp_src_%d_%d_%d
+ source
+ sometimes
+ application/x-rtp
+
+
+ send_rtp_sink_%d
+ sink
+ request
+ application/x-rtp
+
+
+ recv_rtcp_sink_%d
+ sink
+ request
+ application/x-rtcp
+
+
+ recv_rtp_sink_%d
+ sink
+ request
+ application/x-rtp
+
+
+
+
+ gstrtpjitterbuffer
+ RTP packet jitter-buffer
+ Filter/Network/RTP
+ A buffer that deals with network jitter and other transmission faults
+ Philippe Kalaf <philippe.kalaf@collabora.co.uk>, Wim Taymans <wim.taymans@gmail.com>
+
+
+ sink_rtcp
+ sink
+ request
+ application/x-rtcp
+
+
+ sink
+ sink
+ always
+ application/x-rtp, clock-rate=(int)[ 1, 2147483647 ]
+
+
+ src
+ source
+ always
+ application/x-rtp
+
+
+
+
+ gstrtpptdemux
+ RTP Demux
+ Demux/Network/RTP
+ Parses codec streams transmitted in the same RTP session
+ Kai Vehmanen <kai.vehmanen@nokia.com>
+
+
+ src_%d
+ source
+ sometimes
+ application/x-rtp, payload=(int)[ 0, 255 ]
+
+
+ sink
+ sink
+ always
+ application/x-rtp
+
+
+
+
+ gstrtpsession
+ RTP Session
+ Filter/Network/RTP
+ Implement an RTP session
+ Wim Taymans <wim.taymans@gmail.com>
+
+
+ send_rtcp_src
+ source
+ request
+ application/x-rtcp
+
+
+ send_rtp_src
+ source
+ sometimes
+ application/x-rtp
+
+
+ sync_src
+ source
+ sometimes
+ application/x-rtcp
+
+
+ recv_rtp_src
+ source
+ sometimes
+ application/x-rtp
+
+
+ send_rtp_sink
+ sink
+ request
+ application/x-rtp
+
+
+ recv_rtcp_sink
+ sink
+ request
+ application/x-rtcp
+
+
+ recv_rtp_sink
+ sink
+ request
+ application/x-rtp
+
+
+
+
+ gstrtpssrcdemux
+ RTP SSRC Demux
+ Demux/Network/RTP
+ Splits RTP streams based on the SSRC
+ Wim Taymans <wim.taymans@gmail.com>
+
+
+ rtcp_src_%d
+ source
+ sometimes
+ application/x-rtcp
+
+
+ src_%d
+ source
+ sometimes
+ application/x-rtp
+
+
+ rtcp_sink
+ sink
+ always
+ application/x-rtcp
+
+
+ sink
+ sink
+ always
+ application/x-rtp
+
+
+
+
+
\ No newline at end of file
diff --git a/gst-plugins-good.spec.in b/gst-plugins-good.spec.in
index 9e55ba0b5b..2586c7b180 100644
--- a/gst-plugins-good.spec.in
+++ b/gst-plugins-good.spec.in
@@ -100,6 +100,7 @@ rm -rf $RPM_BUILD_ROOT
%{_libdir}/gstreamer-%{majorminor}/libgstmulaw.so
%{_libdir}/gstreamer-%{majorminor}/libgstqtdemux.so
%{_libdir}/gstreamer-%{majorminor}/libgstrtp.so
+%{_libdir}/gstreamer-%{majorminor}/libgstrtpmanager.so
%{_libdir}/gstreamer-%{majorminor}/libgstrtsp.so
%{_libdir}/gstreamer-%{majorminor}/libgstsmpte.so
%{_libdir}/gstreamer-%{majorminor}/libgstudp.so
diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
index d5895314dd..81c748c1fc 100644
--- a/tests/check/Makefile.am
+++ b/tests/check/Makefile.am
@@ -112,6 +112,8 @@ check_PROGRAMS = \
elements/rglimiter \
elements/rgvolume \
elements/rtp-payloading \
+ elements/rtpbin \
+ elements/rtpbin_buffer_list \
elements/spectrum \
elements/udpsink \
elements/videocrop \
@@ -169,6 +171,13 @@ elements_deinterleave_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_MAJORMIN
elements_interleave_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
elements_interleave_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstaudio-$(GST_MAJORMINOR) $(LDADD)
+elements_rtpbin_buffer_list_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
+ $(ERROR_CFLAGS) $(GST_CHECK_CFLAGS)
+elements_rtpbin_buffer_list_LDADD = $(GST_PLUGINS_BASE_LIBS) \
+ -lgstnetbuffer-@GST_MAJORMINOR@ -lgstrtp-@GST_MAJORMINOR@ \
+ $(GST_BASE_LIBS) $(GST_LIBS_LIBS) $(GST_CHECK_LIBS)
+elements_rtpbin_buffer_list_SOURCES = elements/rtpbin_buffer_list.c
+
elements_souphttpsrc_CFLAGS = $(SOUP_CFLAGS) $(AM_CFLAGS)
elements_souphttpsrc_LDADD = $(SOUP_LIBS) $(LDADD)
diff --git a/tests/check/elements/.gitignore b/tests/check/elements/.gitignore
index 88218ae714..a9ff8af85a 100644
--- a/tests/check/elements/.gitignore
+++ b/tests/check/elements/.gitignore
@@ -34,6 +34,8 @@ rganalysis
rglimiter
rgvolume
rtp-payloading
+rtpbin
+rtpbin_buffer_list
souphttpsrc
spectrum
sunaudio
diff --git a/tests/check/pipelines/.gitignore b/tests/check/pipelines/.gitignore
index 8513231a01..3b499050b9 100644
--- a/tests/check/pipelines/.gitignore
+++ b/tests/check/pipelines/.gitignore
@@ -1,4 +1,5 @@
.dirstamp
+effectv
flacdec
simple-launch-lines
wavpack