gst_rtp_buffer_new_copy_data
gst_rtp_buffer_new_allocate
gst_rtp_buffer_new_allocate_len
+gst_rtp_buffer_list_from_buffer
gst_rtp_buffer_calc_header_len
gst_rtp_buffer_calc_packet_len
return retval;
}
+
+/**
+ * gst_rtp_buffer_list_from_buffer:
+ * @buffer: a #GstBuffer containing a RTP packet
+ *
+ * Splits a #GstBuffer into a #GstBufferList containing separate
+ * buffers for the header and data sections.
+ *
+ * Returns: a #GstBufferList
+ */
+
+GstBufferList *
+gst_rtp_buffer_list_from_buffer (GstBuffer * buffer)
+{
+ GstBufferList *bufferlist;
+ GstBuffer *sub;
+ GstBufferListIterator *it;
+ guint8 *payload;
+
+ bufferlist = gst_buffer_list_new ();
+
+ it = gst_buffer_list_iterate (bufferlist);
+ gst_buffer_list_iterator_add_group (it);
+
+ payload = gst_rtp_buffer_get_payload (buffer);
+ sub = gst_buffer_create_sub (buffer, 0, payload - GST_BUFFER_DATA (buffer));
+ gst_buffer_list_iterator_add (it, sub);
+
+ sub = gst_rtp_buffer_get_payload_buffer (buffer);
+ gst_buffer_list_iterator_add (it, sub);
+
+ gst_buffer_list_iterator_free (it);
+
+ return bufferlist;
+}
GstBuffer* gst_rtp_buffer_new_allocate (guint payload_len, guint8 pad_len, guint8 csrc_count);
GstBuffer* gst_rtp_buffer_new_allocate_len (guint packet_len, guint8 pad_len, guint8 csrc_count);
+GstBufferList* gst_rtp_buffer_list_from_buffer (GstBuffer * buffer);
+
+
guint gst_rtp_buffer_calc_header_len (guint8 csrc_count);
guint gst_rtp_buffer_calc_packet_len (guint payload_len, guint8 pad_len, guint8 csrc_count);
guint gst_rtp_buffer_calc_payload_len (guint packet_len, guint8 pad_len, guint8 csrc_count);