ProtectionSpecificHeader.smali
.class public abstract Lcom/googlecode/mp4parser/boxes/piff/ProtectionSpecificHeader;
.super Ljava/lang/Object;
.source "ProtectionSpecificHeader.java"
# static fields
.field protected static uuidRegistry:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/util/UUID;",
"Ljava/lang/Class<",
"+",
"Lcom/googlecode/mp4parser/boxes/piff/ProtectionSpecificHeader;",
">;>;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 1
.line 22
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
sput-object v0, Lcom/googlecode/mp4parser/boxes/piff/ProtectionSpecificHeader;->uuidRegistry:Ljava/util/Map;
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 21
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static createFor(Ljava/util/UUID;Ljava/nio/ByteBuffer;)Lcom/googlecode/mp4parser/boxes/piff/ProtectionSpecificHeader;
.registers 6
.param p0, "systemId" # Ljava/util/UUID;
.param p1, "bufferWrapper" # Ljava/nio/ByteBuffer;
.line 32
sget-object v0, Lcom/googlecode/mp4parser/boxes/piff/ProtectionSpecificHeader;->uuidRegistry:Ljava/util/Map;
invoke-interface {v0, p0}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Class;
.line 34
.local v0, "aClass":Ljava/lang/Class;, "Ljava/lang/Class<+Lcom/googlecode/mp4parser/boxes/piff/ProtectionSpecificHeader;>;"
const/4 v1, 0x0
.line 35
.local v1, "protectionSpecificHeader":Lcom/googlecode/mp4parser/boxes/piff/ProtectionSpecificHeader;
if-eqz v0, :cond_21
.line 37
:try_start_b
invoke-virtual {v0}, Ljava/lang/Class;->newInstance()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/googlecode/mp4parser/boxes/piff/ProtectionSpecificHeader;
:try_end_11
.catch Ljava/lang/InstantiationException; {:try_start_b .. :try_end_11} :catch_1a
.catch Ljava/lang/IllegalAccessException; {:try_start_b .. :try_end_11} :catch_13
move-object v1, v2
.line 39
goto :goto_21
.line 41
:catch_13
move-exception v2
.line 42
.local v2, "e":Ljava/lang/IllegalAccessException;
new-instance v3, Ljava/lang/RuntimeException;
invoke-direct {v3, v2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v3
.line 39
.end local v2 # "e":Ljava/lang/IllegalAccessException;
:catch_1a
move-exception v2
.line 40
.local v2, "e":Ljava/lang/InstantiationException;
new-instance v3, Ljava/lang/RuntimeException;
invoke-direct {v3, v2}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v3
.line 46
.end local v2 # "e":Ljava/lang/InstantiationException;
:cond_21
:goto_21
if-nez v1, :cond_29
.line 47
new-instance v2, Lcom/googlecode/mp4parser/contentprotection/GenericHeader;
invoke-direct {v2}, Lcom/googlecode/mp4parser/contentprotection/GenericHeader;-><init>()V
move-object v1, v2
.line 49
:cond_29
invoke-virtual {v1, p1}, Lcom/googlecode/mp4parser/boxes/piff/ProtectionSpecificHeader;->parse(Ljava/nio/ByteBuffer;)V
.line 50
return-object v1
.end method
# virtual methods
.method public equals(Ljava/lang/Object;)Z
.registers 4
.param p1, "obj" # Ljava/lang/Object;
.line 28
new-instance v0, Ljava/lang/RuntimeException;
const-string/jumbo v1, "somebody called equals on me but that\'s not supposed to happen."
invoke-direct {v0, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public abstract getData()Ljava/nio/ByteBuffer;
.end method
.method public abstract getSystemId()Ljava/util/UUID;
.end method
.method public abstract parse(Ljava/nio/ByteBuffer;)V
.end method
.method public toString()Ljava/lang/String;
.registers 5
.line 60
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 61
.local v0, "sb":Ljava/lang/StringBuilder;
const-string v1, "ProtectionSpecificHeader"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 62
const-string/jumbo v1, "{data="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 63
invoke-virtual {p0}, Lcom/googlecode/mp4parser/boxes/piff/ProtectionSpecificHeader;->getData()Ljava/nio/ByteBuffer;
move-result-object v1
invoke-virtual {v1}, Ljava/nio/ByteBuffer;->duplicate()Ljava/nio/ByteBuffer;
move-result-object v1
.line 64
.local v1, "data":Ljava/nio/ByteBuffer;
invoke-virtual {v1}, Ljava/nio/ByteBuffer;->rewind()Ljava/nio/Buffer;
.line 65
invoke-virtual {v1}, Ljava/nio/ByteBuffer;->limit()I
move-result v2
new-array v2, v2, [B
.line 66
.local v2, "bytes":[B
invoke-virtual {v1, v2}, Ljava/nio/ByteBuffer;->get([B)Ljava/nio/ByteBuffer;
.line 67
invoke-static {v2}, Lcom/coremedia/iso/Hex;->encodeHex([B)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 68
const/16 v3, 0x7d
invoke-virtual {v0, v3}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 69
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
return-object v3
.end method