mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 18:21:04 +00:00
gst/gstdebugutils.c: Improve handling ghost/proxy pads.
Original commit message from CVS: * gst/gstdebugutils.c: Improve handling ghost/proxy pads.
This commit is contained in:
parent
847e64d8ee
commit
4da82e9b62
2 changed files with 52 additions and 41 deletions
|
@ -1,3 +1,8 @@
|
|||
2008-03-31 Stefan Kost <ensonic@users.sf.net>
|
||||
|
||||
* gst/gstdebugutils.c:
|
||||
Improve handling ghost/proxy pads.
|
||||
|
||||
2008-03-27 Stefan Kost <ensonic@users.sf.net>
|
||||
|
||||
* docs/gst/gstreamer-sections.txt:
|
||||
|
|
|
@ -134,7 +134,7 @@ debug_dump_element (GstBin * bin, GstDebugGraphDetails details, FILE * out,
|
|||
GstIterator *element_iter, *pad_iter;
|
||||
gboolean elements_done, pads_done;
|
||||
GstElement *element, *peer_element, *target_element;
|
||||
GstPad *pad, *peer_pad, *target_pad;
|
||||
GstPad *pad, *peer_pad, *target_pad, *tmp_pad;
|
||||
GstPadDirection dir;
|
||||
GstCaps *caps;
|
||||
GstStructure *structure;
|
||||
|
@ -317,58 +317,64 @@ debug_dump_element (GstBin * bin, GstDebugGraphDetails details, FILE * out,
|
|||
}
|
||||
|
||||
if (GST_IS_GHOST_PAD (pad)) {
|
||||
if ((target_pad =
|
||||
if ((tmp_pad =
|
||||
gst_ghost_pad_get_target (GST_GHOST_PAD (pad)))) {
|
||||
target_pad_name =
|
||||
debug_dump_make_object_name (GST_OBJECT
|
||||
(target_pad));
|
||||
if ((target_element =
|
||||
gst_pad_get_parent_element (target_pad))) {
|
||||
target_element_name =
|
||||
if ((target_pad = gst_pad_get_peer (tmp_pad))) {
|
||||
target_pad_name =
|
||||
debug_dump_make_object_name (GST_OBJECT
|
||||
(target_element));
|
||||
} else {
|
||||
target_element_name = "";
|
||||
}
|
||||
/* src ghostpad relationship */
|
||||
fprintf (out, "%s%s_%s -> %s_%s [style=dashed]\n", spc,
|
||||
target_element_name, target_pad_name, element_name,
|
||||
pad_name);
|
||||
(target_pad));
|
||||
if ((target_element =
|
||||
gst_pad_get_parent_element (target_pad))) {
|
||||
target_element_name =
|
||||
debug_dump_make_object_name (GST_OBJECT
|
||||
(target_element));
|
||||
} else {
|
||||
target_element_name = "";
|
||||
}
|
||||
/* src ghostpad relationship */
|
||||
fprintf (out, "%s%s_%s -> %s_%s [style=dashed]\n",
|
||||
spc, target_element_name, target_pad_name,
|
||||
element_name, pad_name);
|
||||
|
||||
g_free (target_pad_name);
|
||||
if (target_element) {
|
||||
g_free (target_element_name);
|
||||
gst_object_unref (target_element);
|
||||
g_free (target_pad_name);
|
||||
if (target_element) {
|
||||
g_free (target_element_name);
|
||||
gst_object_unref (target_element);
|
||||
}
|
||||
gst_object_unref (target_pad);
|
||||
}
|
||||
gst_object_unref (target_pad);
|
||||
gst_object_unref (tmp_pad);
|
||||
}
|
||||
}
|
||||
if (GST_IS_GHOST_PAD (peer_pad)) {
|
||||
if ((target_pad =
|
||||
if ((tmp_pad =
|
||||
gst_ghost_pad_get_target (GST_GHOST_PAD
|
||||
(peer_pad)))) {
|
||||
target_pad_name =
|
||||
debug_dump_make_object_name (GST_OBJECT
|
||||
(target_pad));
|
||||
if ((target_element =
|
||||
gst_pad_get_parent_element (target_pad))) {
|
||||
target_element_name =
|
||||
if ((target_pad = gst_pad_get_peer (tmp_pad))) {
|
||||
target_pad_name =
|
||||
debug_dump_make_object_name (GST_OBJECT
|
||||
(target_element));
|
||||
} else {
|
||||
target_element_name = "";
|
||||
}
|
||||
/* sink ghostpad relationship */
|
||||
fprintf (out, "%s%s_%s -> %s_%s [style=dashed]\n", spc,
|
||||
peer_element_name, peer_pad_name,
|
||||
target_element_name, target_pad_name);
|
||||
(target_pad));
|
||||
if ((target_element =
|
||||
gst_pad_get_parent_element (target_pad))) {
|
||||
target_element_name =
|
||||
debug_dump_make_object_name (GST_OBJECT
|
||||
(target_element));
|
||||
} else {
|
||||
target_element_name = "";
|
||||
}
|
||||
/* sink ghostpad relationship */
|
||||
fprintf (out, "%s%s_%s -> %s_%s [style=dashed]\n",
|
||||
spc, peer_element_name, peer_pad_name,
|
||||
target_element_name, target_pad_name);
|
||||
|
||||
g_free (target_pad_name);
|
||||
if (target_element) {
|
||||
g_free (target_element_name);
|
||||
gst_object_unref (target_element);
|
||||
g_free (target_pad_name);
|
||||
if (target_element) {
|
||||
g_free (target_element_name);
|
||||
gst_object_unref (target_element);
|
||||
}
|
||||
gst_object_unref (target_pad);
|
||||
}
|
||||
gst_object_unref (target_pad);
|
||||
gst_object_unref (tmp_pad);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue