mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-22 22:16:22 +00:00
gdb: Fix python style
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5986>
This commit is contained in:
parent
6258ee56d2
commit
f1070b4380
2 changed files with 67 additions and 59 deletions
|
@ -8,7 +8,9 @@ if sys.version_info[0] >= 3:
|
||||||
long = int
|
long = int
|
||||||
|
|
||||||
# This is not quite right, as local vars may override symname
|
# This is not quite right, as local vars may override symname
|
||||||
def read_global_var (symname):
|
|
||||||
|
|
||||||
|
def read_global_var(symname):
|
||||||
return gdb.selected_frame().read_var(symname)
|
return gdb.selected_frame().read_var(symname)
|
||||||
|
|
||||||
|
|
||||||
|
@ -43,14 +45,15 @@ def g_quark_to_string(quark):
|
||||||
return None
|
return None
|
||||||
|
|
||||||
##
|
##
|
||||||
## imported from glib: gobject/gobject_gdb.py
|
# imported from glib: gobject/gobject_gdb.py
|
||||||
##
|
##
|
||||||
|
|
||||||
def g_type_to_typenode (gtype):
|
|
||||||
def lookup_fundamental_type (typenode):
|
def g_type_to_typenode(gtype):
|
||||||
|
def lookup_fundamental_type(typenode):
|
||||||
if typenode == 0:
|
if typenode == 0:
|
||||||
return None
|
return None
|
||||||
val = read_global_var ("static_fundamental_type_nodes")
|
val = read_global_var("static_fundamental_type_nodes")
|
||||||
if val is None:
|
if val is None:
|
||||||
return None
|
return None
|
||||||
return val[typenode >> 2].address
|
return val[typenode >> 2].address
|
||||||
|
@ -58,24 +61,26 @@ def g_type_to_typenode (gtype):
|
||||||
gtype = long(gtype)
|
gtype = long(gtype)
|
||||||
typenode = gtype - gtype % 4
|
typenode = gtype - gtype % 4
|
||||||
if typenode > (255 << 2):
|
if typenode > (255 << 2):
|
||||||
typenode = gdb.Value(typenode).cast (gdb.lookup_type("TypeNode").pointer())
|
typenode = gdb.Value(typenode).cast(gdb.lookup_type("TypeNode").pointer())
|
||||||
else:
|
else:
|
||||||
typenode = lookup_fundamental_type (typenode)
|
typenode = lookup_fundamental_type(typenode)
|
||||||
return typenode
|
return typenode
|
||||||
|
|
||||||
def g_type_to_name (gtype):
|
|
||||||
|
def g_type_to_name(gtype):
|
||||||
typenode = g_type_to_typenode(gtype)
|
typenode = g_type_to_typenode(gtype)
|
||||||
if typenode != None:
|
if typenode:
|
||||||
return g_quark_to_string (typenode["qname"])
|
return g_quark_to_string(typenode["qname"])
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def g_type_name_from_instance (instance):
|
|
||||||
|
def g_type_name_from_instance(instance):
|
||||||
if long(instance) != 0:
|
if long(instance) != 0:
|
||||||
try:
|
try:
|
||||||
inst = instance.cast (gdb.lookup_type("GTypeInstance").pointer())
|
inst = instance.cast(gdb.lookup_type("GTypeInstance").pointer())
|
||||||
klass = inst["g_class"]
|
klass = inst["g_class"]
|
||||||
gtype = klass["g_type"]
|
gtype = klass["g_type"]
|
||||||
name = g_type_to_name (gtype)
|
name = g_type_to_name(gtype)
|
||||||
return name
|
return name
|
||||||
except RuntimeError:
|
except RuntimeError:
|
||||||
pass
|
pass
|
||||||
|
|
|
@ -92,8 +92,8 @@ class GstObjectPrettyPrinter:
|
||||||
|
|
||||||
|
|
||||||
GST_SECOND = 1000000000
|
GST_SECOND = 1000000000
|
||||||
GST_CLOCK_TIME_NONE = 2**64-1
|
GST_CLOCK_TIME_NONE = (2 ** 64) - 1
|
||||||
GST_CLOCK_STIME_NONE = -2**63
|
GST_CLOCK_STIME_NONE = -(2 ** 63)
|
||||||
|
|
||||||
|
|
||||||
def format_time(n, signed=False):
|
def format_time(n, signed=False):
|
||||||
|
@ -361,8 +361,8 @@ class GdbGstCaps:
|
||||||
def items(self):
|
def items(self):
|
||||||
gdb_type = gdb.lookup_type("GstCapsArrayElement")
|
gdb_type = gdb.lookup_type("GstCapsArrayElement")
|
||||||
for f in _g_array_iter(self.val["array"], gdb_type):
|
for f in _g_array_iter(self.val["array"], gdb_type):
|
||||||
yield(GdbCapsFeatures(f["features"]),
|
yield (GdbCapsFeatures(f["features"]),
|
||||||
GdbGstStructure(f["structure"]))
|
GdbGstStructure(f["structure"]))
|
||||||
|
|
||||||
def __eq__(self, other):
|
def __eq__(self, other):
|
||||||
if self.size() != other.size():
|
if self.size() != other.size():
|
||||||
|
@ -401,7 +401,7 @@ class GdbGstCaps:
|
||||||
s += "(" + tmp + ")"
|
s += "(" + tmp + ")"
|
||||||
_gdb_write(indent, s)
|
_gdb_write(indent, s)
|
||||||
for val in structure.value_strings("%s: %s", False):
|
for val in structure.value_strings("%s: %s", False):
|
||||||
_gdb_write(indent+1, val)
|
_gdb_write(indent + 1, val)
|
||||||
return s
|
return s
|
||||||
|
|
||||||
|
|
||||||
|
@ -438,7 +438,7 @@ class GdbGValue:
|
||||||
if step == 1:
|
if step == 1:
|
||||||
v = "[ %d, %d ]" % (rmin, rmax)
|
v = "[ %d, %d ]" % (rmin, rmax)
|
||||||
else:
|
else:
|
||||||
v = "[ %d, %d, %d ]" % (rmin*step, rmax*step, step)
|
v = "[ %d, %d, %d ]" % (rmin * step, rmax * step, step)
|
||||||
elif tname == "GstFractionRange":
|
elif tname == "GstFractionRange":
|
||||||
v = "[ %s, %s ]" % (GdbGValue(value[0]), GdbGValue(value[1]))
|
v = "[ %s, %s ]" % (GdbGValue(value[0]), GdbGValue(value[1]))
|
||||||
elif tname in ("GstValueList", "GstValueArray"):
|
elif tname in ("GstValueList", "GstValueArray"):
|
||||||
|
@ -446,9 +446,9 @@ class GdbGValue:
|
||||||
gdb_type = gdb.lookup_type("GArray").pointer()
|
gdb_type = gdb.lookup_type("GArray").pointer()
|
||||||
value = value[0]["v_pointer"].cast(gdb_type)
|
value = value[0]["v_pointer"].cast(gdb_type)
|
||||||
v = "<"
|
v = "<"
|
||||||
for l in _g_array_iter(value, gvalue_type):
|
for array_val in _g_array_iter(value, gvalue_type):
|
||||||
v += " " if v == "<" else ", "
|
v += " " if v == "<" else ", "
|
||||||
v += str(GdbGValue(l))
|
v += str(GdbGValue(array_val))
|
||||||
v += " >"
|
v += " >"
|
||||||
elif tname in ("GEnum"):
|
elif tname in ("GEnum"):
|
||||||
v = "%s(%s)" % (
|
v = "%s(%s)" % (
|
||||||
|
@ -490,7 +490,7 @@ class GdbGstStructure:
|
||||||
f = item[i]
|
f = item[i]
|
||||||
key = g_quark_to_string(f["name"])
|
key = g_quark_to_string(f["name"])
|
||||||
value = GdbGValue(f["value"])
|
value = GdbGValue(f["value"])
|
||||||
yield(key, value)
|
yield (key, value)
|
||||||
|
|
||||||
def value(self, key):
|
def value(self, key):
|
||||||
for (k, value) in self.values():
|
for (k, value) in self.values():
|
||||||
|
@ -527,7 +527,7 @@ class GdbGstStructure:
|
||||||
else:
|
else:
|
||||||
_gdb_write(indent, "%s:" % (self.name()))
|
_gdb_write(indent, "%s:" % (self.name()))
|
||||||
for (key, value) in self.values():
|
for (key, value) in self.values():
|
||||||
_gdb_write(indent+1, "%s: %s" % (key, str(value)))
|
_gdb_write(indent + 1, "%s: %s" % (key, str(value)))
|
||||||
|
|
||||||
|
|
||||||
class GdbGstSegment:
|
class GdbGstSegment:
|
||||||
|
@ -545,7 +545,7 @@ class GdbGstSegment:
|
||||||
value = int(self.val[key])
|
value = int(self.val[key])
|
||||||
if skip is None or value != skip:
|
if skip is None or value != skip:
|
||||||
_gdb_write(indent, "%s:%s %s" %
|
_gdb_write(indent, "%s:%s %s" %
|
||||||
(key, (8-len(key))*" ", self.format_value(value)))
|
(key, (8 - len(key)) * " ", self.format_value(value)))
|
||||||
|
|
||||||
def print(self, indent, seqnum=None):
|
def print(self, indent, seqnum=None):
|
||||||
s = "segment:"
|
s = "segment:"
|
||||||
|
@ -558,14 +558,14 @@ class GdbGstSegment:
|
||||||
applied = "(applied rate: %g)" % applied_rate
|
applied = "(applied rate: %g)" % applied_rate
|
||||||
else:
|
else:
|
||||||
applied = ""
|
applied = ""
|
||||||
_gdb_write(indent+1, "rate: %g%s" % (rate, applied))
|
_gdb_write(indent + 1, "rate: %g%s" % (rate, applied))
|
||||||
self.print_optional(indent+1, "base", 0)
|
self.print_optional(indent + 1, "base", 0)
|
||||||
self.print_optional(indent+1, "offset", 0)
|
self.print_optional(indent + 1, "offset", 0)
|
||||||
self.print_optional(indent+1, "start")
|
self.print_optional(indent + 1, "start")
|
||||||
self.print_optional(indent+1, "stop", GST_CLOCK_TIME_NONE)
|
self.print_optional(indent + 1, "stop", GST_CLOCK_TIME_NONE)
|
||||||
self.print_optional(indent+1, "time")
|
self.print_optional(indent + 1, "time")
|
||||||
self.print_optional(indent+1, "position")
|
self.print_optional(indent + 1, "position")
|
||||||
self.print_optional(indent+1, "duration", GST_CLOCK_TIME_NONE)
|
self.print_optional(indent + 1, "duration", GST_CLOCK_TIME_NONE)
|
||||||
|
|
||||||
|
|
||||||
class GdbGstEvent:
|
class GdbGstEvent:
|
||||||
|
@ -596,7 +596,7 @@ class GdbGstEvent:
|
||||||
caps.print(indent, "caps (seqnum: %s):" % seqnum)
|
caps.print(indent, "caps (seqnum: %s):" % seqnum)
|
||||||
elif typestr == "stream-start":
|
elif typestr == "stream-start":
|
||||||
stream_id = self.structure().value("stream-id").value()
|
stream_id = self.structure().value("stream-id").value()
|
||||||
_gdb_write(indent, "stream-start: (seqnum %s)" % seqnum)
|
_gdb_write(indent, "stream-start: (seqnum %s)" % seqnum)
|
||||||
_gdb_write(indent + 1, "stream-id: %s" % stream_id.string())
|
_gdb_write(indent + 1, "stream-id: %s" % stream_id.string())
|
||||||
elif typestr == "segment":
|
elif typestr == "segment":
|
||||||
segment = self.structure().value("segment").value()
|
segment = self.structure().value("segment").value()
|
||||||
|
@ -610,7 +610,7 @@ class GdbGstEvent:
|
||||||
structure = GdbGstStructure(s)
|
structure = GdbGstStructure(s)
|
||||||
_gdb_write(indent, "tag: %s (seqnum: %s)" % (name, seqnum))
|
_gdb_write(indent, "tag: %s (seqnum: %s)" % (name, seqnum))
|
||||||
for (key, value) in structure.values():
|
for (key, value) in structure.values():
|
||||||
_gdb_write(indent+1, "%s: %s" % (key, str(value)))
|
_gdb_write(indent + 1, "%s: %s" % (key, str(value)))
|
||||||
else:
|
else:
|
||||||
self.structure().print(indent, "%s (seqnum: %s)" % (typestr, seqnum))
|
self.structure().print(indent, "%s (seqnum: %s)" % (typestr, seqnum))
|
||||||
|
|
||||||
|
@ -623,7 +623,7 @@ class GdbGstBuffer:
|
||||||
value = int(self.val[key])
|
value = int(self.val[key])
|
||||||
if skip is None or value != skip:
|
if skip is None or value != skip:
|
||||||
_gdb_write(indent, "%s:%s %s" %
|
_gdb_write(indent, "%s:%s %s" %
|
||||||
(key, (8-len(key))*" ", format_func(value)))
|
(key, (8 - len(key)) * " ", format_func(value)))
|
||||||
|
|
||||||
@save_memory_access_print("<inaccessible memory>")
|
@save_memory_access_print("<inaccessible memory>")
|
||||||
def print(self, indent):
|
def print(self, indent):
|
||||||
|
@ -647,8 +647,8 @@ class GdbGstBuffer:
|
||||||
_gdb_write(indent, "%s:" % meta_type_name)
|
_gdb_write(indent, "%s:" % meta_type_name)
|
||||||
indent += 1
|
indent += 1
|
||||||
meta_info = str(meta.cast(gdb.lookup_type(meta_type_name)))
|
meta_info = str(meta.cast(gdb.lookup_type(meta_type_name)))
|
||||||
for l in meta_info.split('\n'):
|
for info in meta_info.split('\n'):
|
||||||
_gdb_write(indent, l)
|
_gdb_write(indent, info)
|
||||||
indent -= 1
|
indent -= 1
|
||||||
meta_item = meta_item['next']
|
meta_item = meta_item['next']
|
||||||
else:
|
else:
|
||||||
|
@ -770,30 +770,30 @@ class GdbGstPad(GdbGstObject):
|
||||||
first = True
|
first = True
|
||||||
for ev in self.events():
|
for ev in self.events():
|
||||||
if first:
|
if first:
|
||||||
_gdb_write(indent+1, "events:")
|
_gdb_write(indent + 1, "events:")
|
||||||
first = False
|
first = False
|
||||||
ev.print(indent+2)
|
ev.print(indent + 2)
|
||||||
|
|
||||||
if self.is_linked():
|
if self.is_linked():
|
||||||
real = self.peer().parent_pad()
|
real = self.peer().parent_pad()
|
||||||
_gdb_write(indent+1, "peer: %s" %
|
_gdb_write(indent + 1, "peer: %s" %
|
||||||
(real.full_name() if real else self.peer().full_name()))
|
(real.full_name() if real else self.peer().full_name()))
|
||||||
|
|
||||||
if g_inherits_type(self.val, "GstGhostPad"):
|
if g_inherits_type(self.val, "GstGhostPad"):
|
||||||
t = gdb.lookup_type("GstProxyPad").pointer()
|
t = gdb.lookup_type("GstProxyPad").pointer()
|
||||||
internal = GdbGstPad(self.val.cast(t)["priv"]["internal"])
|
internal = GdbGstPad(self.val.cast(t)["priv"]["internal"])
|
||||||
if internal and internal.peer():
|
if internal and internal.peer():
|
||||||
_gdb_write(indent+1, "inner peer: %s" %
|
_gdb_write(indent + 1, "inner peer: %s" %
|
||||||
internal.peer().full_name())
|
internal.peer().full_name())
|
||||||
|
|
||||||
task = self.val["task"]
|
task = self.val["task"]
|
||||||
if long(task) != 0:
|
if long(task) != 0:
|
||||||
_gdb_write(indent+1, "task: %s" %
|
_gdb_write(indent + 1, "task: %s" %
|
||||||
task_state_to_name(int(task["state"])))
|
task_state_to_name(int(task["state"])))
|
||||||
|
|
||||||
offset = long(self.val["offset"])
|
offset = long(self.val["offset"])
|
||||||
if offset != 0:
|
if offset != 0:
|
||||||
_gdb_write(indent+1, "offset: %d [%s]" %
|
_gdb_write(indent + 1, "offset: %d [%s]" %
|
||||||
(offset, format_time(offset, True)))
|
(offset, format_time(offset, True)))
|
||||||
|
|
||||||
_gdb_write(indent, "}")
|
_gdb_write(indent, "}")
|
||||||
|
@ -852,10 +852,10 @@ class GdbGstPad(GdbGstObject):
|
||||||
other_pname = other.dot_name()
|
other_pname = other.dot_name()
|
||||||
if direction == "GST_PAD_SRC":
|
if direction == "GST_PAD_SRC":
|
||||||
s += "%s%s_%s -> %s_%s [style=dashed, minlen=0]\n" % \
|
s += "%s%s_%s -> %s_%s [style=dashed, minlen=0]\n" % \
|
||||||
(spc, other_ename, other_pname, ename, pname)
|
(spc, other_ename, other_pname, ename, pname)
|
||||||
else:
|
else:
|
||||||
s += "%s%s_%s -> %s_%s [style=dashed, minlen=0]\n" % \
|
s += "%s%s_%s -> %s_%s [style=dashed, minlen=0]\n" % \
|
||||||
(spc, ename, pname, other_ename, other_pname)
|
(spc, ename, pname, other_ename, other_pname)
|
||||||
else:
|
else:
|
||||||
if direction == "GST_PAD_SRC":
|
if direction == "GST_PAD_SRC":
|
||||||
color = "#ffaaaa"
|
color = "#ffaaaa"
|
||||||
|
@ -887,11 +887,11 @@ class GdbGstPad(GdbGstObject):
|
||||||
|
|
||||||
if caps and peer_caps and caps == peer_caps:
|
if caps and peer_caps and caps == peer_caps:
|
||||||
s = "%s%s_%s -> %s_%s [label=\"%s\"]\n" % \
|
s = "%s%s_%s -> %s_%s [label=\"%s\"]\n" % \
|
||||||
(spc, ename, pname, peer_ename, peer_pname, caps.dot())
|
(spc, ename, pname, peer_ename, peer_pname, caps.dot())
|
||||||
elif caps and peer_caps and caps != peer_caps:
|
elif caps and peer_caps and caps != peer_caps:
|
||||||
s = "%s%s_%s -> %s_%s [labeldistance=\"10\", labelangle=\"0\", " \
|
s = "%s%s_%s -> %s_%s [labeldistance=\"10\", labelangle=\"0\", " \
|
||||||
% (spc, ename, pname, peer_ename, peer_pname)
|
% (spc, ename, pname, peer_ename, peer_pname)
|
||||||
s += "label=\"" + " "*50 + "\", "
|
s += "label=\"" + " " * 50 + "\", "
|
||||||
if self.direction() == "GST_PAD_SRC":
|
if self.direction() == "GST_PAD_SRC":
|
||||||
media_src = caps.dot()
|
media_src = caps.dot()
|
||||||
media_dst = peer_caps.dot()
|
media_dst = peer_caps.dot()
|
||||||
|
@ -948,14 +948,14 @@ class GdbGstElement(GdbGstObject):
|
||||||
_gdb_write(indent, "%s(%s) {" %
|
_gdb_write(indent, "%s(%s) {" %
|
||||||
(g_type_name_from_instance(self.val), self.name()))
|
(g_type_name_from_instance(self.val), self.name()))
|
||||||
for p in self.pads():
|
for p in self.pads():
|
||||||
p.print(indent+2)
|
p.print(indent + 2)
|
||||||
|
|
||||||
first = True
|
first = True
|
||||||
for child in self.children():
|
for child in self.children():
|
||||||
if first:
|
if first:
|
||||||
_gdb_write(indent+2, "children:")
|
_gdb_write(indent + 2, "children:")
|
||||||
first = False
|
first = False
|
||||||
_gdb_write(indent+3, child.name())
|
_gdb_write(indent + 3, child.name())
|
||||||
|
|
||||||
current_state = self.val["current_state"]
|
current_state = self.val["current_state"]
|
||||||
s = "state: %s" % element_state_to_name(current_state)
|
s = "state: %s" % element_state_to_name(current_state)
|
||||||
|
@ -963,11 +963,11 @@ class GdbGstElement(GdbGstObject):
|
||||||
state = self.val[var + "_state"]
|
state = self.val[var + "_state"]
|
||||||
if state > 0 and state != current_state:
|
if state > 0 and state != current_state:
|
||||||
s += ", %s: %s" % (var, element_state_to_name(state))
|
s += ", %s: %s" % (var, element_state_to_name(state))
|
||||||
_gdb_write(indent+2, s)
|
_gdb_write(indent + 2, s)
|
||||||
|
|
||||||
_gdb_write(indent+2, "base_time: %s" %
|
_gdb_write(indent + 2, "base_time: %s" %
|
||||||
format_time_value(self.val["base_time"]))
|
format_time_value(self.val["base_time"]))
|
||||||
_gdb_write(indent+2, "start_time: %s" %
|
_gdb_write(indent + 2, "start_time: %s" %
|
||||||
format_time_value(self.val["start_time"]))
|
format_time_value(self.val["start_time"]))
|
||||||
|
|
||||||
_gdb_write(indent, "}")
|
_gdb_write(indent, "}")
|
||||||
|
@ -976,7 +976,7 @@ class GdbGstElement(GdbGstObject):
|
||||||
def print_tree(self, indent):
|
def print_tree(self, indent):
|
||||||
_gdb_write(indent, "%s(%s)" % (self.name(), self.val))
|
_gdb_write(indent, "%s(%s)" % (self.name(), self.val))
|
||||||
for child in self.children():
|
for child in self.children():
|
||||||
child.print_tree(indent+1)
|
child.print_tree(indent + 1)
|
||||||
|
|
||||||
def _dot(self, indent=0):
|
def _dot(self, indent=0):
|
||||||
spc = " " * indent
|
spc = " " * indent
|
||||||
|
@ -992,12 +992,12 @@ class GdbGstElement(GdbGstObject):
|
||||||
|
|
||||||
sink_name = None
|
sink_name = None
|
||||||
if self.has_pads("sinkpads"):
|
if self.has_pads("sinkpads"):
|
||||||
(ss, sink_name) = self._dot_pads(indent+1, "sinkpads",
|
(ss, sink_name) = self._dot_pads(indent + 1, "sinkpads",
|
||||||
self.dot_name() + "_sink")
|
self.dot_name() + "_sink")
|
||||||
s += ss
|
s += ss
|
||||||
src_name = None
|
src_name = None
|
||||||
if self.has_pads("srcpads"):
|
if self.has_pads("srcpads"):
|
||||||
(ss, src_name) = self._dot_pads(indent+1, "srcpads",
|
(ss, src_name) = self._dot_pads(indent + 1, "srcpads",
|
||||||
self.dot_name() + "_src")
|
self.dot_name() + "_src")
|
||||||
s += ss
|
s += ss
|
||||||
if sink_name and src_name:
|
if sink_name and src_name:
|
||||||
|
@ -1007,7 +1007,7 @@ class GdbGstElement(GdbGstObject):
|
||||||
|
|
||||||
if gst_is_bin(self.val):
|
if gst_is_bin(self.val):
|
||||||
s += "%s fillcolor=\"#ffffff\";\n" % spc
|
s += "%s fillcolor=\"#ffffff\";\n" % spc
|
||||||
s += self.dot(indent+1)
|
s += self.dot(indent + 1)
|
||||||
else:
|
else:
|
||||||
if src_name and not sink_name:
|
if src_name and not sink_name:
|
||||||
s += "%s fillcolor=\"#ffaaaa\";\n" % spc
|
s += "%s fillcolor=\"#ffaaaa\";\n" % spc
|
||||||
|
@ -1042,7 +1042,7 @@ class GdbGstElement(GdbGstObject):
|
||||||
if not name:
|
if not name:
|
||||||
name = p.dot_name()
|
name = p.dot_name()
|
||||||
s += "%s}\n\n" % spc
|
s += "%s}\n\n" % spc
|
||||||
return(s, name)
|
return (s, name)
|
||||||
|
|
||||||
def dot(self, indent):
|
def dot(self, indent):
|
||||||
s = ""
|
s = ""
|
||||||
|
@ -1097,6 +1097,7 @@ GST_DEBUG_BIN_TO_DOT_FILE. This command will find the top-level parent
|
||||||
for the given gstreamer object and create the dot for that element.
|
for the given gstreamer object and create the dot for that element.
|
||||||
|
|
||||||
Usage: gst-dot <gst-object> <file-name>"""
|
Usage: gst-dot <gst-object> <file-name>"""
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(GstDot, self).__init__("gst-dot", gdb.COMMAND_DATA)
|
super(GstDot, self).__init__("gst-dot", gdb.COMMAND_DATA)
|
||||||
|
|
||||||
|
@ -1120,7 +1121,7 @@ Usage: gst-dot <gst-object> <file-name>"""
|
||||||
|
|
||||||
def complete(self, text, word):
|
def complete(self, text, word):
|
||||||
cmd = gdb.string_to_argv(text)
|
cmd = gdb.string_to_argv(text)
|
||||||
if len(cmd) == 0 or(len(cmd) == 1 and len(word) > 0):
|
if len(cmd) == 0 or (len(cmd) == 1 and len(word) > 0):
|
||||||
return gdb.COMPLETE_SYMBOL
|
return gdb.COMPLETE_SYMBOL
|
||||||
return gdb.COMPLETE_FILENAME
|
return gdb.COMPLETE_FILENAME
|
||||||
|
|
||||||
|
@ -1130,6 +1131,7 @@ class GstPrint(gdb.Command):
|
||||||
Print high-level information for GStreamer objects
|
Print high-level information for GStreamer objects
|
||||||
|
|
||||||
Usage gst-print <gstreamer-object>"""
|
Usage gst-print <gstreamer-object>"""
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(GstPrint, self).__init__("gst-print", gdb.COMMAND_DATA,
|
super(GstPrint, self).__init__("gst-print", gdb.COMMAND_DATA,
|
||||||
gdb.COMPLETE_SYMBOL)
|
gdb.COMPLETE_SYMBOL)
|
||||||
|
@ -1165,6 +1167,7 @@ Usage gst-print <gstreamer-object>"""
|
||||||
class GstPipelineTree(gdb.Command):
|
class GstPipelineTree(gdb.Command):
|
||||||
"""\
|
"""\
|
||||||
Usage: gst-pipeline-tree <gst-object>"""
|
Usage: gst-pipeline-tree <gst-object>"""
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
super(GstPipelineTree, self).__init__("gst-pipeline-tree",
|
super(GstPipelineTree, self).__init__("gst-pipeline-tree",
|
||||||
gdb.COMPLETE_SYMBOL)
|
gdb.COMPLETE_SYMBOL)
|
||||||
|
|
Loading…
Reference in a new issue