mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-19 22:05:58 +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 \
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue