summaryrefslogtreecommitdiff
path: root/isoparser/src/main/java/com/googlecode/mp4parser/boxes/piff/.svn/text-base/ProtectionSpecificHeader.java.svn-base
diff options
context:
space:
mode:
Diffstat (limited to 'isoparser/src/main/java/com/googlecode/mp4parser/boxes/piff/.svn/text-base/ProtectionSpecificHeader.java.svn-base')
-rw-r--r--isoparser/src/main/java/com/googlecode/mp4parser/boxes/piff/.svn/text-base/ProtectionSpecificHeader.java.svn-base79
1 files changed, 79 insertions, 0 deletions
diff --git a/isoparser/src/main/java/com/googlecode/mp4parser/boxes/piff/.svn/text-base/ProtectionSpecificHeader.java.svn-base b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/piff/.svn/text-base/ProtectionSpecificHeader.java.svn-base
new file mode 100644
index 0000000..0d2f344
--- /dev/null
+++ b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/piff/.svn/text-base/ProtectionSpecificHeader.java.svn-base
@@ -0,0 +1,79 @@
+package com.googlecode.mp4parser.boxes.piff;
+
+
+import com.coremedia.iso.Hex;
+
+import java.lang.Class;
+import java.lang.IllegalAccessException;
+import java.lang.InstantiationException;
+import java.lang.Object;
+import java.lang.Override;
+import java.lang.RuntimeException;
+import java.lang.String;
+import java.lang.StringBuilder;
+import java.nio.ByteBuffer;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+
+public class ProtectionSpecificHeader {
+ protected static Map<UUID, Class<? extends ProtectionSpecificHeader>> uuidRegistry = new HashMap<UUID, Class<? extends ProtectionSpecificHeader>>();
+ ByteBuffer data;
+
+ static {
+ uuidRegistry.put(UUID.fromString("9A04F079-9840-4286-AB92-E65BE0885F95"), PlayReadyHeader.class);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj instanceof ProtectionSpecificHeader) {
+ if (this.getClass().equals(obj.getClass())) {
+ return data.equals(((ProtectionSpecificHeader) obj).data);
+ }
+ }
+ return false;
+ }
+
+ public static ProtectionSpecificHeader createFor(UUID systemId, ByteBuffer bufferWrapper) {
+ final Class<? extends ProtectionSpecificHeader> aClass = uuidRegistry.get(systemId);
+
+ ProtectionSpecificHeader protectionSpecificHeader = new ProtectionSpecificHeader();
+ if (aClass != null) {
+ try {
+ protectionSpecificHeader = aClass.newInstance();
+
+ } catch (InstantiationException e) {
+ throw new RuntimeException(e);
+ } catch (IllegalAccessException e) {
+ throw new RuntimeException(e);
+ }
+ }
+ protectionSpecificHeader.parse(bufferWrapper);
+ return protectionSpecificHeader;
+
+ }
+
+ public void parse(ByteBuffer buffer) {
+ data = buffer;
+
+ }
+
+ public ByteBuffer getData() {
+ return data;
+ }
+
+ @Override
+ public String toString() {
+ final StringBuilder sb = new StringBuilder();
+ sb.append("ProtectionSpecificHeader");
+ sb.append("{data=");
+ ByteBuffer data = getData().duplicate();
+ data.rewind();
+ byte[] bytes = new byte[data.limit()];
+ data.get(bytes);
+ sb.append(Hex.encodeHex(bytes));
+ sb.append('}');
+ return sb.toString();
+ }
+}