public static GaplessInfo parseUdta(Atom.LeafAtom udtaAtom,boolean isQuickTime){
  if (isQuickTime) {
    return null;
  }
  ParsableByteArray udtaData=udtaAtom.data;
  udtaData.setPosition(Atom.HEADER_SIZE);
  while (udtaData.bytesLeft() >= Atom.HEADER_SIZE) {
    int atomSize=udtaData.readInt();
    int atomType=udtaData.readInt();
    if (atomType == Atom.TYPE_meta) {
      udtaData.setPosition(udtaData.getPosition() - Atom.HEADER_SIZE);
      udtaData.setLimit(udtaData.getPosition() + atomSize);
      return parseMetaAtom(udtaData);
    }
 else {
      udtaData.skipBytes(atomSize - Atom.HEADER_SIZE);
    }
  }
  return null;
}

public static GaplessInfo parseUdta ( Atom . LeafAtom udtaAtom , boolean isQuickTime ) { if ( isQuickTime ) { return null ; } ParsableByteArray udtaData = udtaAtom . data ; udtaData . setPosition ( Atom . HEADER_SIZE ) ; while ( udtaData . bytesLeft ( ) >= Atom . HEADER_SIZE ) { int atomSize = udtaData . readInt ( ) ; int atomType = udtaData . readInt ( ) ; if ( atomType == Atom . TYPE_meta ) { udtaData . setPosition ( udtaData . getPosition ( ) - Atom . HEADER_SIZE ) ; udtaData . setLimit ( udtaData . getPosition ( ) + atomSize ) ; return parseMetaAtom ( udtaData ) ; } else { udtaData . skipBytes ( atomSize - Atom . HEADER_SIZE ) ; } } return null ; }
parses a udta atom .
