SMPTETTTrackImpl$1.smali
.class Lcom/googlecode/mp4parser/authoring/tracks/SMPTETTTrackImpl$1;
.super Ljava/lang/Object;
.source "SMPTETTTrackImpl.java"
# interfaces
.implements Lcom/googlecode/mp4parser/authoring/Sample;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/googlecode/mp4parser/authoring/tracks/SMPTETTTrackImpl;-><init>([Ljava/io/File;)V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x0
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/googlecode/mp4parser/authoring/tracks/SMPTETTTrackImpl;
.field private final synthetic val$finalXml:Ljava/lang/String;
.field private final synthetic val$pix:Ljava/util/List;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method constructor <init>(Lcom/googlecode/mp4parser/authoring/tracks/SMPTETTTrackImpl;Ljava/lang/String;Ljava/util/List;)V
.registers 4
.line 1
iput-object p1, p0, Lcom/googlecode/mp4parser/authoring/tracks/SMPTETTTrackImpl$1;->this$0:Lcom/googlecode/mp4parser/authoring/tracks/SMPTETTTrackImpl;
iput-object p2, p0, Lcom/googlecode/mp4parser/authoring/tracks/SMPTETTTrackImpl$1;->val$finalXml:Ljava/lang/String;
iput-object p3, p0, Lcom/googlecode/mp4parser/authoring/tracks/SMPTETTTrackImpl$1;->val$pix:Ljava/util/List;
.line 180
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public asByteBuffer()Ljava/nio/ByteBuffer;
.registers 4
.line 202
new-instance v0, Ljava/io/ByteArrayOutputStream;
invoke-direct {v0}, Ljava/io/ByteArrayOutputStream;-><init>()V
.line 204
.local v0, "baos":Ljava/io/ByteArrayOutputStream;
:try_start_5
invoke-static {v0}, Ljava/nio/channels/Channels;->newChannel(Ljava/io/OutputStream;)Ljava/nio/channels/WritableByteChannel;
move-result-object v1
invoke-virtual {p0, v1}, Lcom/googlecode/mp4parser/authoring/tracks/SMPTETTTrackImpl$1;->writeTo(Ljava/nio/channels/WritableByteChannel;)V
:try_end_c
.catch Ljava/io/IOException; {:try_start_5 .. :try_end_c} :catch_16
.line 205
nop
.line 208
invoke-virtual {v0}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object v1
invoke-static {v1}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object v1
return-object v1
.line 205
:catch_16
move-exception v1
.line 206
.local v1, "e":Ljava/io/IOException;
new-instance v2, Ljava/lang/RuntimeException;
invoke-direct {v2, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v2
.end method
.method public getSize()J
.registers 7
.line 194
iget-object v0, p0, Lcom/googlecode/mp4parser/authoring/tracks/SMPTETTTrackImpl$1;->val$finalXml:Ljava/lang/String;
invoke-static {v0}, Lcom/coremedia/iso/Utf8;->convert(Ljava/lang/String;)[B
move-result-object v0
array-length v0, v0
int-to-long v0, v0
.line 195
.local v0, "l":J
iget-object v2, p0, Lcom/googlecode/mp4parser/authoring/tracks/SMPTETTTrackImpl$1;->val$pix:Ljava/util/List;
invoke-interface {v2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v2
:goto_e
invoke-interface {v2}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-nez v3, :cond_15
.line 198
return-wide v0
.line 195
:cond_15
invoke-interface {v2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Ljava/io/File;
.line 196
.local v3, "file1":Ljava/io/File;
invoke-virtual {v3}, Ljava/io/File;->length()J
move-result-wide v4
add-long/2addr v0, v4
goto :goto_e
.end method
.method public writeTo(Ljava/nio/channels/WritableByteChannel;)V
.registers 9
.param p1, "channel" # Ljava/nio/channels/WritableByteChannel;
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 182
iget-object v0, p0, Lcom/googlecode/mp4parser/authoring/tracks/SMPTETTTrackImpl$1;->val$finalXml:Ljava/lang/String;
invoke-static {v0}, Lcom/coremedia/iso/Utf8;->convert(Ljava/lang/String;)[B
move-result-object v0
invoke-static {v0}, Ljava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
move-result-object v0
invoke-interface {p1, v0}, Ljava/nio/channels/WritableByteChannel;->write(Ljava/nio/ByteBuffer;)I
.line 183
iget-object v0, p0, Lcom/googlecode/mp4parser/authoring/tracks/SMPTETTTrackImpl$1;->val$pix:Ljava/util/List;
invoke-interface {v0}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v0
:goto_13
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-nez v1, :cond_1a
.line 191
return-void
.line 183
:cond_1a
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Ljava/io/File;
.line 184
.local v1, "file1":Ljava/io/File;
new-instance v2, Ljava/io/FileInputStream;
invoke-direct {v2, v1}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
.line 185
.local v2, "fis":Ljava/io/FileInputStream;
const/16 v3, 0x1fa0
new-array v3, v3, [B
.line 186
.local v3, "buffer":[B
const/4 v4, 0x0
.line 187
.local v4, "n":I
nop
:goto_2b
const/4 v5, -0x1
invoke-virtual {v2, v3}, Ljava/io/FileInputStream;->read([B)I
move-result v6
move v4, v6
if-ne v5, v6, :cond_34
goto :goto_13
.line 188
:cond_34
const/4 v5, 0x0
invoke-static {v3, v5, v4}, Ljava/nio/ByteBuffer;->wrap([BII)Ljava/nio/ByteBuffer;
move-result-object v5
invoke-interface {p1, v5}, Ljava/nio/channels/WritableByteChannel;->write(Ljava/nio/ByteBuffer;)I
goto :goto_2b
.end method