summaryrefslogtreecommitdiff
path: root/gst/dataurisrc/gstdataurisrc.c
diff options
context:
space:
mode:
authorVineeth T M <vineeth.tm@samsung.com>2014-09-04 13:38:21 +0530
committerSebastian Dröge <sebastian@centricular.com>2014-09-04 11:31:56 +0300
commit3024ae9c38490817a76c83feab3c8472989cafad (patch)
treec8eef5caa86aa1eaa5d3cd87bf0624c6e435ed00 /gst/dataurisrc/gstdataurisrc.c
parent641e0e973e61904f7bfb111e26c4e9a2fcc968b9 (diff)
downloadgstreamer-plugins-bad-3024ae9c38490817a76c83feab3c8472989cafad.tar.gz
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
Diffstat (limited to 'gst/dataurisrc/gstdataurisrc.c')
-rw-r--r--gst/dataurisrc/gstdataurisrc.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/gst/dataurisrc/gstdataurisrc.c b/gst/dataurisrc/gstdataurisrc.c
index 1fde36d78..f18fae76d 100644
--- a/gst/dataurisrc/gstdataurisrc.c
+++ b/gst/dataurisrc/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;