GStreamer Daemon - Response Format
What is JSON?
JSON which means "JavaScript Object Notation" is a lightweight data-interchange format that uses human-readable text to transmit data objects consisting of attribute–value pairs and array data types. More information in json
Forms:
- Object: is an unordered set of name/value pairs that begins with "{" and ends with "}".
- Each name is followed by a colon ":" (colon).
- Names or values pairs: are separated by a comma "," .
Gstd Response Format
Gstd receives the commands, arguments, events, and retrieve an answer in raw JSON. That answer consists of three parts:
- code: number value, without the textual description that indicates the status.
- description: Description of the status code.
- response: Body of the command executed.
Example
The JSON raw output:
{
"code" : 0,
"description" : "Success",
"response" : {
"properties" : [
{
"name" : "name",
"value" : "\"p\"",
"param_spec" : {
"blurb" : "The name of the current Gstd session",
"type" : "gchararray",
"access" : "((GstdParamFlags) READ | 234)",
"construct" : false
}
},
{
"name" : "description",
"value" : "\"videotestsrc is-live=true pattern=ball ! x264enc ! mp4mux ! filesink location=/tmp/video.mp4\"",
"param_spec" : {
"blurb" : "The gst-launch like pipeline description",
"type" : "gchararray",
"access" : "((GstdParamFlags) READ | 234)",
"construct" : false
}
},
{
"name" : "elements",
"value" : "((GstdList*) 0x7f2954046d90)",
"param_spec" : {
"blurb" : "The elements in the pipeline",
"type" : "GstdList",
"access" : "((GstdParamFlags) READ | 224)",
"construct" : false
}
},
{
"name" : "bus",
"value" : "((GstdPipelineBus*) 0x7f2958003200)",
"param_spec" : {
"blurb" : "The bus callback for this element",
"type" : "GstdPipelineBus",
"access" : "((GstdParamFlags) READ | 224)",
"construct" : false
}
},
{
"name" : "state",
"value" : "((GstdState*) 0x7f2958003120)",
"param_spec" : {
"blurb" : "The state of the pipeline",
"type" : "GstdState",
"access" : "((GstdParamFlags) READ | UPDATE | 226)",
"construct" : false
}
},
{
"name" : "event",
"value" : "((GstdEventHandler*) 0x7f2954003700)",
"param_spec" : {
"blurb" : "The event handler of the pipeline",
"type" : "GstdEventHandler",
"access" : "((GstdParamFlags) READ | 224)",
"construct" : false
}
}
]
}
}
In this case, the JSON is the response of the pipeline_create command