/** * Gets the SubDescriptor objects corresponding to this HeaderPartition object that are referred by the specified * EssenceDescriptor * @param essenceDescriptor the essence descriptor whose referred subdescriptors are requested * @return list of SubDescriptor objects referenced by the Essence Descriptors in this HeaderPartition */ public List<InterchangeObject.InterchangeObjectBO> getSubDescriptors(InterchangeObject.InterchangeObjectBO essenceDescriptor){ GenericDescriptor.GenericDescriptorBO genericDescriptorBO = (GenericDescriptor.GenericDescriptorBO)essenceDescriptor; return this.getSubDescriptors(genericDescriptorBO.getSubdescriptors()); }
private List<KLVPacket.Header> getSubDescriptorKLVHeader(HeaderPartition headerPartition, InterchangeObject.InterchangeObjectBO essenceDescriptor) { List<KLVPacket.Header> subDescriptorHeaders = new ArrayList<>(); List<InterchangeObject.InterchangeObjectBO> subDescriptors = headerPartition.getSubDescriptors(essenceDescriptor); for (InterchangeObject.InterchangeObjectBO subDescriptorBO : subDescriptors) { if (subDescriptorBO != null) { subDescriptorHeaders.add(subDescriptorBO.getHeader()); } } return Collections.unmodifiableList(subDescriptorHeaders); }
private List<KLVPacket.Header> getSubDescriptorKLVHeader(InterchangeObject.InterchangeObjectBO essenceDescriptor) throws IOException { List<KLVPacket.Header> subDescriptorHeaders = new ArrayList<>(); List<InterchangeObject.InterchangeObjectBO>subDescriptors = this.getHeaderPartition().getSubDescriptors(essenceDescriptor); for(InterchangeObject.InterchangeObjectBO subDescriptorBO : subDescriptors){ if(subDescriptorBO != null) { subDescriptorHeaders.add(subDescriptorBO.getHeader()); } } return subDescriptorHeaders; }
/** * A method that returns the MXF KLV header corresponding to an EssenceDescriptor in the MXF file * @param essenceDescriptor corresponding to the essence in the MXF file * @param imfErrorLogger an error logger for recording any errors - cannot be null * @return List<MXFKLVPacket.Header></> corresponding to every SubDescriptor in the underlying resource * @throws IOException - any I/O related error will be exposed through an IOException */ List<KLVPacket.Header> getSubDescriptorKLVHeader(InterchangeObject.InterchangeObjectBO essenceDescriptor, @Nonnull IMFErrorLogger imfErrorLogger) throws IOException { List<KLVPacket.Header> subDescriptorHeaders = new ArrayList<>(); List<InterchangeObject.InterchangeObjectBO>subDescriptors = this.getHeaderPartition(imfErrorLogger).getSubDescriptors(essenceDescriptor); for(InterchangeObject.InterchangeObjectBO subDescriptorBO : subDescriptors){ if(subDescriptorBO != null) { subDescriptorHeaders.add(subDescriptorBO.getHeader()); } } return subDescriptorHeaders; }
/** * A method that returns a list of MXF KLV Header corresponding to the SubDescriptors in the MXF file * @param imfErrorLogger an error logger for recording any errors - cannot be null * @return List<MXFKLVPacket.Header></> corresponding to every SubDescriptor in the underlying resource * @throws IOException - any I/O related error will be exposed through an IOException */ List<KLVPacket.Header> getSubDescriptors(@Nonnull IMFErrorLogger imfErrorLogger) throws IOException { List<InterchangeObject.InterchangeObjectBO> subDescriptors = this.getHeaderPartition(imfErrorLogger).getSubDescriptors(); List<KLVPacket.Header> subDescriptorHeaders = new ArrayList<>(); for(InterchangeObject.InterchangeObjectBO subDescriptorBO : subDescriptors){ if(subDescriptorBO != null) { subDescriptorHeaders.add(subDescriptorBO.getHeader()); } } return subDescriptorHeaders; }
KLVPacket.Header essenceDescriptorHeader = essenceDescriptor.getHeader(); List<KLVPacket.Header> subDescriptorHeaders = new ArrayList<>(); List<InterchangeObject.InterchangeObjectBO> subDescriptors = headerPartition.getSubDescriptors(essenceDescriptor); for (InterchangeObject.InterchangeObjectBO subDescriptorBO : subDescriptors) { if (subDescriptorBO != null) {
imfErrorLogger.addError(IMFErrorLogger.IMFErrors.ErrorCodes.IMF_CORE_CONSTRAINTS_ERROR, IMFErrorLogger.IMFErrors.ErrorLevels.NON_FATAL, IMFConstraints.IMF_ESSENCE_EXCEPTION_PREFIX + String.format("WaveAudioEssenceDescriptor indicates that the Audio Essence within an Audio Track File is not Wave Clip-Wrapped in the IMFTrackFile represented by ID %s.", packageID.toString())); List<InterchangeObject.InterchangeObjectBO> subDescriptors = headerPartition.getSubDescriptors();