XtraBox.smali
.class public Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;
.super Lcom/googlecode/mp4parser/AbstractBox;
.source "XtraBox.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;,
Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraValue;
}
.end annotation
# static fields
.field private static final FILETIME_EPOCH_DIFF:J = 0xa9730b66800L
.field private static final FILETIME_ONE_MILLISECOND:J = 0x2710L
.field public static final MP4_XTRA_BT_FILETIME:I = 0x15
.field public static final MP4_XTRA_BT_GUID:I = 0x48
.field public static final MP4_XTRA_BT_INT64:I = 0x13
.field public static final MP4_XTRA_BT_UNICODE:I = 0x8
.field public static final TYPE:Ljava/lang/String; = "Xtra"
.field private static final synthetic ajc$tjp_0:Lorg/aspectj/lang/JoinPoint$StaticPart;
.field private static final synthetic ajc$tjp_1:Lorg/aspectj/lang/JoinPoint$StaticPart;
.field private static final synthetic ajc$tjp_10:Lorg/aspectj/lang/JoinPoint$StaticPart;
.field private static final synthetic ajc$tjp_2:Lorg/aspectj/lang/JoinPoint$StaticPart;
.field private static final synthetic ajc$tjp_3:Lorg/aspectj/lang/JoinPoint$StaticPart;
.field private static final synthetic ajc$tjp_4:Lorg/aspectj/lang/JoinPoint$StaticPart;
.field private static final synthetic ajc$tjp_5:Lorg/aspectj/lang/JoinPoint$StaticPart;
.field private static final synthetic ajc$tjp_6:Lorg/aspectj/lang/JoinPoint$StaticPart;
.field private static final synthetic ajc$tjp_7:Lorg/aspectj/lang/JoinPoint$StaticPart;
.field private static final synthetic ajc$tjp_8:Lorg/aspectj/lang/JoinPoint$StaticPart;
.field private static final synthetic ajc$tjp_9:Lorg/aspectj/lang/JoinPoint$StaticPart;
# instance fields
.field data:Ljava/nio/ByteBuffer;
.field private successfulParse:Z
.field tags:Ljava/util/Vector;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Vector<",
"Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;",
">;"
}
.end annotation
.end field
# direct methods
.method static constructor <clinit>()V
.registers 0
.line 1
invoke-static {}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$preClinit()V
return-void
.end method
.method public constructor <init>()V
.registers 2
.line 62
const-string v0, "Xtra"
invoke-direct {p0, v0}, Lcom/googlecode/mp4parser/AbstractBox;-><init>(Ljava/lang/String;)V
.line 55
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->successfulParse:Z
.line 57
new-instance v0, Ljava/util/Vector;
invoke-direct {v0}, Ljava/util/Vector;-><init>()V
iput-object v0, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->tags:Ljava/util/Vector;
.line 64
return-void
.end method
.method public constructor <init>(Ljava/lang/String;)V
.registers 3
.param p1, "type" # Ljava/lang/String;
.line 67
invoke-direct {p0, p1}, Lcom/googlecode/mp4parser/AbstractBox;-><init>(Ljava/lang/String;)V
.line 55
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->successfulParse:Z
.line 57
new-instance v0, Ljava/util/Vector;
invoke-direct {v0}, Ljava/util/Vector;-><init>()V
iput-object v0, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->tags:Ljava/util/Vector;
.line 68
return-void
.end method
.method static synthetic access$0(Ljava/nio/ByteBuffer;I)Ljava/lang/String;
.registers 3
.param p0, "arg0" # Ljava/nio/ByteBuffer;
.param p1, "arg1" # I
.line 530
invoke-static {p0, p1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->readAsciiString(Ljava/nio/ByteBuffer;I)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method static synthetic access$1(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
.registers 2
.param p0, "arg0" # Ljava/nio/ByteBuffer;
.param p1, "arg1" # Ljava/lang/String;
.line 522
invoke-static {p0, p1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->writeAsciiString(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
return-void
.end method
.method static synthetic access$2(Ljava/nio/ByteBuffer;I)Ljava/lang/String;
.registers 3
.param p0, "arg0" # Ljava/nio/ByteBuffer;
.param p1, "arg1" # I
.line 541
invoke-static {p0, p1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->readUtf16String(Ljava/nio/ByteBuffer;I)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method static synthetic access$3(J)J
.registers 4
.param p0, "arg0" # J
.line 514
invoke-static {p0, p1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->filetimeToMillis(J)J
move-result-wide v0
return-wide v0
.end method
.method static synthetic access$4(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
.registers 2
.param p0, "arg0" # Ljava/nio/ByteBuffer;
.param p1, "arg1" # Ljava/lang/String;
.line 550
invoke-static {p0, p1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->writeUtf16String(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
return-void
.end method
.method static synthetic access$5(J)J
.registers 4
.param p0, "arg0" # J
.line 518
invoke-static {p0, p1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->millisToFiletime(J)J
move-result-wide v0
return-wide v0
.end method
.method private static synthetic ajc$preClinit()V
.registers 10
.line 1
new-instance v8, Lorg/aspectj/runtime/reflect/Factory;
const-class v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;
const-string v1, "XtraBox.java"
invoke-direct {v8, v1, v0}, Lorg/aspectj/runtime/reflect/Factory;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
const-string v1, "1"
const-string/jumbo v2, "toString"
const-string v3, "com.googlecode.mp4parser.boxes.microsoft.XtraBox"
const-string v4, ""
const-string v5, ""
const-string v6, ""
const-string v7, "java.lang.String"
move-object v0, v8
invoke-virtual/range {v0 .. v7}, Lorg/aspectj/runtime/reflect/Factory;->makeMethodSig(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/aspectj/lang/reflect/MethodSignature;
move-result-object v0
const-string v9, "method-execution"
const/16 v1, 0x58
invoke-virtual {v8, v9, v0, v1}, Lorg/aspectj/runtime/reflect/Factory;->makeSJP(Ljava/lang/String;Lorg/aspectj/lang/Signature;I)Lorg/aspectj/lang/JoinPoint$StaticPart;
move-result-object v0
sput-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_0:Lorg/aspectj/lang/JoinPoint$StaticPart;
const-string v1, "1"
const-string v2, "getAllTagNames"
const-string v3, "com.googlecode.mp4parser.boxes.microsoft.XtraBox"
const-string v4, ""
const-string v5, ""
const-string v6, ""
const-string v7, "[Ljava.lang.String;"
move-object v0, v8
invoke-virtual/range {v0 .. v7}, Lorg/aspectj/runtime/reflect/Factory;->makeMethodSig(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/aspectj/lang/reflect/MethodSignature;
move-result-object v0
const/16 v1, 0x97
invoke-virtual {v8, v9, v0, v1}, Lorg/aspectj/runtime/reflect/Factory;->makeSJP(Ljava/lang/String;Lorg/aspectj/lang/Signature;I)Lorg/aspectj/lang/JoinPoint$StaticPart;
move-result-object v0
sput-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_1:Lorg/aspectj/lang/JoinPoint$StaticPart;
const-string v1, "1"
const-string/jumbo v2, "setTagValue"
const-string v3, "com.googlecode.mp4parser.boxes.microsoft.XtraBox"
const-string v4, "java.lang.String:long"
const-string v5, "name:value"
const-string v6, ""
const-string/jumbo v7, "void"
move-object v0, v8
invoke-virtual/range {v0 .. v7}, Lorg/aspectj/runtime/reflect/Factory;->makeMethodSig(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/aspectj/lang/reflect/MethodSignature;
move-result-object v0
const/16 v1, 0x121
invoke-virtual {v8, v9, v0, v1}, Lorg/aspectj/runtime/reflect/Factory;->makeSJP(Ljava/lang/String;Lorg/aspectj/lang/Signature;I)Lorg/aspectj/lang/JoinPoint$StaticPart;
move-result-object v0
sput-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_10:Lorg/aspectj/lang/JoinPoint$StaticPart;
const-string v1, "1"
const-string v2, "getFirstStringValue"
const-string v3, "com.googlecode.mp4parser.boxes.microsoft.XtraBox"
const-string v4, "java.lang.String"
const-string v5, "name"
const-string v6, ""
const-string v7, "java.lang.String"
move-object v0, v8
invoke-virtual/range {v0 .. v7}, Lorg/aspectj/runtime/reflect/Factory;->makeMethodSig(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/aspectj/lang/reflect/MethodSignature;
move-result-object v0
const/16 v1, 0xa6
invoke-virtual {v8, v9, v0, v1}, Lorg/aspectj/runtime/reflect/Factory;->makeSJP(Ljava/lang/String;Lorg/aspectj/lang/Signature;I)Lorg/aspectj/lang/JoinPoint$StaticPart;
move-result-object v0
sput-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_2:Lorg/aspectj/lang/JoinPoint$StaticPart;
const-string v1, "1"
const-string v2, "getFirstDateValue"
const-string v3, "com.googlecode.mp4parser.boxes.microsoft.XtraBox"
const-string v4, "java.lang.String"
const-string v5, "name"
const-string v6, ""
const-string v7, "java.util.Date"
move-object v0, v8
invoke-virtual/range {v0 .. v7}, Lorg/aspectj/runtime/reflect/Factory;->makeMethodSig(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/aspectj/lang/reflect/MethodSignature;
move-result-object v0
const/16 v1, 0xb7
invoke-virtual {v8, v9, v0, v1}, Lorg/aspectj/runtime/reflect/Factory;->makeSJP(Ljava/lang/String;Lorg/aspectj/lang/Signature;I)Lorg/aspectj/lang/JoinPoint$StaticPart;
move-result-object v0
sput-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_3:Lorg/aspectj/lang/JoinPoint$StaticPart;
const-string v1, "1"
const-string v2, "getFirstLongValue"
const-string v3, "com.googlecode.mp4parser.boxes.microsoft.XtraBox"
const-string v4, "java.lang.String"
const-string v5, "name"
const-string v6, ""
const-string v7, "java.lang.Long"
move-object v0, v8
invoke-virtual/range {v0 .. v7}, Lorg/aspectj/runtime/reflect/Factory;->makeMethodSig(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/aspectj/lang/reflect/MethodSignature;
move-result-object v0
const/16 v1, 0xc8
invoke-virtual {v8, v9, v0, v1}, Lorg/aspectj/runtime/reflect/Factory;->makeSJP(Ljava/lang/String;Lorg/aspectj/lang/Signature;I)Lorg/aspectj/lang/JoinPoint$StaticPart;
move-result-object v0
sput-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_4:Lorg/aspectj/lang/JoinPoint$StaticPart;
const-string v1, "1"
const-string v2, "getValues"
const-string v3, "com.googlecode.mp4parser.boxes.microsoft.XtraBox"
const-string v4, "java.lang.String"
const-string v5, "name"
const-string v6, ""
const-string v7, "[Ljava.lang.Object;"
move-object v0, v8
invoke-virtual/range {v0 .. v7}, Lorg/aspectj/runtime/reflect/Factory;->makeMethodSig(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/aspectj/lang/reflect/MethodSignature;
move-result-object v0
const/16 v1, 0xd8
invoke-virtual {v8, v9, v0, v1}, Lorg/aspectj/runtime/reflect/Factory;->makeSJP(Ljava/lang/String;Lorg/aspectj/lang/Signature;I)Lorg/aspectj/lang/JoinPoint$StaticPart;
move-result-object v0
sput-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_5:Lorg/aspectj/lang/JoinPoint$StaticPart;
const-string v1, "1"
const-string/jumbo v2, "removeTag"
const-string v3, "com.googlecode.mp4parser.boxes.microsoft.XtraBox"
const-string v4, "java.lang.String"
const-string v5, "name"
const-string v6, ""
const-string/jumbo v7, "void"
move-object v0, v8
invoke-virtual/range {v0 .. v7}, Lorg/aspectj/runtime/reflect/Factory;->makeMethodSig(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/aspectj/lang/reflect/MethodSignature;
move-result-object v0
const/16 v1, 0xec
invoke-virtual {v8, v9, v0, v1}, Lorg/aspectj/runtime/reflect/Factory;->makeSJP(Ljava/lang/String;Lorg/aspectj/lang/Signature;I)Lorg/aspectj/lang/JoinPoint$StaticPart;
move-result-object v0
sput-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_6:Lorg/aspectj/lang/JoinPoint$StaticPart;
const-string v1, "1"
const-string/jumbo v2, "setTagValues"
const-string v3, "com.googlecode.mp4parser.boxes.microsoft.XtraBox"
const-string v4, "java.lang.String:[Ljava.lang.String;"
const-string v5, "name:values"
const-string v6, ""
const-string/jumbo v7, "void"
move-object v0, v8
invoke-virtual/range {v0 .. v7}, Lorg/aspectj/runtime/reflect/Factory;->makeMethodSig(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/aspectj/lang/reflect/MethodSignature;
move-result-object v0
const/16 v1, 0xf9
invoke-virtual {v8, v9, v0, v1}, Lorg/aspectj/runtime/reflect/Factory;->makeSJP(Ljava/lang/String;Lorg/aspectj/lang/Signature;I)Lorg/aspectj/lang/JoinPoint$StaticPart;
move-result-object v0
sput-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_7:Lorg/aspectj/lang/JoinPoint$StaticPart;
const-string v1, "1"
const-string/jumbo v2, "setTagValue"
const-string v3, "com.googlecode.mp4parser.boxes.microsoft.XtraBox"
const-string v4, "java.lang.String:java.lang.String"
const-string v5, "name:value"
const-string v6, ""
const-string/jumbo v7, "void"
move-object v0, v8
invoke-virtual/range {v0 .. v7}, Lorg/aspectj/runtime/reflect/Factory;->makeMethodSig(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/aspectj/lang/reflect/MethodSignature;
move-result-object v0
const/16 v1, 0x109
invoke-virtual {v8, v9, v0, v1}, Lorg/aspectj/runtime/reflect/Factory;->makeSJP(Ljava/lang/String;Lorg/aspectj/lang/Signature;I)Lorg/aspectj/lang/JoinPoint$StaticPart;
move-result-object v0
sput-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_8:Lorg/aspectj/lang/JoinPoint$StaticPart;
const-string v1, "1"
const-string/jumbo v2, "setTagValue"
const-string v3, "com.googlecode.mp4parser.boxes.microsoft.XtraBox"
const-string v4, "java.lang.String:java.util.Date"
const-string v5, "name:date"
const-string v6, ""
const-string/jumbo v7, "void"
move-object v0, v8
invoke-virtual/range {v0 .. v7}, Lorg/aspectj/runtime/reflect/Factory;->makeMethodSig(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/aspectj/lang/reflect/MethodSignature;
move-result-object v0
const/16 v1, 0x114
invoke-virtual {v8, v9, v0, v1}, Lorg/aspectj/runtime/reflect/Factory;->makeSJP(Ljava/lang/String;Lorg/aspectj/lang/Signature;I)Lorg/aspectj/lang/JoinPoint$StaticPart;
move-result-object v0
sput-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_9:Lorg/aspectj/lang/JoinPoint$StaticPart;
return-void
.end method
.method private detailSize()I
.registers 4
.line 80
const/4 v0, 0x0
.line 81
.local v0, "size":I
const/4 v1, 0x0
.local v1, "i":I
:goto_2
iget-object v2, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->tags:Ljava/util/Vector;
invoke-virtual {v2}, Ljava/util/Vector;->size()I
move-result v2
if-lt v1, v2, :cond_b
.line 84
.end local v1 # "i":I
return v0
.line 82
.restart local v1 # "i":I
:cond_b
iget-object v2, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->tags:Ljava/util/Vector;
invoke-virtual {v2, v1}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
invoke-static {v2}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;->access$0(Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;)I
move-result v2
add-int/2addr v0, v2
.line 81
add-int/lit8 v1, v1, 0x1
goto :goto_2
.end method
.method private static filetimeToMillis(J)J
.registers 6
.param p0, "filetime" # J
.line 515
const-wide/16 v0, 0x2710
div-long v0, p0, v0
const-wide v2, 0xa9730b66800L
sub-long/2addr v0, v2
return-wide v0
.end method
.method private getTagByName(Ljava/lang/String;)Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
.registers 5
.param p1, "name" # Ljava/lang/String;
.line 297
iget-object v0, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->tags:Ljava/util/Vector;
invoke-virtual {v0}, Ljava/util/Vector;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_6
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-nez v1, :cond_e
.line 302
const/4 v0, 0x0
return-object v0
.line 297
:cond_e
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
.line 298
.local v1, "tag":Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
invoke-static {v1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;->access$2(Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v2, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2, :cond_1f
.line 299
return-object v1
.line 298
:cond_1f
goto :goto_6
.end method
.method private static millisToFiletime(J)J
.registers 6
.param p0, "millis" # J
.line 519
const-wide v0, 0xa9730b66800L
add-long/2addr v0, p0
const-wide/16 v2, 0x2710
mul-long v0, v0, v2
return-wide v0
.end method
.method private static readAsciiString(Ljava/nio/ByteBuffer;I)Ljava/lang/String;
.registers 6
.param p0, "content" # Ljava/nio/ByteBuffer;
.param p1, "length" # I
.line 531
new-array v0, p1, [B
.line 532
.local v0, "s":[B
invoke-virtual {p0, v0}, Ljava/nio/ByteBuffer;->get([B)Ljava/nio/ByteBuffer;
.line 534
:try_start_5
new-instance v1, Ljava/lang/String;
const-string v2, "US-ASCII"
invoke-direct {v1, v0, v2}, Ljava/lang/String;-><init>([BLjava/lang/String;)V
:try_end_c
.catch Ljava/io/UnsupportedEncodingException; {:try_start_5 .. :try_end_c} :catch_d
return-object v1
.line 535
:catch_d
move-exception v1
.line 536
.local v1, "e":Ljava/io/UnsupportedEncodingException;
new-instance v2, Ljava/lang/RuntimeException;
const-string v3, "Shouldn\'t happen"
invoke-direct {v2, v3, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v2
.end method
.method private static readUtf16String(Ljava/nio/ByteBuffer;I)Ljava/lang/String;
.registers 5
.param p0, "content" # Ljava/nio/ByteBuffer;
.param p1, "length" # I
.line 542
div-int/lit8 v0, p1, 0x2
add-int/lit8 v0, v0, -0x1
new-array v0, v0, [C
.line 543
.local v0, "s":[C
const/4 v1, 0x0
.local v1, "i":I
:goto_7
div-int/lit8 v2, p1, 0x2
add-int/lit8 v2, v2, -0x1
if-lt v1, v2, :cond_16
.line 546
.end local v1 # "i":I
invoke-virtual {p0}, Ljava/nio/ByteBuffer;->getChar()C
.line 547
new-instance v1, Ljava/lang/String;
invoke-direct {v1, v0}, Ljava/lang/String;-><init>([C)V
return-object v1
.line 544
.restart local v1 # "i":I
:cond_16
invoke-virtual {p0}, Ljava/nio/ByteBuffer;->getChar()C
move-result v2
aput-char v2, v0, v1
.line 543
add-int/lit8 v1, v1, 0x1
goto :goto_7
.end method
.method private static writeAsciiString(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
.registers 5
.param p0, "dest" # Ljava/nio/ByteBuffer;
.param p1, "s" # Ljava/lang/String;
.line 524
:try_start_0
const-string v0, "US-ASCII"
invoke-virtual {p1, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-virtual {p0, v0}, Ljava/nio/ByteBuffer;->put([B)Ljava/nio/ByteBuffer;
:try_end_9
.catch Ljava/io/UnsupportedEncodingException; {:try_start_0 .. :try_end_9} :catch_b
.line 525
nop
.line 528
return-void
.line 525
:catch_b
move-exception v0
.line 526
.local v0, "e":Ljava/io/UnsupportedEncodingException;
new-instance v1, Ljava/lang/RuntimeException;
const-string v2, "Shouldn\'t happen"
invoke-direct {v1, v2, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
throw v1
.end method
.method private static writeUtf16String(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
.registers 5
.param p0, "dest" # Ljava/nio/ByteBuffer;
.param p1, "s" # Ljava/lang/String;
.line 551
invoke-virtual {p1}, Ljava/lang/String;->toCharArray()[C
move-result-object v0
.line 552
.local v0, "ar":[C
const/4 v1, 0x0
.local v1, "i":I
:goto_5
array-length v2, v0
if-lt v1, v2, :cond_d
.line 555
.end local v1 # "i":I
const/4 v1, 0x0
invoke-virtual {p0, v1}, Ljava/nio/ByteBuffer;->putChar(C)Ljava/nio/ByteBuffer;
.line 556
return-void
.line 553
.restart local v1 # "i":I
:cond_d
aget-char v2, v0, v1
invoke-virtual {p0, v2}, Ljava/nio/ByteBuffer;->putChar(C)Ljava/nio/ByteBuffer;
.line 552
add-int/lit8 v1, v1, 0x1
goto :goto_5
.end method
# virtual methods
.method public _parseDetails(Ljava/nio/ByteBuffer;)V
.registers 8
.param p1, "content" # Ljava/nio/ByteBuffer;
.line 109
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->remaining()I
move-result v0
.line 110
.local v0, "boxSize":I
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->slice()Ljava/nio/ByteBuffer;
move-result-object v1
iput-object v1, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->data:Ljava/nio/ByteBuffer;
.line 111
const/4 v1, 0x0
iput-boolean v1, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->successfulParse:Z
.line 113
:try_start_d
iget-object v2, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->tags:Ljava/util/Vector;
invoke-virtual {v2}, Ljava/util/Vector;->clear()V
.line 114
nop
:goto_13
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->remaining()I
move-result v2
if-gtz v2, :cond_4b
.line 119
invoke-direct {p0}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->detailSize()I
move-result v2
.line 120
.local v2, "calcSize":I
if-ne v0, v2, :cond_2a
.line 123
const/4 v3, 0x1
iput-boolean v3, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->successfulParse:Z
:try_end_22
.catch Ljava/lang/Exception; {:try_start_d .. :try_end_22} :catch_5c
.catchall {:try_start_d .. :try_end_22} :catchall_5a
.line 124
.end local v2 # "calcSize":I
nop
.line 130
nop
:goto_24
sget-object v1, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {p1, v1}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
goto :goto_87
.line 121
.restart local v2 # "calcSize":I
:cond_2a
:try_start_2a
new-instance v3, Ljava/lang/RuntimeException;
new-instance v4, Ljava/lang/StringBuilder;
const-string v5, "Improperly handled Xtra tag: Calculated sizes don\'t match ( "
invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v4, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v5, "/"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v5, ")"
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v4}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
invoke-direct {v3, v4}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
.end local v0 # "boxSize":I
.end local p1 # "content":Ljava/nio/ByteBuffer;
throw v3
.line 115
.end local v2 # "calcSize":I
.restart local v0 # "boxSize":I
.restart local p1 # "content":Ljava/nio/ByteBuffer;
:cond_4b
new-instance v2, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
const/4 v3, 0x0
invoke-direct {v2, v3}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;-><init>(Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;)V
.line 116
.local v2, "tag":Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
invoke-static {v2, p1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;->access$4(Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;Ljava/nio/ByteBuffer;)V
.line 117
iget-object v3, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->tags:Ljava/util/Vector;
invoke-virtual {v3, v2}, Ljava/util/Vector;->addElement(Ljava/lang/Object;)V
:try_end_59
.catch Ljava/lang/Exception; {:try_start_2a .. :try_end_59} :catch_5c
.catchall {:try_start_2a .. :try_end_59} :catchall_5a
goto :goto_13
.line 129
.end local v2 # "tag":Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
:catchall_5a
move-exception v1
goto :goto_88
.line 124
:catch_5c
move-exception v2
.line 125
.local v2, "e":Ljava/lang/Exception;
:try_start_5d
iput-boolean v1, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->successfulParse:Z
.line 126
sget-object v1, Ljava/lang/System;->err:Ljava/io/PrintStream;
new-instance v3, Ljava/lang/StringBuilder;
const-string v4, "Malformed Xtra Tag detected: "
invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Ljava/lang/Exception;->toString()Ljava/lang/String;
move-result-object v4
invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
invoke-virtual {v1, v3}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
.line 127
invoke-virtual {v2}, Ljava/lang/Exception;->printStackTrace()V
.line 128
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->position()I
move-result v1
invoke-virtual {p1}, Ljava/nio/ByteBuffer;->remaining()I
move-result v3
add-int/2addr v1, v3
invoke-virtual {p1, v1}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
:try_end_85
.catchall {:try_start_5d .. :try_end_85} :catchall_5a
.line 130
nop
.end local v2 # "e":Ljava/lang/Exception;
goto :goto_24
.line 132
:goto_87
return-void
.line 130
:goto_88
sget-object v2, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {p1, v2}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
.line 131
goto :goto_8f
:goto_8e
throw v1
:goto_8f
goto :goto_8e
.end method
.method public getAllTagNames()[Ljava/lang/String;
.registers 5
sget-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_1:Lorg/aspectj/lang/JoinPoint$StaticPart;
invoke-static {v0, p0, p0}, Lorg/aspectj/runtime/reflect/Factory;->makeJP(Lorg/aspectj/lang/JoinPoint$StaticPart;Ljava/lang/Object;Ljava/lang/Object;)Lorg/aspectj/lang/JoinPoint;
move-result-object v0
.line 152
invoke-static {}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->aspectOf()Lcom/googlecode/mp4parser/RequiresParseDetailAspect;
move-result-object v1
invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->before(Lorg/aspectj/lang/JoinPoint;)V
iget-object v0, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->tags:Ljava/util/Vector;
invoke-virtual {v0}, Ljava/util/Vector;->size()I
move-result v0
new-array v0, v0, [Ljava/lang/String;
.line 153
.local v0, "names":[Ljava/lang/String;
const/4 v1, 0x0
.local v1, "i":I
:goto_16
iget-object v2, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->tags:Ljava/util/Vector;
invoke-virtual {v2}, Ljava/util/Vector;->size()I
move-result v2
if-lt v1, v2, :cond_1f
.line 157
.end local v1 # "i":I
return-object v0
.line 154
.restart local v1 # "i":I
:cond_1f
iget-object v2, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->tags:Ljava/util/Vector;
invoke-virtual {v2, v1}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
.line 155
.local v2, "tag":Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
invoke-static {v2}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;->access$2(Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;)Ljava/lang/String;
move-result-object v3
aput-object v3, v0, v1
.line 153
.end local v2 # "tag":Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
add-int/lit8 v1, v1, 0x1
goto :goto_16
.end method
.method protected getContent(Ljava/nio/ByteBuffer;)V
.registers 4
.param p1, "byteBuffer" # Ljava/nio/ByteBuffer;
.line 136
iget-boolean v0, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->successfulParse:Z
if-eqz v0, :cond_1c
.line 137
const/4 v0, 0x0
.local v0, "i":I
:goto_5
iget-object v1, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->tags:Ljava/util/Vector;
invoke-virtual {v1}, Ljava/util/Vector;->size()I
move-result v1
if-lt v0, v1, :cond_e
.line 140
.end local v0 # "i":I
goto :goto_26
.line 138
.restart local v0 # "i":I
:cond_e
iget-object v1, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->tags:Ljava/util/Vector;
invoke-virtual {v1, v0}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;
move-result-object v1
check-cast v1, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
invoke-static {v1, p1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;->access$5(Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;Ljava/nio/ByteBuffer;)V
.line 137
add-int/lit8 v0, v0, 0x1
goto :goto_5
.line 141
.end local v0 # "i":I
:cond_1c
iget-object v0, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->data:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->rewind()Ljava/nio/Buffer;
.line 142
iget-object v0, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->data:Ljava/nio/ByteBuffer;
invoke-virtual {p1, v0}, Ljava/nio/ByteBuffer;->put(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
.line 144
:goto_26
return-void
.end method
.method protected getContentSize()J
.registers 3
.line 72
iget-boolean v0, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->successfulParse:Z
if-eqz v0, :cond_a
.line 73
invoke-direct {p0}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->detailSize()I
move-result v0
int-to-long v0, v0
return-wide v0
.line 75
:cond_a
iget-object v0, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->data:Ljava/nio/ByteBuffer;
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->limit()I
move-result v0
int-to-long v0, v0
return-wide v0
.end method
.method public getFirstDateValue(Ljava/lang/String;)Ljava/util/Date;
.registers 7
.param p1, "name" # Ljava/lang/String;
sget-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_3:Lorg/aspectj/lang/JoinPoint$StaticPart;
invoke-static {v0, p0, p0, p1}, Lorg/aspectj/runtime/reflect/Factory;->makeJP(Lorg/aspectj/lang/JoinPoint$StaticPart;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/aspectj/lang/JoinPoint;
move-result-object v0
.line 184
invoke-static {}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->aspectOf()Lcom/googlecode/mp4parser/RequiresParseDetailAspect;
move-result-object v1
invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->before(Lorg/aspectj/lang/JoinPoint;)V
invoke-virtual {p0, p1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->getValues(Ljava/lang/String;)[Ljava/lang/Object;
move-result-object v0
.line 185
.local v0, "objs":[Ljava/lang/Object;
array-length v1, v0
const/4 v2, 0x0
:goto_13
if-lt v2, v1, :cond_17
.line 190
const/4 v1, 0x0
return-object v1
.line 185
:cond_17
aget-object v3, v0, v2
.line 186
.local v3, "obj":Ljava/lang/Object;
instance-of v4, v3, Ljava/util/Date;
if-eqz v4, :cond_21
.line 187
move-object v1, v3
check-cast v1, Ljava/util/Date;
return-object v1
.line 185
.end local v3 # "obj":Ljava/lang/Object;
:cond_21
add-int/lit8 v2, v2, 0x1
goto :goto_13
.end method
.method public getFirstLongValue(Ljava/lang/String;)Ljava/lang/Long;
.registers 7
.param p1, "name" # Ljava/lang/String;
sget-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_4:Lorg/aspectj/lang/JoinPoint$StaticPart;
invoke-static {v0, p0, p0, p1}, Lorg/aspectj/runtime/reflect/Factory;->makeJP(Lorg/aspectj/lang/JoinPoint$StaticPart;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/aspectj/lang/JoinPoint;
move-result-object v0
.line 201
invoke-static {}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->aspectOf()Lcom/googlecode/mp4parser/RequiresParseDetailAspect;
move-result-object v1
invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->before(Lorg/aspectj/lang/JoinPoint;)V
invoke-virtual {p0, p1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->getValues(Ljava/lang/String;)[Ljava/lang/Object;
move-result-object v0
.line 202
.local v0, "objs":[Ljava/lang/Object;
array-length v1, v0
const/4 v2, 0x0
:goto_13
if-lt v2, v1, :cond_17
.line 207
const/4 v1, 0x0
return-object v1
.line 202
:cond_17
aget-object v3, v0, v2
.line 203
.local v3, "obj":Ljava/lang/Object;
instance-of v4, v3, Ljava/lang/Long;
if-eqz v4, :cond_21
.line 204
move-object v1, v3
check-cast v1, Ljava/lang/Long;
return-object v1
.line 202
.end local v3 # "obj":Ljava/lang/Object;
:cond_21
add-int/lit8 v2, v2, 0x1
goto :goto_13
.end method
.method public getFirstStringValue(Ljava/lang/String;)Ljava/lang/String;
.registers 7
.param p1, "name" # Ljava/lang/String;
sget-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_2:Lorg/aspectj/lang/JoinPoint$StaticPart;
invoke-static {v0, p0, p0, p1}, Lorg/aspectj/runtime/reflect/Factory;->makeJP(Lorg/aspectj/lang/JoinPoint$StaticPart;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/aspectj/lang/JoinPoint;
move-result-object v0
.line 167
invoke-static {}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->aspectOf()Lcom/googlecode/mp4parser/RequiresParseDetailAspect;
move-result-object v1
invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->before(Lorg/aspectj/lang/JoinPoint;)V
invoke-virtual {p0, p1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->getValues(Ljava/lang/String;)[Ljava/lang/Object;
move-result-object v0
.line 168
.local v0, "objs":[Ljava/lang/Object;
array-length v1, v0
const/4 v2, 0x0
:goto_13
if-lt v2, v1, :cond_17
.line 173
const/4 v1, 0x0
return-object v1
.line 168
:cond_17
aget-object v3, v0, v2
.line 169
.local v3, "obj":Ljava/lang/Object;
instance-of v4, v3, Ljava/lang/String;
if-eqz v4, :cond_21
.line 170
move-object v1, v3
check-cast v1, Ljava/lang/String;
return-object v1
.line 168
.end local v3 # "obj":Ljava/lang/Object;
:cond_21
add-int/lit8 v2, v2, 0x1
goto :goto_13
.end method
.method public getValues(Ljava/lang/String;)[Ljava/lang/Object;
.registers 6
.param p1, "name" # Ljava/lang/String;
sget-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_5:Lorg/aspectj/lang/JoinPoint$StaticPart;
invoke-static {v0, p0, p0, p1}, Lorg/aspectj/runtime/reflect/Factory;->makeJP(Lorg/aspectj/lang/JoinPoint$StaticPart;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/aspectj/lang/JoinPoint;
move-result-object v0
.line 217
invoke-static {}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->aspectOf()Lcom/googlecode/mp4parser/RequiresParseDetailAspect;
move-result-object v1
invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->before(Lorg/aspectj/lang/JoinPoint;)V
invoke-direct {p0, p1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->getTagByName(Ljava/lang/String;)Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
move-result-object v0
.line 219
.local v0, "tag":Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
if-eqz v0, :cond_3c
.line 220
invoke-static {v0}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;->access$1(Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;)Ljava/util/Vector;
move-result-object v1
invoke-virtual {v1}, Ljava/util/Vector;->size()I
move-result v1
new-array v1, v1, [Ljava/lang/Object;
.line 221
.local v1, "values":[Ljava/lang/Object;
const/4 v2, 0x0
.local v2, "i":I
:goto_1e
invoke-static {v0}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;->access$1(Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;)Ljava/util/Vector;
move-result-object v3
invoke-virtual {v3}, Ljava/util/Vector;->size()I
move-result v3
if-lt v2, v3, :cond_29
.line 224
.end local v2 # "i":I
goto :goto_3f
.line 222
.restart local v2 # "i":I
:cond_29
invoke-static {v0}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;->access$1(Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;)Ljava/util/Vector;
move-result-object v3
invoke-virtual {v3, v2}, Ljava/util/Vector;->elementAt(I)Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraValue;
invoke-static {v3}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraValue;->access$4(Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraValue;)Ljava/lang/Object;
move-result-object v3
aput-object v3, v1, v2
.line 221
add-int/lit8 v2, v2, 0x1
goto :goto_1e
.line 225
.end local v1 # "values":[Ljava/lang/Object;
.end local v2 # "i":I
:cond_3c
const/4 v1, 0x0
new-array v1, v1, [Ljava/lang/Object;
.line 227
.restart local v1 # "values":[Ljava/lang/Object;
:goto_3f
return-object v1
.end method
.method public removeTag(Ljava/lang/String;)V
.registers 4
.param p1, "name" # Ljava/lang/String;
sget-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_6:Lorg/aspectj/lang/JoinPoint$StaticPart;
invoke-static {v0, p0, p0, p1}, Lorg/aspectj/runtime/reflect/Factory;->makeJP(Lorg/aspectj/lang/JoinPoint$StaticPart;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/aspectj/lang/JoinPoint;
move-result-object v0
.line 237
invoke-static {}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->aspectOf()Lcom/googlecode/mp4parser/RequiresParseDetailAspect;
move-result-object v1
invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->before(Lorg/aspectj/lang/JoinPoint;)V
invoke-direct {p0, p1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->getTagByName(Ljava/lang/String;)Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
move-result-object v0
.line 238
.local v0, "tag":Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
if-eqz v0, :cond_18
.line 239
iget-object v1, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->tags:Ljava/util/Vector;
invoke-virtual {v1, v0}, Ljava/util/Vector;->remove(Ljava/lang/Object;)Z
.line 241
:cond_18
return-void
.end method
.method public setTagValue(Ljava/lang/String;J)V
.registers 8
.param p1, "name" # Ljava/lang/String;
.param p2, "value" # J
sget-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_10:Lorg/aspectj/lang/JoinPoint$StaticPart;
invoke-static {p2, p3}, Lorg/aspectj/runtime/internal/Conversions;->longObject(J)Ljava/lang/Object;
move-result-object v1
invoke-static {v0, p0, p0, p1, v1}, Lorg/aspectj/runtime/reflect/Factory;->makeJP(Lorg/aspectj/lang/JoinPoint$StaticPart;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/aspectj/lang/JoinPoint;
move-result-object v0
.line 290
invoke-static {}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->aspectOf()Lcom/googlecode/mp4parser/RequiresParseDetailAspect;
move-result-object v1
invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->before(Lorg/aspectj/lang/JoinPoint;)V
invoke-virtual {p0, p1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->removeTag(Ljava/lang/String;)V
.line 291
new-instance v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
const/4 v1, 0x0
invoke-direct {v0, p1, v1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;-><init>(Ljava/lang/String;Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;)V
.line 292
.local v0, "tag":Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
invoke-static {v0}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;->access$1(Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;)Ljava/util/Vector;
move-result-object v2
new-instance v3, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraValue;
invoke-direct {v3, p2, p3, v1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraValue;-><init>(JLcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraValue;)V
invoke-virtual {v2, v3}, Ljava/util/Vector;->addElement(Ljava/lang/Object;)V
.line 293
iget-object v1, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->tags:Ljava/util/Vector;
invoke-virtual {v1, v0}, Ljava/util/Vector;->addElement(Ljava/lang/Object;)V
.line 294
return-void
.end method
.method public setTagValue(Ljava/lang/String;Ljava/lang/String;)V
.registers 5
.param p1, "name" # Ljava/lang/String;
.param p2, "value" # Ljava/lang/String;
sget-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_8:Lorg/aspectj/lang/JoinPoint$StaticPart;
invoke-static {v0, p0, p0, p1, p2}, Lorg/aspectj/runtime/reflect/Factory;->makeJP(Lorg/aspectj/lang/JoinPoint$StaticPart;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/aspectj/lang/JoinPoint;
move-result-object v0
.line 266
invoke-static {}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->aspectOf()Lcom/googlecode/mp4parser/RequiresParseDetailAspect;
move-result-object v1
invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->before(Lorg/aspectj/lang/JoinPoint;)V
const/4 v0, 0x1
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
aput-object p2, v0, v1
invoke-virtual {p0, p1, v0}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->setTagValues(Ljava/lang/String;[Ljava/lang/String;)V
.line 267
return-void
.end method
.method public setTagValue(Ljava/lang/String;Ljava/util/Date;)V
.registers 7
.param p1, "name" # Ljava/lang/String;
.param p2, "date" # Ljava/util/Date;
sget-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_9:Lorg/aspectj/lang/JoinPoint$StaticPart;
invoke-static {v0, p0, p0, p1, p2}, Lorg/aspectj/runtime/reflect/Factory;->makeJP(Lorg/aspectj/lang/JoinPoint$StaticPart;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/aspectj/lang/JoinPoint;
move-result-object v0
.line 277
invoke-static {}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->aspectOf()Lcom/googlecode/mp4parser/RequiresParseDetailAspect;
move-result-object v1
invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->before(Lorg/aspectj/lang/JoinPoint;)V
invoke-virtual {p0, p1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->removeTag(Ljava/lang/String;)V
.line 278
new-instance v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
const/4 v1, 0x0
invoke-direct {v0, p1, v1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;-><init>(Ljava/lang/String;Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;)V
.line 279
.local v0, "tag":Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
invoke-static {v0}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;->access$1(Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;)Ljava/util/Vector;
move-result-object v2
new-instance v3, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraValue;
invoke-direct {v3, p2, v1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraValue;-><init>(Ljava/util/Date;Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraValue;)V
invoke-virtual {v2, v3}, Ljava/util/Vector;->addElement(Ljava/lang/Object;)V
.line 280
iget-object v1, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->tags:Ljava/util/Vector;
invoke-virtual {v1, v0}, Ljava/util/Vector;->addElement(Ljava/lang/Object;)V
.line 281
return-void
.end method
.method public setTagValues(Ljava/lang/String;[Ljava/lang/String;)V
.registers 9
.param p1, "name" # Ljava/lang/String;
.param p2, "values" # [Ljava/lang/String;
sget-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_7:Lorg/aspectj/lang/JoinPoint$StaticPart;
invoke-static {v0, p0, p0, p1, p2}, Lorg/aspectj/runtime/reflect/Factory;->makeJP(Lorg/aspectj/lang/JoinPoint$StaticPart;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lorg/aspectj/lang/JoinPoint;
move-result-object v0
.line 250
invoke-static {}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->aspectOf()Lcom/googlecode/mp4parser/RequiresParseDetailAspect;
move-result-object v1
invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->before(Lorg/aspectj/lang/JoinPoint;)V
invoke-virtual {p0, p1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->removeTag(Ljava/lang/String;)V
.line 251
new-instance v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
const/4 v1, 0x0
invoke-direct {v0, p1, v1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;-><init>(Ljava/lang/String;Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;)V
.line 252
.local v0, "tag":Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
const/4 v2, 0x0
.local v2, "i":I
:goto_17
array-length v3, p2
if-lt v2, v3, :cond_20
.line 255
.end local v2 # "i":I
iget-object v1, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->tags:Ljava/util/Vector;
invoke-virtual {v1, v0}, Ljava/util/Vector;->addElement(Ljava/lang/Object;)V
.line 256
return-void
.line 253
.restart local v2 # "i":I
:cond_20
invoke-static {v0}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;->access$1(Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;)Ljava/util/Vector;
move-result-object v3
new-instance v4, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraValue;
aget-object v5, p2, v2
invoke-direct {v4, v5, v1}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraValue;-><init>(Ljava/lang/String;Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraValue;)V
invoke-virtual {v3, v4}, Ljava/util/Vector;->addElement(Ljava/lang/Object;)V
.line 252
add-int/lit8 v2, v2, 0x1
goto :goto_17
.end method
.method public toString()Ljava/lang/String;
.registers 7
sget-object v0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->ajc$tjp_0:Lorg/aspectj/lang/JoinPoint$StaticPart;
invoke-static {v0, p0, p0}, Lorg/aspectj/runtime/reflect/Factory;->makeJP(Lorg/aspectj/lang/JoinPoint$StaticPart;Ljava/lang/Object;Ljava/lang/Object;)Lorg/aspectj/lang/JoinPoint;
move-result-object v0
.line 89
invoke-static {}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->aspectOf()Lcom/googlecode/mp4parser/RequiresParseDetailAspect;
move-result-object v1
invoke-virtual {v1, v0}, Lcom/googlecode/mp4parser/RequiresParseDetailAspect;->before(Lorg/aspectj/lang/JoinPoint;)V
invoke-virtual {p0}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->isParsed()Z
move-result v0
if-nez v0, :cond_16
.line 90
invoke-virtual {p0}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->parseDetails()V
.line 92
:cond_16
new-instance v0, Ljava/lang/StringBuffer;
invoke-direct {v0}, Ljava/lang/StringBuffer;-><init>()V
.line 93
.local v0, "b":Ljava/lang/StringBuffer;
const-string v1, "XtraBox["
invoke-virtual {v0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 94
iget-object v1, p0, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox;->tags:Ljava/util/Vector;
invoke-virtual {v1}, Ljava/util/Vector;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_26
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-nez v2, :cond_36
.line 102
const-string v1, "]"
invoke-virtual {v0, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 103
invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v1
return-object v1
.line 94
:cond_36
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
.line 95
.local v2, "tag":Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;
invoke-static {v2}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;->access$1(Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;)Ljava/util/Vector;
move-result-object v3
invoke-virtual {v3}, Ljava/util/Vector;->iterator()Ljava/util/Iterator;
move-result-object v3
:goto_44
invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z
move-result v4
if-nez v4, :cond_4b
goto :goto_26
:cond_4b
invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraValue;
.line 96
.local v4, "value":Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraValue;
invoke-static {v2}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;->access$2(Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraTag;)Ljava/lang/String;
move-result-object v5
invoke-virtual {v0, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 97
const-string v5, "="
invoke-virtual {v0, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 98
invoke-virtual {v4}, Lcom/googlecode/mp4parser/boxes/microsoft/XtraBox$XtraValue;->toString()Ljava/lang/String;
move-result-object v5
invoke-virtual {v0, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
.line 99
const-string v5, ";"
invoke-virtual {v0, v5}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
goto :goto_44
.end method