The internals are quite simple. We take a sample process, that talks about every step it performs - - an EchoProcess. At first step, we need to extend the baseclass AbstractProcess: public class EchoProcess extends AbstractProcess { public EchoProcess(Job job, String workDir, WorkerConfig config, boolean burnOnTheFlow) { super("myid", job, workDir, config, burnOnTheFlow); } } The constructor takes 4 parameters: - Job - the job-information from the database, telling what should be converted
- String - the directory, where to put the working copies
- WorkerConfig - the instance containing the Job-processors configuration
- boolean - tells whether a disk should be burned right after processing
The first parameter at calling the parents constructor is an id to identify the conversion process. This id is an alias for your conversion. The Job-manager will use it at editing the job properties and the Job-processor uses it to select your conversion. Heart of the conversion is the method protected List buildProcess(boolean burnOnTheFlow); , that returns your process definition. A prozess definition is a list of at least one conversion step, the ProcessStep s. The default processing of VDRAssistant, which converts a VDR-recording into a DVD-image consists of these steps: - DemuxStep - divide the recording into separate streams
- RequantStep - compress some of the streams
- MuxStep - combine the desired streams into a new single file
- AuthorStep - create the DVD-menue and master the DVD-image
- ISOStep - build an ISO-file from the DVD-master directory
- BurnStep - burn the image to disk
|