From 23f7a2cc63aa488d31671979cdf8259a4677afa5 Mon Sep 17 00:00:00 2001 From: Vineeth T M Date: Thu, 4 Sep 2014 13:38:21 +0530 Subject: [PATCH] dataurisrc: Remove unnecessary else if condition In gst_data_uri_src_create(), buf cannot be NULL, hence else if (*buf != NULL) will be invalid so removing the else if condition and adding a check to unreference buf in else condition, just in case https://bugzilla.gnome.org/show_bug.cgi?id=735861 --- plugins/elements/gstdataurisrc.c | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/plugins/elements/gstdataurisrc.c b/plugins/elements/gstdataurisrc.c index 1fde36d786..f18fae76d1 100644 --- a/plugins/elements/gstdataurisrc.c +++ b/plugins/elements/gstdataurisrc.c @@ -227,21 +227,13 @@ gst_data_uri_src_create (GstBaseSrc * basesrc, guint64 offset, guint size, * larger than the max. available size if a segment at the end is requested */ if (offset + size > gst_buffer_get_size (src->buffer)) { ret = GST_FLOW_EOS; - } else if (*buf != NULL) { - GstMapInfo src_info; - GstMapInfo dest_info; - gsize fill_size; - - gst_buffer_map (src->buffer, &src_info, GST_MAP_READ); - gst_buffer_map (*buf, &dest_info, GST_MAP_WRITE); - - fill_size = gst_buffer_fill (*buf, 0, src_info.data + offset, size); - - gst_buffer_unmap (*buf, &dest_info); - gst_buffer_unmap (src->buffer, &src_info); - gst_buffer_set_size (*buf, fill_size); - ret = GST_FLOW_OK; } else { + /* Adding a check to unreference the buffer if *buf != NULL, + * just in case a buffer is provided*/ + if (*buf != NULL) { + gst_buffer_unref (*buf); + GST_FIXME_OBJECT (src, "Buffer is not supposed to be provided here"); + } *buf = gst_buffer_copy_region (src->buffer, GST_BUFFER_COPY_ALL, offset, size); ret = GST_FLOW_OK;