Job Description Data
A Job Description is an optional part of a transition. Typically, the first transition includes a full Job Description, and most later ones no job description at all. Later updates may contain only parts of the job description (e.g. for changing output gain).
The Job Description can contain the following parts:
- The Pipe Specification (field "pipeSpec") is the full description of the audio flow (input, mixing, output).
- The Output Switch Specification (field "outputSwitchSpec") defines time positions or intervals, at which certain output filters can switch their audio target.
- The Database Groups Specification (field "databaseGroups") defines, if database entries created by a DPE Writer filter should be put into newly created groups.
- The External Control Specification (field "externalControlConfig") defines, if and how an external device (e.g. a mixing console) can control this job.
JSON Structure
"jobDescription" : {
"pipeSpec": {
...
},
"outputSwitch": {
...
},
"databaseGroups": {
...
},
"externalControl": {
...
}
}
Updating the Job Description
While a job is already running, transitions are used to change the state of the job (e.g. stopping or pausing a job). Such transitions can optionally include partial job description data, to modify specific aspects of the job.
Currently, updates are only supported for the Mixer Specification, a part of the Pipe Specification, and for the Output Switch Specification.
Example
The following example shows how to change the level of an output graph at run time (to implement e.g. a volume control).
JSON Structure
"jobDescription" :
"pipeSpec": {
"mixer": {
"outputLevel": [
{
"graph": "Output",
"level": "0.7"
}
]
}
}
}
"graph" must specify the name of the output graph, as given in the original Pipe Specification. The "level" value is the new output level - see IO Level Specification.