/** * An accessor for the PrimerPack KLV header * @param imfErrorLogger an error logger for recording any errors - cannot be null * @return a File containing the Primer pack * @throws IOException - any I/O related error is exposed through an IOException */ KLVPacket.Header getPrimerPackHeader(@Nonnull IMFErrorLogger imfErrorLogger) throws IOException { return this.getHeaderPartition(imfErrorLogger).getPrimerPack().getHeader(); }
sb.append("================== HeaderPartition ======================\n"); sb.append(this.getPartitionPack().toString()); sb.append(this.getPrimerPack().toString()); sb.append(this.getPreface().toString());
numBytesRead += header.getKLSize(); if (PrimerPack.isValidKey(key)) this.primerPack = new PrimerPack(byteProvider, header); numBytesRead += header.getVSize(); key = Arrays.copyOf(header.getKey(), header.getKey().length); numBytesRead += header.getKLSize(); if (PrimerPack.isValidKey(key)) this.primerPack = new PrimerPack(byteProvider, header); numBytesRead += header.getVSize(); if(!clazz.getSimpleName().equals(Object.class.getSimpleName())){ InterchangeObject.InterchangeObjectBO interchangeObjectBO = this.constructInterchangeObjectBO(clazz, header, byteProvider, this.primerPack.getLocalTagEntryBatch().getLocalTagToUIDMap(), imfErrorLogger); List<InterchangeObject.InterchangeObjectBO> list = this.interchangeObjectBOsMap.get(interchangeObjectBO.getClass().getSimpleName()); if(list == null){
/** * Instantiates a new Primer pack. * * @param byteProvider the mxf byte provider * @throws IOException the iO exception */ PrimerPack(ByteProvider byteProvider, long byteOffset) throws IOException { this.header = new KLVPacket.Header(byteProvider, byteOffset); if(!PrimerPack.isValidKey(Arrays.copyOf(this.header.getKey(), this.header.getKey().length))) { throw new MXFException("Found invalid PrimerPack key"); } this.localTagEntryBatch = new LocalTagEntryBatch(byteProvider); }
private KLVPacket.Header getPrimerPackHeader() throws IOException { return this.getHeaderPartition().getPrimerPack().getHeader(); }
private DocumentFragment getEssenceDescriptorAsDocumentFragment(Document document, KLVPacket.Header essenceDescriptor, List<KLVPacket.Header>subDescriptors) throws MXFException, IOException { document.setXmlStandalone(true); PrimerPack primerPack = this.getHeaderPartition().getPrimerPack(); RegXMLLibHelper regXMLLibHelper = new RegXMLLibHelper(primerPack.getHeader(), this.getByteProvider(primerPack.getHeader())); Triplet essenceDescriptorTriplet = regXMLLibHelper.getTripletFromKLVHeader(essenceDescriptor, this.getByteProvider(essenceDescriptor)); //DocumentFragment documentFragment = this.regXMLLibHelper.getDocumentFragment(essenceDescriptorTriplet, document); /*Get the Triplets corresponding to the SubDescriptors*/ List<Triplet> subDescriptorTriplets = new ArrayList<>(); for(KLVPacket.Header subDescriptorHeader : subDescriptors){ subDescriptorTriplets.add(regXMLLibHelper.getTripletFromKLVHeader(subDescriptorHeader, this.getByteProvider(subDescriptorHeader))); } return regXMLLibHelper.getEssenceDescriptorDocumentFragment(essenceDescriptorTriplet, subDescriptorTriplets, document, this.imfErrorLogger); }
private DocumentFragment getEssenceDescriptorAsDocumentFragment(Document document, Composition.HeaderPartitionTuple headerPartitionTuple, KLVPacket.Header essenceDescriptor, List<KLVPacket.Header> subDescriptors) throws MXFException, IOException { document.setXmlStandalone(true); PrimerPack primerPack = headerPartitionTuple.getHeaderPartition().getPrimerPack(); ResourceByteRangeProvider resourceByteRangeProvider = headerPartitionTuple.getResourceByteRangeProvider(); RegXMLLibHelper regXMLLibHelper = new RegXMLLibHelper(primerPack.getHeader(), getByteProvider(resourceByteRangeProvider, primerPack.getHeader())); Triplet essenceDescriptorTriplet = regXMLLibHelper.getTripletFromKLVHeader(essenceDescriptor, getByteProvider(resourceByteRangeProvider, essenceDescriptor)); //DocumentFragment documentFragment = this.regXMLLibHelper.getDocumentFragment(essenceDescriptorTriplet, document); /*Get the Triplets corresponding to the SubDescriptors*/ List<Triplet> subDescriptorTriplets = new ArrayList<>(); for (KLVPacket.Header subDescriptorHeader : subDescriptors) { subDescriptorTriplets.add(regXMLLibHelper.getTripletFromKLVHeader(subDescriptorHeader, this.getByteProvider(resourceByteRangeProvider, subDescriptorHeader))); } return regXMLLibHelper.getEssenceDescriptorDocumentFragment(essenceDescriptorTriplet, subDescriptorTriplets, document, this.imfErrorLogger); }