mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-15 13:53:19 +00:00
gstutils: Fix a pad leak
When requesting a pad from a template and it's already linked, this means it was a static pad. Since we only want to return an *available* pad, we must return NULL ... but we must also remove the reference we got from getting that static pad. The "No need to unref" message (which wasn't true for quite some time) dates back from the very very very first commit introducing the 0.10 features.
This commit is contained in:
parent
b6747e6a9d
commit
2e92313dba
1 changed files with 4 additions and 3 deletions
|
@ -909,10 +909,11 @@ gst_element_request_compatible_pad (GstElement * element,
|
|||
templ_new = gst_element_get_compatible_pad_template (element, templ);
|
||||
if (templ_new)
|
||||
pad = gst_element_get_pad_from_template (element, templ_new);
|
||||
|
||||
/* This can happen for non-request pads. No need to unref. */
|
||||
if (pad && GST_PAD_PEER (pad))
|
||||
/* This can happen for non-request pads. */
|
||||
if (pad && GST_PAD_PEER (pad)) {
|
||||
gst_object_unref (pad);
|
||||
pad = NULL;
|
||||
}
|
||||
|
||||
return pad;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue