mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-05 06:58:56 +00:00
test: rtpbin_buffer_list: factor out a function to create packets buffers
This commit is contained in:
parent
6ab13c19b6
commit
5807d79a9d
1 changed files with 28 additions and 25 deletions
|
@ -105,13 +105,36 @@ create_original_buffer (void)
|
||||||
return original_buffer;
|
return original_buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static GstBuffer *
|
||||||
|
create_rtp_packet_buffer (gconstpointer header, gint header_size,
|
||||||
|
GstBuffer * payload_buffer, gint payload_offset, gint payload_size)
|
||||||
|
{
|
||||||
|
GstBuffer *buffer;
|
||||||
|
GstBuffer *sub_buffer;
|
||||||
|
|
||||||
|
/* Create buffer with RTP header. */
|
||||||
|
buffer = gst_buffer_new_allocate (NULL, header_size, NULL);
|
||||||
|
gst_buffer_fill (buffer, 0, header, header_size);
|
||||||
|
gst_buffer_copy_into (buffer, payload_buffer, GST_BUFFER_COPY_METADATA, 0,
|
||||||
|
-1);
|
||||||
|
|
||||||
|
/* Create the payload buffer and add it to the current buffer. */
|
||||||
|
sub_buffer =
|
||||||
|
gst_buffer_copy_region (payload_buffer, GST_BUFFER_COPY_MEMORY,
|
||||||
|
payload_offset, payload_size);
|
||||||
|
|
||||||
|
buffer = gst_buffer_append (buffer, sub_buffer);
|
||||||
|
fail_if (buffer == NULL);
|
||||||
|
|
||||||
|
return buffer;
|
||||||
|
}
|
||||||
|
|
||||||
static GstBufferList *
|
static GstBufferList *
|
||||||
create_buffer_list (void)
|
create_buffer_list (void)
|
||||||
{
|
{
|
||||||
GstBufferList *list;
|
GstBufferList *list;
|
||||||
GstBuffer *orig_buffer;
|
GstBuffer *orig_buffer;
|
||||||
GstBuffer *buffer;
|
GstBuffer *buffer;
|
||||||
GstBuffer *sub_buffer;
|
|
||||||
|
|
||||||
orig_buffer = create_original_buffer ();
|
orig_buffer = create_original_buffer ();
|
||||||
fail_if (orig_buffer == NULL);
|
fail_if (orig_buffer == NULL);
|
||||||
|
@ -120,35 +143,15 @@ create_buffer_list (void)
|
||||||
fail_if (list == NULL);
|
fail_if (list == NULL);
|
||||||
|
|
||||||
/*** First packet. **/
|
/*** First packet. **/
|
||||||
|
buffer =
|
||||||
/* Create buffer with RTP header. */
|
create_rtp_packet_buffer (&rtp_header[0], rtp_header_len[0], orig_buffer,
|
||||||
buffer = gst_buffer_new_allocate (NULL, rtp_header_len[0], NULL);
|
|
||||||
gst_buffer_fill (buffer, 0, &rtp_header[0], rtp_header_len[0]);
|
|
||||||
gst_buffer_copy_into (buffer, orig_buffer, GST_BUFFER_COPY_METADATA, 0, -1);
|
|
||||||
|
|
||||||
/* Create the payload buffer and add it to the current buffer. */
|
|
||||||
sub_buffer =
|
|
||||||
gst_buffer_copy_region (orig_buffer, GST_BUFFER_COPY_MEMORY,
|
|
||||||
payload_offset[0], payload_len[0]);
|
payload_offset[0], payload_len[0]);
|
||||||
|
|
||||||
buffer = gst_buffer_append (buffer, sub_buffer);
|
|
||||||
fail_if (buffer == NULL);
|
|
||||||
gst_buffer_list_add (list, buffer);
|
gst_buffer_list_add (list, buffer);
|
||||||
|
|
||||||
/*** Second packet. ***/
|
/*** Second packet. ***/
|
||||||
|
buffer =
|
||||||
/* Create buffer with RTP header. */
|
create_rtp_packet_buffer (&rtp_header[1], rtp_header_len[1], orig_buffer,
|
||||||
buffer = gst_buffer_new_allocate (NULL, rtp_header_len[1], NULL);
|
|
||||||
gst_buffer_fill (buffer, 0, &rtp_header[1], rtp_header_len[1]);
|
|
||||||
gst_buffer_copy_into (buffer, orig_buffer, GST_BUFFER_COPY_METADATA, 0, -1);
|
|
||||||
|
|
||||||
/* Create the payload buffer and add it to the current buffer. */
|
|
||||||
sub_buffer =
|
|
||||||
gst_buffer_copy_region (orig_buffer, GST_BUFFER_COPY_MEMORY,
|
|
||||||
payload_offset[1], payload_len[1]);
|
payload_offset[1], payload_len[1]);
|
||||||
|
|
||||||
buffer = gst_buffer_append (buffer, sub_buffer);
|
|
||||||
fail_if (buffer == NULL);
|
|
||||||
gst_buffer_list_add (list, buffer);
|
gst_buffer_list_add (list, buffer);
|
||||||
|
|
||||||
return list;
|
return list;
|
||||||
|
|
Loading…
Reference in a new issue