private void bufferAndCollectSegment()

in src/main/java/com/aws/iot/edgeconnectorforkvs/videouploader/visitors/MergeFragmentVisitor.java [373:390]


    private void bufferAndCollectSegment(final MkvDataElement dataElement)
            throws MkvElementVisitException {
        final EBMLTypeInfo ebmlTypeInfo = dataElement.getElementMetaData().getTypeInfo();
        if (!isSegmentVerified) {
            if (MkvTypeInfos.TIMECODESCALE.equals(ebmlTypeInfo)) {
                timescaleMs = getTimescaleMs(dataElement);
            } else if (!isSegmentEmitted && MkvTypeInfos.TRACKNUMBER.equals(ebmlTypeInfo)) {
                trackNumbers.add(getTrackNumber(dataElement));
            }
            if (!isIgnoreTracksElements) {
                dataElement.writeToChannel(bufferingSegmentChannel);
            }
        } else {
            /* After segment is verified, all other level 1 elements should be ignored because we can't put them in
            the middle of cluster stream. */
            log.debug("Ignore " + ebmlTypeInfo.getName());
        }
    }