summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gst/elements/gstfilesrc.c2
-rw-r--r--plugins/elements/gstfilesrc.c2
2 files changed, 4 insertions, 0 deletions
diff --git a/gst/elements/gstfilesrc.c b/gst/elements/gstfilesrc.c
index 96589e1718..d3288d6b36 100644
--- a/gst/elements/gstfilesrc.c
+++ b/gst/elements/gstfilesrc.c
@@ -370,6 +370,7 @@ gst_filesrc_free_parent_mmap (GstBuffer *buf)
GST_BUFFER_DATA (buf) = NULL;
+ g_object_unref (src);
gst_buffer_default_free (buf);
}
@@ -414,6 +415,7 @@ gst_filesrc_map_region (GstFileSrc *src, off_t offset, size_t size)
GST_BUFFER_OFFSET (buf) = offset;
GST_BUFFER_TIMESTAMP (buf) = GST_CLOCK_TIME_NONE;
GST_BUFFER_POOL_PRIVATE (buf) = src;
+ g_object_ref (src);
GST_BUFFER_FREE_FUNC (buf) = (GstDataFreeFunction) gst_filesrc_free_parent_mmap;
g_mutex_lock (src->map_regions_lock);
diff --git a/plugins/elements/gstfilesrc.c b/plugins/elements/gstfilesrc.c
index 96589e1718..d3288d6b36 100644
--- a/plugins/elements/gstfilesrc.c
+++ b/plugins/elements/gstfilesrc.c
@@ -370,6 +370,7 @@ gst_filesrc_free_parent_mmap (GstBuffer *buf)
GST_BUFFER_DATA (buf) = NULL;
+ g_object_unref (src);
gst_buffer_default_free (buf);
}
@@ -414,6 +415,7 @@ gst_filesrc_map_region (GstFileSrc *src, off_t offset, size_t size)
GST_BUFFER_OFFSET (buf) = offset;
GST_BUFFER_TIMESTAMP (buf) = GST_CLOCK_TIME_NONE;
GST_BUFFER_POOL_PRIVATE (buf) = src;
+ g_object_ref (src);
GST_BUFFER_FREE_FUNC (buf) = (GstDataFreeFunction) gst_filesrc_free_parent_mmap;
g_mutex_lock (src->map_regions_lock);