mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-06 15:38:53 +00:00
gdb: handle ghost and proxy pads while looking for the top-level element
The parent object for pads is not always a GstElement. Handle GstProxyPad parents as well.
This commit is contained in:
parent
320a4cba4b
commit
8ccb9f2595
1 changed files with 9 additions and 3 deletions
|
@ -269,9 +269,15 @@ def gst_object_pipeline(obj):
|
||||||
if g_inherits_type(obj, "GstElement") and \
|
if g_inherits_type(obj, "GstElement") and \
|
||||||
GdbGstElement(obj) not in GdbGstElement(tmp).children():
|
GdbGstElement(obj) not in GdbGstElement(tmp).children():
|
||||||
break
|
break
|
||||||
if g_inherits_type(obj, "GstPad") and \
|
if g_inherits_type(obj, "GstPad"):
|
||||||
GdbGstPad(obj) not in GdbGstElement(tmp).pads():
|
pad = GdbGstPad(obj)
|
||||||
break
|
if g_inherits_type(tmp, "GstElement"):
|
||||||
|
if pad not in GdbGstElement(tmp).pads():
|
||||||
|
break
|
||||||
|
elif g_inherits_type(tmp, "GstProxyPad"):
|
||||||
|
t = gdb.lookup_type("GstProxyPad").pointer()
|
||||||
|
if pad != GdbGstPad(tmp.cast(t)["priv"]["internal"]):
|
||||||
|
break
|
||||||
obj = tmp
|
obj = tmp
|
||||||
except gdb.MemoryError:
|
except gdb.MemoryError:
|
||||||
pass
|
pass
|
||||||
|
|
Loading…
Reference in a new issue