public static ResourceUUID getResourceUuid(int segm, int seq, SequenceType seqType, int res, int repeat) { return ResourceUUID.create( String.format(RESOURCE_UUID_FORMAT, segm, seq, seqType.value(), res, repeat), repeat); }
public static void assertResourceParameter(String value, ResourceUUID resourceUuid, ResourceContextParameters resParam) { String expectedValue = String.format(RESOURCE_PARAMETER_FORMAT, resourceUuid.getUuid(), resParam.getName()); assertNotNull(value); assertEquals(expectedValue, value); }
public static ResourceUUID create(String uuid, long repeat) { return new ResourceUUID(uuid, repeat); }
/** * Inits a resource parameter defined by the given key and UUID. Defines default parameters (such as Resource UUID and number). * The method must be called for each resource before adding another parameters. * * @param resourceKey a resource key defining the parameter. * @param uuid resource UUID. * @return this resource template parameters context. */ public ResourceTemplateParameterContext initResource(ResourceKey resourceKey, ResourceUUID uuid) { if (!resources.containsKey(resourceKey) || !resources.get(resourceKey).contains(uuid)) { int resourceNum = getResourceCount(resourceKey); doAddParameter(resourceKey, uuid, ResourceContextParameters.UUID, uuid.getUuid()); doAddParameter(resourceKey, uuid, ResourceContextParameters.NUM, String.valueOf(resourceNum)); doAddParameter(resourceKey, uuid, ResourceContextParameters.REPEAT, String.valueOf(uuid.getRepeat())); } return this; }
assertArrayEquals( new ResourceUUID[]{ ResourceUUID.create("urn:uuid:2404d06b-4d65-4511-9cac-42d41196a1ea", 0), ResourceUUID.create("urn:uuid:2404d06b-4d65-4511-9cac-42d41196a1eb", 0), ResourceUUID.create("urn:uuid:2404d06b-4d65-4511-9cac-42d41196a1ec", 0), ResourceUUID.create("urn:uuid:2404d06b-4d65-4511-9cac-42d41196a1ec", 1), ResourceUUID.create("urn:uuid:2404d06b-4d65-4511-9cac-42d41196a1ec", 2) }, resourceContext.getUuids(resKey).toArray(new ResourceUUID[]{}) assertArrayEquals( new ResourceUUID[]{ ResourceUUID.create("urn:uuid:895820ef-e379-4021-a69e-8a898b0a9094", 0), ResourceUUID.create("urn:uuid:895820ef-e379-4021-a69e-8a898b0a9094", 1) }, resourceContext.getUuids(resKey).toArray(new ResourceUUID[]{}) assertArrayEquals( new ResourceUUID[]{ ResourceUUID.create("urn:uuid:895820ef-e379-4021-a69e-8a898b0a9095", 0), ResourceUUID.create("urn:uuid:895820ef-e379-4021-a69e-8a898b0a9096", 0) }, resourceContext.getUuids(resKey).toArray(new ResourceUUID[]{}) assertArrayEquals( new ResourceUUID[]{ ResourceUUID.create("urn:uuid:2404d06b-4d65-4511-9cac-42d41196a1ea", 0), ResourceUUID.create("urn:uuid:2404d06b-4d65-4511-9cac-42d41196a1eb", 0), ResourceUUID.create("urn:uuid:2404d06b-4d65-4511-9cac-42d41196a1eb", 1)
@Override FfprobeType parseOutputFile(File outputFile, ContextInfo contextInfo) throws XmlParsingException, FileNotFoundException { try { switch (contextInfo.getSequenceType()) { case AUDIO: outputFile = contextInfo.getResourceUuid().getUuid().contains("-0-") ? MediaInfoUtils.getCorrectMediaInfoAudio() : MediaInfoUtils.getCorrectMediaInfoAudio2(); break; case VIDEO: outputFile = contextInfo.getResourceUuid().getUuid().contains("-0-") ? MediaInfoUtils.getCorrectMediaInfoVideo() : MediaInfoUtils.getCorrectMediaInfoVideo2(); break; default: throw new RuntimeException(); } } catch (URISyntaxException e) { throw new RuntimeException(e); } return super.parseOutputFile(outputFile, contextInfo); } };
@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)); }
@Override FfprobeType parseOutputFile(File outputFile, ContextInfo contextInfo) throws XmlParsingException, FileNotFoundException { try { switch (contextInfo.getSequenceType()) { case AUDIO: outputFile = contextInfo.getResourceUuid().getUuid().endsWith("-0-0") ? MediaInfoUtils.getCorrectMediaInfoAudio() : MediaInfoUtils.getCorrectMediaInfoAudio2(); break; case VIDEO: outputFile = contextInfo.getResourceUuid().getUuid().endsWith("-0-0") ? MediaInfoUtils.getCorrectMediaInfoVideo() : MediaInfoUtils.getCorrectMediaInfoVideo2(); break; default: throw new RuntimeException(); } } catch (URISyntaxException e) { throw new RuntimeException(e); } return super.parseOutputFile(outputFile, 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)); }
@Override FfprobeType parseOutputFile(File outputFile, ContextInfo contextInfo) throws XmlParsingException, FileNotFoundException { try { switch (contextInfo.getSequenceType()) { case AUDIO: outputFile = contextInfo.getResourceUuid().getUuid().contains("-0-") ? MediaInfoUtils.getCorrectMediaInfoAudio() : MediaInfoUtils.getCorrectMediaInfoAudio3(); break; case VIDEO: outputFile = contextInfo.getResourceUuid().getUuid().contains("-0-") ? MediaInfoUtils.getCorrectMediaInfoVideo() : MediaInfoUtils.getCorrectMediaInfoVideo2(); break; default: throw new RuntimeException(); } } catch (URISyntaxException e) { throw new RuntimeException(e); } return super.parseOutputFile(outputFile, 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)); }
assertEquals(resourceUuid.getUuid(), resolvedUuid);
@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_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 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 testStartTime_NoEntryPoint_EditRate() 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 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)); }