private boolean checkIfTracksEquivalent()

in src/main/java/com/aws/iot/edgeconnectorforkvs/videouploader/visitors/MkvTracksVisitor.java [146:175]


    private boolean checkIfTracksEquivalent(MkvParentRawElement previousTracks, MkvParentRawElement currentTracks) {
        boolean isEquivalent = true;
        final ArrayList<MkvRawElement> previousElements = previousTracks.getFlattenedElements();
        final ArrayList<MkvRawElement> currentElements = currentTracks.getFlattenedElements();

        if (previousElements.size() != currentElements.size()) {
            isEquivalent = false;
        } else {
            for (int i = 0; i < previousElements.size(); i++) {
                final MkvRawElement previousElement = previousElements.get(i);
                final MkvRawElement currentElement = currentElements.get(i);

                if (previousElement.getClass() != currentElement.getClass()) {
                    isEquivalent = false;
                    break;
                }

                if (Arrays.equals(previousElement.getIdCopy(), ID_TRACK_UID)
                        && Arrays.equals(currentElement.getIdCopy(), ID_TRACK_UID)) {
                    log.debug("ignore track uid");
                } else {
                    if (!previousElement.equals(currentElement)) {
                        isEquivalent = false;
                        break;
                    }
                }
            }
        }
        return isEquivalent;
    }