mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-25 16:48:11 +00:00
uritranscodebin: Don't leak uris, profile, sinkpad and filters
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>
This commit is contained in:
parent
a301c92ca3
commit
45e8137e6e
1 changed files with 6 additions and 0 deletions
|
@ -225,6 +225,7 @@ transcodebin_pad_added_cb (GstElement * transcodebin, GstPad * pad,
|
||||||
sinkpad);
|
sinkpad);
|
||||||
/* Let `pad unlinked` error pop up later */
|
/* Let `pad unlinked` error pop up later */
|
||||||
}
|
}
|
||||||
|
gst_object_unref (sinkpad);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
|
@ -506,6 +507,9 @@ gst_uri_transcode_bin_dispose (GObject * object)
|
||||||
g_clear_object (&self->video_filter);
|
g_clear_object (&self->video_filter);
|
||||||
g_clear_object (&self->audio_filter);
|
g_clear_object (&self->audio_filter);
|
||||||
g_clear_object (&self->cpu_clock);
|
g_clear_object (&self->cpu_clock);
|
||||||
|
g_free (self->source_uri);
|
||||||
|
g_free (self->dest_uri);
|
||||||
|
gst_clear_object (&self->profile);
|
||||||
|
|
||||||
G_OBJECT_CLASS (gst_uri_transcode_bin_parent_class)->dispose (object);
|
G_OBJECT_CLASS (gst_uri_transcode_bin_parent_class)->dispose (object);
|
||||||
}
|
}
|
||||||
|
@ -599,11 +603,13 @@ gst_uri_transcode_bin_set_property (GObject * object,
|
||||||
break;
|
break;
|
||||||
case PROP_AUDIO_FILTER:
|
case PROP_AUDIO_FILTER:
|
||||||
GST_OBJECT_LOCK (self);
|
GST_OBJECT_LOCK (self);
|
||||||
|
gst_object_unref (self->audio_filter);
|
||||||
self->audio_filter = g_value_dup_object (value);
|
self->audio_filter = g_value_dup_object (value);
|
||||||
GST_OBJECT_UNLOCK (self);
|
GST_OBJECT_UNLOCK (self);
|
||||||
break;
|
break;
|
||||||
case PROP_VIDEO_FILTER:
|
case PROP_VIDEO_FILTER:
|
||||||
GST_OBJECT_LOCK (self);
|
GST_OBJECT_LOCK (self);
|
||||||
|
gst_object_unref (self->video_filter);
|
||||||
self->video_filter = g_value_dup_object (value);
|
self->video_filter = g_value_dup_object (value);
|
||||||
GST_OBJECT_UNLOCK (self);
|
GST_OBJECT_UNLOCK (self);
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Reference in a new issue