public void visit()

in src/main/java/com/amazonaws/kinesisvideo/parser/utilities/FragmentMetadataVisitor.java [157:188]


        public void visit(MkvEndMasterElement endMasterElement) throws MkvElementVisitException {
            switch (state) {
                case IN_CLUSTER:
                    if (MkvTypeInfos.CLUSTER.equals(endMasterElement.getElementMetaData().getTypeInfo())) {
                        state = State.POST_CLUSTER;
                    }
                    break;
                case POST_CLUSTER:
                    if (MkvTypeInfos.SEGMENT.equals(endMasterElement.getElementMetaData().getTypeInfo())) {
                        log.debug("Segment end {} changing state to NEW", endMasterElement);
                        state = State.NEW;
                    }
                    break;
                case PRE_CLUSTER:
                    if (MkvTypeInfos.SEGMENT.equals(endMasterElement.getElementMetaData().getTypeInfo())) {
                        log.warn("Segment end {} while in PRE_CLUSTER. Collecting cluster info", endMasterElement);
                        collectPreClusterInfo();
                    }
                    break;
                default:
                    break;
            }
            // If any tags section finishes, try to update the millisbehind latest and continuation token
            // since there can be multiple in the same segment.
            if (MkvTypeInfos.TAGS.equals(endMasterElement.getElementMetaData().getTypeInfo())) {
                if (log.isDebugEnabled()) {
                    log.debug("TAGS end {}, potentially updating millisbehindlatest and continuation token",
                            endMasterElement);
                }
                setMillisBehindLatestAndContinuationToken();
            }
        }