diff --git a/isoparser/src/main/java/org/mp4parser/boxes/iso23001/part7/AbstractSampleEncryptionBox.java b/isoparser/src/main/java/org/mp4parser/boxes/iso23001/part7/AbstractSampleEncryptionBox.java index 9b08a89c9..ee9ae05eb 100644 --- a/isoparser/src/main/java/org/mp4parser/boxes/iso23001/part7/AbstractSampleEncryptionBox.java +++ b/isoparser/src/main/java/org/mp4parser/boxes/iso23001/part7/AbstractSampleEncryptionBox.java @@ -133,8 +133,8 @@ protected void getContent(ByteBuffer byteBuffer) { IsoTypeWriter.writeUInt32(byteBuffer, getNonEmptyEntriesNum()); for (CencSampleAuxiliaryDataFormat entry : entries) { if (entry.getSize() > 0) { - if (entry.iv.length != 8 && entry.iv.length != 16) { - throw new RuntimeException("IV must be either 8 or 16 bytes"); + if (entry.iv.length != 0 && entry.iv.length != 8 && entry.iv.length != 16) { + throw new RuntimeException("IV must be either 0, 8 or 16 bytes"); } byteBuffer.put(entry.iv); if (isSubSampleEncryption()) { diff --git a/isoparser/src/main/java/org/mp4parser/boxes/iso23001/part7/CencSampleAuxiliaryDataFormat.java b/isoparser/src/main/java/org/mp4parser/boxes/iso23001/part7/CencSampleAuxiliaryDataFormat.java index e5b959780..f8a6c1fb3 100644 --- a/isoparser/src/main/java/org/mp4parser/boxes/iso23001/part7/CencSampleAuxiliaryDataFormat.java +++ b/isoparser/src/main/java/org/mp4parser/boxes/iso23001/part7/CencSampleAuxiliaryDataFormat.java @@ -75,7 +75,10 @@ public boolean equals(Object o) { CencSampleAuxiliaryDataFormat entry = (CencSampleAuxiliaryDataFormat) o; - if (!new BigInteger(iv).equals(new BigInteger(entry.iv))) { + BigInteger iv = this.iv.length == 0 ? BigInteger.ZERO : new BigInteger(this.iv); + BigInteger entryIv = entry.iv.length == 0 ? BigInteger.ZERO : new BigInteger(entry.iv); + if (!(iv.equals(entryIv))) + { return false; } if (pairs != null ? !Arrays.equals(pairs, entry.pairs) : entry.pairs != null) {