Index: gst-libs/gst/rtp/gstrtpbuffer.h
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.h,v
retrieving revision 1.5
diff -u -r1.5 gstrtpbuffer.h
--- gst-libs/gst/rtp/gstrtpbuffer.h	26 Oct 2005 21:42:21 -0000	1.5
+++ gst-libs/gst/rtp/gstrtpbuffer.h	19 Nov 2005 16:57:43 -0000
@@ -120,6 +120,7 @@
 guint32 	gst_rtpbuffer_get_timestamp	(GstBuffer *buffer);
 void 		gst_rtpbuffer_set_timestamp	(GstBuffer *buffer, guint32 timestamp);
 
+GstBuffer* gst_rtpbuffer_get_payload_buffer (GstBuffer *buffer);
 guint 		gst_rtpbuffer_get_payload_len	(GstBuffer *buffer);
 gpointer 	gst_rtpbuffer_get_payload	(GstBuffer *buffer);
 
Index: gst-libs/gst/rtp/gstrtpbuffer.c
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-base/gst-libs/gst/rtp/gstrtpbuffer.c,v
retrieving revision 1.2
diff -u -r1.2 gstrtpbuffer.c
--- gst-libs/gst/rtp/gstrtpbuffer.c	18 Aug 2005 10:23:54 -0000	1.2
+++ gst-libs/gst/rtp/gstrtpbuffer.c	19 Nov 2005 16:58:30 -0000
@@ -446,6 +446,19 @@
   GST_RTP_HEADER_TIMESTAMP (buffer) = g_htonl (timestamp);
 }
 
+GstBuffer*
+gst_rtpbuffer_get_payload_buffer (GstBuffer * buffer)
+{
+  guint len;
+
+  g_return_val_if_fail (GST_IS_BUFFER (buffer), 0);
+  g_return_val_if_fail (GST_BUFFER_DATA (buffer) != NULL, 0);
+  
+  len = gst_rtpbuffer_get_payload_len (buffer);
+  
+  return gst_buffer_create_sub (buffer, GST_RTP_HEADER_LEN
+      + GST_RTP_HEADER_CSRC_SIZE (buffer), len);
+}
 
 guint
 gst_rtpbuffer_get_payload_len (GstBuffer * buffer)
