BaseDescriptor.smali
.class public abstract Lcom/googlecode/mp4parser/boxes/mp4/objectdescriptors/BaseDescriptor;
.super Ljava/lang/Object;
.source "BaseDescriptor.java"
# annotations
.annotation runtime Lcom/googlecode/mp4parser/boxes/mp4/objectdescriptors/Descriptor;
tags = {
0x0
}
.end annotation
# static fields
.field static final synthetic $assertionsDisabled:Z
# instance fields
.field sizeBytes:I
.field sizeOfInstance:I
.field tag:I
# direct methods
.method static constructor <clinit>()V
.registers 0
.line 39
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 44
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 45
return-void
.end method
# virtual methods
.method public getSize()I
.registers 3
.line 52
iget v0, p0, Lcom/googlecode/mp4parser/boxes/mp4/objectdescriptors/BaseDescriptor;->sizeOfInstance:I
.line 53
nop
.line 52
add-int/lit8 v0, v0, 0x1
.line 54
iget v1, p0, Lcom/googlecode/mp4parser/boxes/mp4/objectdescriptors/BaseDescriptor;->sizeBytes:I
.line 52
add-int/2addr v0, v1
return v0
.end method
.method public getSizeBytes()I
.registers 2
.line 62
iget v0, p0, Lcom/googlecode/mp4parser/boxes/mp4/objectdescriptors/BaseDescriptor;->sizeBytes:I
return v0
.end method
.method public getSizeOfInstance()I
.registers 2
.line 58
iget v0, p0, Lcom/googlecode/mp4parser/boxes/mp4/objectdescriptors/BaseDescriptor;->sizeOfInstance:I
return v0
.end method
.method public getTag()I
.registers 2
.line 48
iget v0, p0, Lcom/googlecode/mp4parser/boxes/mp4/objectdescriptors/BaseDescriptor;->tag:I
return v0
.end method
.method public final parse(ILjava/nio/ByteBuffer;)V
.registers 8
.param p1, "tag" # I
.param p2, "bb" # Ljava/nio/ByteBuffer;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 66
iput p1, p0, Lcom/googlecode/mp4parser/boxes/mp4/objectdescriptors/BaseDescriptor;->tag:I
.line 68
const/4 v0, 0x0
.line 69
.local v0, "i":I
invoke-static {p2}, Lcom/coremedia/iso/IsoTypeReader;->readUInt8(Ljava/nio/ByteBuffer;)I
move-result v1
.line 70
.local v1, "tmp":I
const/4 v2, 0x1
add-int/2addr v0, v2
.line 71
and-int/lit8 v3, v1, 0x7f
iput v3, p0, Lcom/googlecode/mp4parser/boxes/mp4/objectdescriptors/BaseDescriptor;->sizeOfInstance:I
.line 72
nop
:goto_e
ushr-int/lit8 v3, v1, 0x7
if-eq v3, v2, :cond_2c
.line 78
iput v0, p0, Lcom/googlecode/mp4parser/boxes/mp4/objectdescriptors/BaseDescriptor;->sizeBytes:I
.line 79
invoke-virtual {p2}, Ljava/nio/ByteBuffer;->slice()Ljava/nio/ByteBuffer;
move-result-object v2
.line 80
.local v2, "detailSource":Ljava/nio/ByteBuffer;
iget v3, p0, Lcom/googlecode/mp4parser/boxes/mp4/objectdescriptors/BaseDescriptor;->sizeOfInstance:I
invoke-virtual {v2, v3}, Ljava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
.line 81
invoke-virtual {p0, v2}, Lcom/googlecode/mp4parser/boxes/mp4/objectdescriptors/BaseDescriptor;->parseDetail(Ljava/nio/ByteBuffer;)V
.line 82
nop
.line 83
invoke-virtual {p2}, Ljava/nio/ByteBuffer;->position()I
move-result v3
iget v4, p0, Lcom/googlecode/mp4parser/boxes/mp4/objectdescriptors/BaseDescriptor;->sizeOfInstance:I
add-int/2addr v3, v4
invoke-virtual {p2, v3}, Ljava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
.line 84
return-void
.line 73
.end local v2 # "detailSource":Ljava/nio/ByteBuffer;
:cond_2c
invoke-static {p2}, Lcom/coremedia/iso/IsoTypeReader;->readUInt8(Ljava/nio/ByteBuffer;)I
move-result v1
.line 74
add-int/lit8 v0, v0, 0x1
.line 76
iget v3, p0, Lcom/googlecode/mp4parser/boxes/mp4/objectdescriptors/BaseDescriptor;->sizeOfInstance:I
shl-int/lit8 v3, v3, 0x7
and-int/lit8 v4, v1, 0x7f
or-int/2addr v3, v4
iput v3, p0, Lcom/googlecode/mp4parser/boxes/mp4/objectdescriptors/BaseDescriptor;->sizeOfInstance:I
goto :goto_e
.end method
.method public abstract parseDetail(Ljava/nio/ByteBuffer;)V
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.end method
.method public toString()Ljava/lang/String;
.registers 3
.line 92
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
.line 93
.local v0, "sb":Ljava/lang/StringBuilder;
const-string v1, "BaseDescriptor"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 94
const-string/jumbo v1, "{tag="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, p0, Lcom/googlecode/mp4parser/boxes/mp4/objectdescriptors/BaseDescriptor;->tag:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 95
const-string v1, ", sizeOfInstance="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget v1, p0, Lcom/googlecode/mp4parser/boxes/mp4/objectdescriptors/BaseDescriptor;->sizeOfInstance:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
.line 96
const/16 v1, 0x7d
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;
.line 97
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
return-object v1
.end method