[Bug 779668] New: GST_DEBUG_BIN_TO_DOT: creates invalid .dot file when GstStructure parameter contains string with "@"
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Mon Mar 6 20:18:59 UTC 2017
https://bugzilla.gnome.org/show_bug.cgi?id=779668
Bug ID: 779668
Summary: GST_DEBUG_BIN_TO_DOT: creates invalid .dot file when
GstStructure parameter contains string with "@"
Classification: Platform
Product: GStreamer
Version: git master
OS: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gstreamer (core)
Assignee: gstreamer-bugs at lists.freedesktop.org
Reporter: brendan.shanks at teradek.com
QA Contact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
When GST_DEBUG_BIN_TO_DOT_FILE dumps a bin containing an element with a
GstStructure parameter, if the GstStructure contains a string value with "@" in
it, the resulting .dot file is invalid. xdot gives the error "unexpected char
'\'"
I came across this bug when dumping the media-pipeline of a GStreamer RTSP
server. The GstRtpSession sdes parameter is a GstStructure with a string
parameter ("cname") that has an "@" symbol in it.
I haven't investigated why this happens, but it looks like GstStructure
does extra quoting on the output string when it contains "@", and then
g_strescape() adds too many backslashes when escaping.
Here's the invalid label line from the .dot file when the string doesn't
contain "@": label="GstCapsFilter\nhi@\n[0]\nparent=(GstPipeline)
pipeline\ncaps=application/x-rtp-source-sdes, cname=(string)user2341dqw";
And with "@":
label="GstCapsFilter\ncapsfilter0\n[0]\nparent=(GstPipeline)
pipeline\ncaps=application/x-rtp-source-sdes,
cname=(string)\\\"user2341\\\\@dqw\\\"";
According to the DOT language guide
(http://www.graphviz.org/content/dot-language): "In quoted strings in DOT, the
only escaped character is double-quote ("). That is, in quoted strings, the
dyad \" is converted to "; all other characters are left unchanged. In
particular, \\ remains \\"
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list