public void populateSequenceListForSegment()

in src/main/java/com/netflix/imflibrary/writerTools/CompositionPlaylistBuilder_2016.java [575:637]


    public void populateSequenceListForSegment(List<SequenceTypeTuple> sequenceTypeTuples,
                                               org.smpte_ra.schemas._2067_3._2016.SegmentType segment) {
        List<Object> any = segment.getSequenceList().getAny();
        if (this.coreConstraintsSchema.equals(CoreConstraints.NAMESPACE_IMF_2020))
        {
            org.smpte_ra.ns._2067_2._2020.ObjectFactory objectFactory = new org.smpte_ra.ns._2067_2._2020.ObjectFactory();
            org.smpte_ra.ns._2067_201._2019.ObjectFactory iabFactory = new org.smpte_ra.ns._2067_201._2019.ObjectFactory();
            org.smpte_ra.ns._2067_203._2022.ObjectFactory mgasadmFactory = new org.smpte_ra.ns._2067_203._2022.ObjectFactory();
            for(SequenceTypeTuple sequenceTypeTuple : sequenceTypeTuples){
                switch(sequenceTypeTuple.getSequenceType()){
                    case MainImageSequence:
                        any.add(objectFactory.createMainImageSequence(sequenceTypeTuple.getSequence()));
                        break;
                    case MainAudioSequence:
                        any.add(objectFactory.createMainAudioSequence(sequenceTypeTuple.getSequence()));
                        break;
                    case IABSequence:
                        // JAXB class for IABSequence was generated in the CC 2016 package. Use that
                        any.add(iabFactory.createIABSequence(sequenceTypeTuple.getSequence()));
                        break;
                    case MGASADMSignalSequence:
                        // JAXB class for MGASADMSignalSequence was generated in the CC 2016 package. Use that
                        any.add(mgasadmFactory.createMGASADMSignalSequence(sequenceTypeTuple.getSequence()));
                        break;
                    case MarkerSequence:
                        segment.getSequenceList().setMarkerSequence(sequenceTypeTuple.getSequence());
                        break;
                    default:
                        throw new IMFAuthoringException(String.format("Currently we only support %s, %s, %s, %s, %s, and %s sequence types in building a Composition Playlist document, the type of sequence being requested is %s",
                                Composition.SequenceTypeEnum.MainAudioSequence, Composition.SequenceTypeEnum.MainImageSequence, Composition.SequenceTypeEnum.IABSequence, Composition.SequenceTypeEnum.MGASADMSignalSequence, Composition.SequenceTypeEnum.MarkerSequence, sequenceTypeTuple.getSequenceType()));
                }
            }
        }
        else
        {
            org.smpte_ra.schemas._2067_2._2016.ObjectFactory objectFactory = new org.smpte_ra.schemas._2067_2._2016.ObjectFactory();
            org.smpte_ra.ns._2067_201._2019.ObjectFactory iabFactory = new org.smpte_ra.ns._2067_201._2019.ObjectFactory();
            org.smpte_ra.ns._2067_203._2022.ObjectFactory mgaFactory = new org.smpte_ra.ns._2067_203._2022.ObjectFactory();
            for(SequenceTypeTuple sequenceTypeTuple : sequenceTypeTuples){
                switch(sequenceTypeTuple.getSequenceType()){
                    case MainImageSequence:
                        any.add(objectFactory.createMainImageSequence(sequenceTypeTuple.getSequence()));
                        break;
                    case MainAudioSequence:
                        any.add(objectFactory.createMainAudioSequence(sequenceTypeTuple.getSequence()));
                        break;
                    case IABSequence:
                        any.add(iabFactory.createIABSequence(sequenceTypeTuple.getSequence()));
                        break;
                    case MGASADMSignalSequence:
                        any.add(mgaFactory.createMGASADMSignalSequence(sequenceTypeTuple.getSequence()));
                        break;
                    case MarkerSequence:
                        segment.getSequenceList().setMarkerSequence(sequenceTypeTuple.getSequence());
                        break;
                    default:
                        throw new IMFAuthoringException(String.format("Currently we only support %s, %s, %s, %s, %s, and %s sequence types in building a Composition Playlist document, the type of sequence being requested is %s",
                                Composition.SequenceTypeEnum.MainAudioSequence, Composition.SequenceTypeEnum.MainImageSequence, Composition.SequenceTypeEnum.IABSequence, Composition.SequenceTypeEnum.MGASADMSignalSequence, Composition.SequenceTypeEnum.MarkerSequence, sequenceTypeTuple.getSequenceType()));
                }
            }
        }

    }