From 5807d79a9d1ca11d04622810f8a9413e45e610d8 Mon Sep 17 00:00:00 2001 From: Antonio Ospite Date: Tue, 5 Mar 2019 12:47:29 +0100 Subject: test: rtpbin_buffer_list: factor out a function to create packets buffers --- tests/check/elements/rtpbin_buffer_list.c | 53 ++++++++++++++++--------------- 1 file changed, 28 insertions(+), 25 deletions(-) (limited to 'tests') diff --git a/tests/check/elements/rtpbin_buffer_list.c b/tests/check/elements/rtpbin_buffer_list.c index 3cfd33b86..c83d0fd24 100644 --- a/tests/check/elements/rtpbin_buffer_list.c +++ b/tests/check/elements/rtpbin_buffer_list.c @@ -105,13 +105,36 @@ create_original_buffer (void) 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 * create_buffer_list (void) { GstBufferList *list; GstBuffer *orig_buffer; GstBuffer *buffer; - GstBuffer *sub_buffer; orig_buffer = create_original_buffer (); fail_if (orig_buffer == NULL); @@ -120,35 +143,15 @@ create_buffer_list (void) fail_if (list == NULL); /*** First packet. **/ - - /* Create buffer with RTP header. */ - 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, + buffer = + create_rtp_packet_buffer (&rtp_header[0], rtp_header_len[0], orig_buffer, payload_offset[0], payload_len[0]); - - buffer = gst_buffer_append (buffer, sub_buffer); - fail_if (buffer == NULL); gst_buffer_list_add (list, buffer); /*** Second packet. ***/ - - /* Create buffer with RTP header. */ - 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, + buffer = + create_rtp_packet_buffer (&rtp_header[1], rtp_header_len[1], orig_buffer, payload_offset[1], payload_len[1]); - - buffer = gst_buffer_append (buffer, sub_buffer); - fail_if (buffer == NULL); gst_buffer_list_add (list, buffer); return list; -- cgit v1.2.1