mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-04-26 06:54:49 +00:00
imagesequencesrc; Fix leaks
* The path was leaked * The custom buffer was never freed Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319>
This commit is contained in:
parent
6ffae88a9f
commit
97bfb8b6cb
1 changed files with 5 additions and 3 deletions
|
@ -144,7 +144,7 @@ static gboolean
|
||||||
gst_image_sequence_src_uri_set_uri (GstURIHandler * handler, const gchar * uri,
|
gst_image_sequence_src_uri_set_uri (GstURIHandler * handler, const gchar * uri,
|
||||||
GError ** err)
|
GError ** err)
|
||||||
{
|
{
|
||||||
gchar *hostname = NULL, *location = NULL, *tmp;
|
gchar *hostname = NULL, *location = NULL, *path, *tmp;
|
||||||
gboolean ret = FALSE;
|
gboolean ret = FALSE;
|
||||||
GstImageSequenceSrc *self = GST_IMAGE_SEQUENCE_SRC (handler);
|
GstImageSequenceSrc *self = GST_IMAGE_SEQUENCE_SRC (handler);
|
||||||
GstUri *ruri = gst_uri_from_string (uri);
|
GstUri *ruri = gst_uri_from_string (uri);
|
||||||
|
@ -160,9 +160,11 @@ gst_image_sequence_src_uri_set_uri (GstURIHandler * handler, const gchar * uri,
|
||||||
LOCK (self);
|
LOCK (self);
|
||||||
g_clear_pointer (&self->uri, gst_uri_unref);
|
g_clear_pointer (&self->uri, gst_uri_unref);
|
||||||
self->uri = ruri;
|
self->uri = ruri;
|
||||||
tmp = gst_filename_to_uri (gst_uri_get_path (ruri), err);
|
path = gst_uri_get_path (ruri);
|
||||||
|
tmp = gst_filename_to_uri (path, err);
|
||||||
location = g_filename_from_uri (tmp, &hostname, err);
|
location = g_filename_from_uri (tmp, &hostname, err);
|
||||||
g_free (tmp);
|
g_free (tmp);
|
||||||
|
g_free (path);
|
||||||
query = gst_uri_get_query_table (ruri);
|
query = gst_uri_get_query_table (ruri);
|
||||||
if (!location || (err != NULL && *err != NULL)) {
|
if (!location || (err != NULL && *err != NULL)) {
|
||||||
GST_WARNING_OBJECT (self, "Invalid URI '%s' for imagesequencesrc: %s", uri,
|
GST_WARNING_OBJECT (self, "Invalid URI '%s' for imagesequencesrc: %s", uri,
|
||||||
|
@ -606,7 +608,7 @@ gst_image_sequence_src_create (GstPushSrc * src, GstBuffer ** buffer)
|
||||||
if (!ret)
|
if (!ret)
|
||||||
goto handle_error;
|
goto handle_error;
|
||||||
|
|
||||||
buf = gst_buffer_new_wrapped_full (0, data, size, 0, size, NULL, g_free);
|
buf = gst_buffer_new_wrapped (data, size);
|
||||||
|
|
||||||
if (!self->caps) {
|
if (!self->caps) {
|
||||||
GstCaps *caps;
|
GstCaps *caps;
|
||||||
|
|
Loading…
Reference in a new issue