public static SequenceUUID getSequenceUuid(int seq, SequenceType seqType) { return SequenceUUID.create( String.format(SEQUENCE_UUID_FORMAT, seqType.value(), seq)); }
@Test public void virtualTrackDurationEU() { // the values as specified in CPL.xml assertEquals(BigInteger.valueOf(1917120), CplHelper.getVirtualTrackDurationEU( contextProvider, SequenceType.AUDIO, SequenceUUID.create("urn:uuid:63b41d86-c5df-4169-b036-3a25024bd711"))); assertEquals(BigInteger.valueOf(4191), CplHelper.getVirtualTrackDurationEU( contextProvider, SequenceType.VIDEO, SequenceUUID.create("urn:uuid:a4f226e7-adac-45a4-adbf-83335cf02d0d"))); }
@Test public void virtualTrackDurationMS() { // the values as specified in CPL.xml assertEquals(39940L, CplHelper.getVirtualTrackDurationMS( contextProvider, SequenceType.AUDIO, SequenceUUID.create("urn:uuid:63b41d86-c5df-4169-b036-3a25024bd711"))); assertEquals(83820L, CplHelper.getVirtualTrackDurationMS( contextProvider, SequenceType.VIDEO, SequenceUUID.create("urn:uuid:a4f226e7-adac-45a4-adbf-83335cf02d0d"))); }
@Test public void testInitDefaultSequenceParameters() throws Exception { TemplateParameterContextProvider contextProvider = createDefaultContextProvider(); contextProvider.getSequenceContext().initSequence(SequenceType.VIDEO, SequenceUUID.create("urn:uuid:3333")); contextProvider.getSequenceContext().initSequence(SequenceType.VIDEO, SequenceUUID.create("urn:uuid:1111")); contextProvider.getSequenceContext().initSequence(SequenceType.AUDIO, SequenceUUID.create("urn:uuid:2222")); contextProvider.getSequenceContext().initSequence(SequenceType.AUDIO, SequenceUUID.create("urn:uuid:3333")); assertDefaultSequenceParameters(contextProvider, 0, SequenceUUID.create("urn:uuid:3333"), SequenceType.VIDEO); assertDefaultSequenceParameters(contextProvider, 1, SequenceUUID.create("urn:uuid:1111"), SequenceType.VIDEO); assertDefaultSequenceParameters(contextProvider, 0, SequenceUUID.create("urn:uuid:2222"), SequenceType.AUDIO); assertDefaultSequenceParameters(contextProvider, 1, SequenceUUID.create("urn:uuid:3333"), SequenceType.AUDIO); }
private void prepareCplVirtualTracksWithChannels(TemplateParameterContextProvider contextProvider, Map<String, Integer> channelsForTrack) { SequenceTemplateParameterContext sequenceContext = contextProvider.getSequenceContext(); channelsForTrack.forEach( (uuid, channels) -> { sequenceContext.initSequence(SequenceType.AUDIO, SequenceUUID.create(uuid)); // as in test-audiomap.xml contextProvider.getSequenceContext().addSequenceParameter( SequenceType.AUDIO, SequenceUUID.create(uuid), SequenceContextParameters.CHANNELS_NUM, String.valueOf(channels)); } ); }
@SafeVarargs private final void prepareCplVirtualTracksWithChannels(TemplateParameterContextProvider contextProvider, SimpleEntry<String, Integer>... entries) { SequenceTemplateParameterContext sequenceContext = contextProvider.getSequenceContext(); Stream.of(entries).forEach((e) -> { sequenceContext.initSequence(SequenceType.AUDIO, SequenceUUID.create(e.getKey())); // as in test-audiomap.xml contextProvider.getSequenceContext().addSequenceParameter( SequenceType.AUDIO, SequenceUUID.create(e.getKey()), SequenceContextParameters.CHANNELS_NUM, String.valueOf(e.getValue())); } ); } }
@Test public void testAddSequenceParameterInitsSequence() throws Exception { TemplateParameterContextProvider contextProvider = createDefaultContextProvider(); contextProvider.getSequenceContext().addSequenceParameter(SequenceType.VIDEO, SequenceUUID.create("urn:uuid:3333"), SequenceContextParameters.NUM, "5"); assertEquals(1, contextProvider.getSequenceContext().getSequenceCount(SequenceType.VIDEO)); assertArrayEquals( new SequenceUUID[]{SequenceUUID.create("urn:uuid:3333")}, contextProvider.getSequenceContext().getUuids(SequenceType.VIDEO).toArray()); assertDefaultSequenceParameters(contextProvider, 5, SequenceUUID.create("urn:uuid:3333"), SequenceType.VIDEO); }
@Test public void testEndTime_NoEntryPoint_SourceDuration() throws Exception { // UUIDs as defined in CPL.xml ContextInfo contextInfo = new ContextInfoBuilder() .setSegmentUuid(SegmentUUID.create("urn:uuid:20544b5c-be3c-4274-8633-249ee8a5ad16")) .setSequenceUuid(SequenceUUID.create("urn:uuid:a4f226e7-adac-45a4-adbf-83335cf02d0d")) .setSequenceType(SequenceType.VIDEO) .setResourceUuid(ResourceUUID.create("urn:uuid:2404d06b-4d65-4511-9cac-42d41196a1ea", 0)) .build(); assertEquals("300", resourceContext.getParameterValue(ResourceContextParameters.END_TIME_EDIT_UNIT, contextInfo)); assertEquals("00:00:06.000", resourceContext.getParameterValue(ResourceContextParameters.END_TIME_TIMECODE, contextInfo)); assertEquals("6000", resourceContext.getParameterValue(ResourceContextParameters.END_TIME_MS, contextInfo)); }
@Test public void testStartTime_NoEntryPoint_NoEditRate() throws Exception { // UUIDs as defined in CPL.xml ContextInfo contextInfo = new ContextInfoBuilder() .setSegmentUuid(SegmentUUID.create("urn:uuid:20544b5c-be3c-4274-8633-249ee8a5ad16")) .setSequenceUuid(SequenceUUID.create("urn:uuid:a4f226e7-adac-45a4-adbf-83335cf02d0d")) .setSequenceType(SequenceType.VIDEO) .setResourceUuid(ResourceUUID.create("urn:uuid:2404d06b-4d65-4511-9cac-42d41196a1ea", 0)) .build(); assertEquals("0", resourceContext.getParameterValue(ResourceContextParameters.START_TIME_EDIT_UNIT, contextInfo)); assertEquals("00:00:00.000", resourceContext.getParameterValue(ResourceContextParameters.START_TIME_TIMECODE, contextInfo)); assertEquals("0", resourceContext.getParameterValue(ResourceContextParameters.START_TIME_MS, contextInfo)); }
@Test public void testEndTime_EntryPoint_NoSourceDuration() throws Exception { // UUIDs as defined in CPL.xml ContextInfo contextInfo = new ContextInfoBuilder() .setSegmentUuid(SegmentUUID.create("urn:uuid:20544b5c-be3c-4274-8633-249ee8a5ad17")) .setSequenceUuid(SequenceUUID.create("urn:uuid:63b41d86-c5df-4169-b036-3a25024bd711")) .setSequenceType(SequenceType.AUDIO) .setResourceUuid(ResourceUUID.create("urn:uuid:895820ef-e379-4021-a69e-8a898b0a9094", 0)) .build(); assertEquals("1629120", resourceContext.getParameterValue(ResourceContextParameters.END_TIME_EDIT_UNIT, contextInfo)); assertEquals("00:00:33.940", resourceContext.getParameterValue(ResourceContextParameters.END_TIME_TIMECODE, contextInfo)); assertEquals("33940", resourceContext.getParameterValue(ResourceContextParameters.END_TIME_MS, contextInfo)); }
@Test public void testStartTime_EntryPoint_NoEditRate() throws Exception { // UUIDs as defined in CPL.xml ContextInfo contextInfo = new ContextInfoBuilder() .setSegmentUuid(SegmentUUID.create("urn:uuid:20544b5c-be3c-4274-8633-249ee8a5ad17")) .setSequenceUuid(SequenceUUID.create("urn:uuid:a4f226e7-adac-45a4-adbf-83335cf02d0d")) .setSequenceType(SequenceType.VIDEO) .setResourceUuid(ResourceUUID.create("urn:uuid:2404d06b-4d65-4511-9cac-42d41196a1ea", 0)) .build(); assertEquals("600", resourceContext.getParameterValue(ResourceContextParameters.START_TIME_EDIT_UNIT, contextInfo)); assertEquals("00:00:12.000", resourceContext.getParameterValue(ResourceContextParameters.START_TIME_TIMECODE, contextInfo)); assertEquals("12000", resourceContext.getParameterValue(ResourceContextParameters.START_TIME_MS, contextInfo)); }
@Test public void testDuration_SourceDuration() throws Exception { // UUIDs as defined in CPL.xml ContextInfo contextInfo = new ContextInfoBuilder() .setSegmentUuid(SegmentUUID.create("urn:uuid:20544b5c-be3c-4274-8633-249ee8a5ad16")) .setSequenceUuid(SequenceUUID.create("urn:uuid:a4f226e7-adac-45a4-adbf-83335cf02d0d")) .setSequenceType(SequenceType.VIDEO) .setResourceUuid(ResourceUUID.create("urn:uuid:2404d06b-4d65-4511-9cac-42d41196a1eb", 0)) .build(); assertEquals("150", resourceContext.getParameterValue(ResourceContextParameters.DURATION_EDIT_UNIT, contextInfo)); assertEquals("00:00:03.000", resourceContext.getParameterValue(ResourceContextParameters.DURATION_TIMECODE, contextInfo)); assertEquals("3000", resourceContext.getParameterValue(ResourceContextParameters.DURATION_MS, contextInfo)); }
@Test public void testEndTime_EntryPoint_SourceDuration() throws Exception { // UUIDs as defined in CPL.xml ContextInfo contextInfo = new ContextInfoBuilder() .setSegmentUuid(SegmentUUID.create("urn:uuid:20544b5c-be3c-4274-8633-249ee8a5ad16")) .setSequenceUuid(SequenceUUID.create("urn:uuid:a4f226e7-adac-45a4-adbf-83335cf02d0d")) .setSequenceType(SequenceType.VIDEO) .setResourceUuid(ResourceUUID.create("urn:uuid:2404d06b-4d65-4511-9cac-42d41196a1eb", 0)) .build(); assertEquals("450", resourceContext.getParameterValue(ResourceContextParameters.END_TIME_EDIT_UNIT, contextInfo)); assertEquals("00:00:09.000", resourceContext.getParameterValue(ResourceContextParameters.END_TIME_TIMECODE, contextInfo)); assertEquals("9000", resourceContext.getParameterValue(ResourceContextParameters.END_TIME_MS, contextInfo)); }
@Test public void testDuration_NoSourceDuration_NoEntryPoint() throws Exception { // UUIDs as defined in CPL.xml ContextInfo contextInfo = new ContextInfoBuilder() .setSegmentUuid(SegmentUUID.create("urn:uuid:20544b5c-be3c-4274-8633-249ee8a5ad17")) .setSequenceUuid(SequenceUUID.create("urn:uuid:63b41d86-c5df-4169-b036-3a25024bd712")) .setSequenceType(SequenceType.AUDIO) .setResourceUuid(ResourceUUID.create("urn:uuid:895820ef-e379-4021-a69e-8a898b0a9097", 0)) .build(); assertEquals("1629120", resourceContext.getParameterValue(ResourceContextParameters.DURATION_EDIT_UNIT, contextInfo)); assertEquals("00:00:33.940", resourceContext.getParameterValue(ResourceContextParameters.DURATION_TIMECODE, contextInfo)); assertEquals("33940", resourceContext.getParameterValue(ResourceContextParameters.DURATION_MS, contextInfo)); }
@Test public void testEndTime_NoEntryPoint_NoSourceDuration() throws Exception { // UUIDs as defined in CPL.xml ContextInfo contextInfo = new ContextInfoBuilder() .setSegmentUuid(SegmentUUID.create("urn:uuid:20544b5c-be3c-4274-8633-249ee8a5ad17")) .setSequenceUuid(SequenceUUID.create("urn:uuid:63b41d86-c5df-4169-b036-3a25024bd712")) .setSequenceType(SequenceType.AUDIO) .setResourceUuid(ResourceUUID.create("urn:uuid:895820ef-e379-4021-a69e-8a898b0a9097", 0)) .build(); assertEquals("1629120", resourceContext.getParameterValue(ResourceContextParameters.END_TIME_EDIT_UNIT, contextInfo)); assertEquals("00:00:33.940", resourceContext.getParameterValue(ResourceContextParameters.END_TIME_TIMECODE, contextInfo)); assertEquals("33940", resourceContext.getParameterValue(ResourceContextParameters.END_TIME_MS, contextInfo)); }
@Test public void testStartTime_EntryPoint_EditRate() throws Exception { // UUIDs as defined in CPL.xmlo ContextInfo contextInfo = new ContextInfoBuilder() .setSegmentUuid(SegmentUUID.create("urn:uuid:20544b5c-be3c-4274-8633-249ee8a5ad16")) .setSequenceUuid(SequenceUUID.create("urn:uuid:a4f226e7-adac-45a4-adbf-83335cf02d0d")) .setSequenceType(SequenceType.VIDEO) .setResourceUuid(ResourceUUID.create("urn:uuid:2404d06b-4d65-4511-9cac-42d41196a1eb", 0)) .build(); assertEquals("300", resourceContext.getParameterValue(ResourceContextParameters.START_TIME_EDIT_UNIT, contextInfo)); assertEquals("00:00:06.000", resourceContext.getParameterValue(ResourceContextParameters.START_TIME_TIMECODE, contextInfo)); assertEquals("6000", resourceContext.getParameterValue(ResourceContextParameters.START_TIME_MS, contextInfo)); }
@Test public void testDuration_NoSourceDuration_EntryPoint() throws Exception { // UUIDs as defined in CPL.xml ContextInfo contextInfo = new ContextInfoBuilder() .setSegmentUuid(SegmentUUID.create("urn:uuid:20544b5c-be3c-4274-8633-249ee8a5ad17")) .setSequenceUuid(SequenceUUID.create("urn:uuid:a4f226e7-adac-45a4-adbf-83335cf02d0d")) .setSequenceType(SequenceType.VIDEO) .setResourceUuid(ResourceUUID.create("urn:uuid:2404d06b-4d65-4511-9cac-42d41196a1ea", 0)) .build(); assertEquals("1097", resourceContext.getParameterValue(ResourceContextParameters.DURATION_EDIT_UNIT, contextInfo)); assertEquals("00:00:21.940", resourceContext.getParameterValue(ResourceContextParameters.DURATION_TIMECODE, contextInfo)); assertEquals("21940", resourceContext.getParameterValue(ResourceContextParameters.DURATION_MS, contextInfo)); }
@Test public void testEditRate_NoEditRate() throws Exception { // UUIDs as defined in CPL.xml ContextInfo contextInfo = new ContextInfoBuilder() .setSegmentUuid(SegmentUUID.create("urn:uuid:20544b5c-be3c-4274-8633-249ee8a5ad17")) .setSequenceUuid(SequenceUUID.create("urn:uuid:a4f226e7-adac-45a4-adbf-83335cf02d0d")) .setSequenceType(SequenceType.VIDEO) .setResourceUuid(ResourceUUID.create("urn:uuid:2404d06b-4d65-4511-9cac-42d41196a1ea", 0)) .build(); assertEquals("50 1", resourceContext.getParameterValue(ResourceContextParameters.EDIT_RATE, contextInfo)); }
@Test public void testEditRate() throws Exception { // UUIDs as defined in CPL.xml ContextInfo contextInfo = new ContextInfoBuilder() .setSegmentUuid(SegmentUUID.create("urn:uuid:20544b5c-be3c-4274-8633-249ee8a5ad17")) .setSequenceUuid(SequenceUUID.create("urn:uuid:63b41d86-c5df-4169-b036-3a25024bd712")) .setSequenceType(SequenceType.AUDIO) .setResourceUuid(ResourceUUID.create("urn:uuid:895820ef-e379-4021-a69e-8a898b0a9097", 0)) .build(); assertEquals("48000 1", resourceContext.getParameterValue(ResourceContextParameters.EDIT_RATE, contextInfo)); }
@Test public void testContextInfo() { SkipOperationResolver resolver = new SkipOperationResolver(new TemplateParameterResolver(contextProvider)); ExecOnceType exec = new ExecOnceType(); exec.setIf("true"); assertFalse(resolver .setContextInfo(new ContextInfoBuilder() .setSequenceUuid(SequenceUUID.create("seq:urn")) .setResourceUuid(ResourceUUID.create("res:urn", 0)) .build()) .isSkip(exec)); } }