@Override protected void doBuildDynamicContextPostCpl() throws IOException, XmlParsingException { DynamicTemplateParameterContext dynamicContext = contextProvider.getDynamicContext(); // 1. load metadata.xml metadataXmlProvider = new MetadataXmlProvider(dppInputParameters.getMetadataFile(), contextProvider.getWorkingDir()); // 2. load audiomap.xml AudioTrackLayoutDmAs11Type audioTrackLayout = metadataXmlProvider.getDpp().getTechnical().getAudio().getAudioTrackLayout(); AudioMapXmlProvider audioMapXmlProvider = new AudioMapXmlProvider(dppInputParameters.getAudiomapFile(), audioTrackLayout, contextProvider); // 3. fill audio map parameters dynamicContext.addParameter(DYNAMIC_PARAM_PAN, audioMapXmlProvider.getPanParameter()); // 4. fill ebuAudioTracks parameter Integer audioTracksNum = audioMapXmlProvider.getEBUAudioTracks(); dynamicContext.addParameter(DYNAMIC_PARAM_EBU_AUDIO_TRACKS, String.valueOf(audioTracksNum)); // 5. fill bmx metadata files parameters metadataXmlProvider.createBmxDppParameterFiles(); dynamicContext.addParameter(DYNAMIC_PARAM_UK_DPP_FILE, metadataXmlProvider.getBmxDppParameterFile(DMFramework.UKDPP).getAbsolutePath(), true); dynamicContext.addParameter(DYNAMIC_PARAM_AS11_CORE_FILE, metadataXmlProvider.getBmxDppParameterFile(DMFramework.AS11CORE).getAbsolutePath(), true); dynamicContext.addParameter(DYNAMIC_PARAM_AS11_SEGM_FILE, metadataXmlProvider.getBmxDppParameterFile(DMFramework.AS11Segmentation).getAbsolutePath(), true); resolveSameFpsParameter(); }