Commit 8ccb9f25 authored by Michael Olbrich's avatar Michael Olbrich Committed by Tim-Philipp Müller

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.
parent 320a4cba
......@@ -269,9 +269,15 @@ def gst_object_pipeline(obj):
if g_inherits_type(obj, "GstElement") and \
GdbGstElement(obj) not in GdbGstElement(tmp).children():
break
if g_inherits_type(obj, "GstPad") and \
GdbGstPad(obj) not in GdbGstElement(tmp).pads():
break
if g_inherits_type(obj, "GstPad"):
pad = GdbGstPad(obj)
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
except gdb.MemoryError:
pass
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment