in src/main/java/com/amazonaws/kinesisvideo/parser/ebml/EBMLParser.java [156:176]
public void closeParser() {
if (!closed) {
log.debug("Closing EBMLParser");
//close current element
if (currentElement != null && currentElement.isKnownType()) {
log.debug("Closing with currentElement {} still set, invoking end element callback on it",
currentElement);
invokeOnEndElementCallback(currentElement);
currentElement = null;
}
log.debug("Closing with {} master elements on stack, invoking end element callback on them",
masterElements.size());
while (!masterElements.isEmpty()) {
EBMLParserInternalElement top = masterElements.pop();
//TODO: see if we need to add a flag to indicate unclean close
invokeOnEndElementCallback(top);
}
}
closed = true;
}