Mp4TrackImpl.smali
.class public Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;
.super Lcom/googlecode/mp4parser/authoring/AbstractTrack;
.source "Mp4TrackImpl.java"
# instance fields
.field private compositionTimeEntries:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/coremedia/iso/boxes/CompositionTimeToSample$Entry;",
">;"
}
.end annotation
.end field
.field private decodingTimes:[J
.field fragments:[Lcom/coremedia/iso/IsoFile;
.field private handler:Ljava/lang/String;
.field private sampleDependencies:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/coremedia/iso/boxes/SampleDependencyTypeBox$Entry;",
">;"
}
.end annotation
.end field
.field private sampleDescriptionBox:Lcom/coremedia/iso/boxes/SampleDescriptionBox;
.field private samples:Ljava/util/List;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/List<",
"Lcom/googlecode/mp4parser/authoring/Sample;",
">;"
}
.end annotation
.end field
.field private subSampleInformationBox:Lcom/coremedia/iso/boxes/SubSampleInformationBox;
.field private syncSamples:[J
.field trackBox:Lcom/coremedia/iso/boxes/TrackBox;
.field private trackMetaData:Lcom/googlecode/mp4parser/authoring/TrackMetaData;
# direct methods
.method static constructor <clinit>()V
.registers 1
return-void
.end method
.method public varargs constructor <init>(Ljava/lang/String;Lcom/coremedia/iso/boxes/TrackBox;[Lcom/coremedia/iso/IsoFile;)V
.registers 46
.param p1, "name" # Ljava/lang/String;
.param p2, "trackBox" # Lcom/coremedia/iso/boxes/TrackBox;
.param p3, "fragments" # [Lcom/coremedia/iso/IsoFile;
.line 58
move-object/from16 v0, p0
move-object/from16 v1, p2
move-object/from16 v2, p3
invoke-direct/range {p0 .. p1}, Lcom/googlecode/mp4parser/authoring/AbstractTrack;-><init>(Ljava/lang/String;)V
.line 43
const/4 v3, 0x0
new-array v4, v3, [J
iput-object v4, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->syncSamples:[J
.line 45
new-instance v4, Lcom/googlecode/mp4parser/authoring/TrackMetaData;
invoke-direct {v4}, Lcom/googlecode/mp4parser/authoring/TrackMetaData;-><init>()V
iput-object v4, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->trackMetaData:Lcom/googlecode/mp4parser/authoring/TrackMetaData;
.line 47
const/4 v4, 0x0
iput-object v4, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->subSampleInformationBox:Lcom/coremedia/iso/boxes/SubSampleInformationBox;
.line 59
invoke-virtual/range {p2 .. p2}, Lcom/coremedia/iso/boxes/TrackBox;->getTrackHeaderBox()Lcom/coremedia/iso/boxes/TrackHeaderBox;
move-result-object v4
invoke-virtual {v4}, Lcom/coremedia/iso/boxes/TrackHeaderBox;->getTrackId()J
move-result-wide v4
.line 60
.local v4, "trackId":J
new-instance v6, Lcom/coremedia/iso/boxes/mdat/SampleList;
invoke-direct {v6, v1, v2}, Lcom/coremedia/iso/boxes/mdat/SampleList;-><init>(Lcom/coremedia/iso/boxes/TrackBox;[Lcom/coremedia/iso/IsoFile;)V
iput-object v6, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->samples:Ljava/util/List;
.line 61
invoke-virtual/range {p2 .. p2}, Lcom/coremedia/iso/boxes/TrackBox;->getMediaBox()Lcom/coremedia/iso/boxes/MediaBox;
move-result-object v6
invoke-virtual {v6}, Lcom/coremedia/iso/boxes/MediaBox;->getMediaInformationBox()Lcom/coremedia/iso/boxes/MediaInformationBox;
move-result-object v6
invoke-virtual {v6}, Lcom/coremedia/iso/boxes/MediaInformationBox;->getSampleTableBox()Lcom/coremedia/iso/boxes/SampleTableBox;
move-result-object v6
.line 63
.local v6, "stbl":Lcom/coremedia/iso/boxes/SampleTableBox;
invoke-virtual/range {p2 .. p2}, Lcom/coremedia/iso/boxes/TrackBox;->getMediaBox()Lcom/coremedia/iso/boxes/MediaBox;
move-result-object v7
invoke-virtual {v7}, Lcom/coremedia/iso/boxes/MediaBox;->getHandlerBox()Lcom/coremedia/iso/boxes/HandlerBox;
move-result-object v7
invoke-virtual {v7}, Lcom/coremedia/iso/boxes/HandlerBox;->getHandlerType()Ljava/lang/String;
move-result-object v7
iput-object v7, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->handler:Ljava/lang/String;
.line 65
new-instance v7, Ljava/util/ArrayList;
invoke-direct {v7}, Ljava/util/ArrayList;-><init>()V
.line 66
.local v7, "decodingTimeEntries":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/TimeToSampleBox$Entry;>;"
new-instance v8, Ljava/util/ArrayList;
invoke-direct {v8}, Ljava/util/ArrayList;-><init>()V
iput-object v8, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->compositionTimeEntries:Ljava/util/List;
.line 67
new-instance v8, Ljava/util/ArrayList;
invoke-direct {v8}, Ljava/util/ArrayList;-><init>()V
iput-object v8, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->sampleDependencies:Ljava/util/List;
.line 69
invoke-virtual {v6}, Lcom/coremedia/iso/boxes/SampleTableBox;->getTimeToSampleBox()Lcom/coremedia/iso/boxes/TimeToSampleBox;
move-result-object v8
invoke-virtual {v8}, Lcom/coremedia/iso/boxes/TimeToSampleBox;->getEntries()Ljava/util/List;
move-result-object v8
invoke-interface {v7, v8}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
.line 70
invoke-virtual {v6}, Lcom/coremedia/iso/boxes/SampleTableBox;->getCompositionTimeToSample()Lcom/coremedia/iso/boxes/CompositionTimeToSample;
move-result-object v8
if-eqz v8, :cond_72
.line 71
iget-object v8, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->compositionTimeEntries:Ljava/util/List;
invoke-virtual {v6}, Lcom/coremedia/iso/boxes/SampleTableBox;->getCompositionTimeToSample()Lcom/coremedia/iso/boxes/CompositionTimeToSample;
move-result-object v9
invoke-virtual {v9}, Lcom/coremedia/iso/boxes/CompositionTimeToSample;->getEntries()Ljava/util/List;
move-result-object v9
invoke-interface {v8, v9}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
.line 73
:cond_72
invoke-virtual {v6}, Lcom/coremedia/iso/boxes/SampleTableBox;->getSampleDependencyTypeBox()Lcom/coremedia/iso/boxes/SampleDependencyTypeBox;
move-result-object v8
if-eqz v8, :cond_85
.line 74
iget-object v8, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->sampleDependencies:Ljava/util/List;
invoke-virtual {v6}, Lcom/coremedia/iso/boxes/SampleTableBox;->getSampleDependencyTypeBox()Lcom/coremedia/iso/boxes/SampleDependencyTypeBox;
move-result-object v9
invoke-virtual {v9}, Lcom/coremedia/iso/boxes/SampleDependencyTypeBox;->getEntries()Ljava/util/List;
move-result-object v9
invoke-interface {v8, v9}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
.line 76
:cond_85
invoke-virtual {v6}, Lcom/coremedia/iso/boxes/SampleTableBox;->getSyncSampleBox()Lcom/coremedia/iso/boxes/SyncSampleBox;
move-result-object v8
if-eqz v8, :cond_95
.line 77
invoke-virtual {v6}, Lcom/coremedia/iso/boxes/SampleTableBox;->getSyncSampleBox()Lcom/coremedia/iso/boxes/SyncSampleBox;
move-result-object v8
invoke-virtual {v8}, Lcom/coremedia/iso/boxes/SyncSampleBox;->getSampleNumber()[J
move-result-object v8
iput-object v8, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->syncSamples:[J
.line 79
:cond_95
const-string/jumbo v8, "subs"
invoke-static {v6, v8}, Lcom/googlecode/mp4parser/util/Path;->getPath(Lcom/googlecode/mp4parser/AbstractContainerBox;Ljava/lang/String;)Lcom/coremedia/iso/boxes/Box;
move-result-object v9
check-cast v9, Lcom/coremedia/iso/boxes/SubSampleInformationBox;
iput-object v9, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->subSampleInformationBox:Lcom/coremedia/iso/boxes/SubSampleInformationBox;
.line 82
new-instance v9, Ljava/util/ArrayList;
invoke-direct {v9}, Ljava/util/ArrayList;-><init>()V
.line 83
.local v9, "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
invoke-virtual/range {p2 .. p2}, Lcom/coremedia/iso/boxes/TrackBox;->getParent()Lcom/coremedia/iso/boxes/Container;
move-result-object v10
check-cast v10, Lcom/coremedia/iso/boxes/Box;
invoke-interface {v10}, Lcom/coremedia/iso/boxes/Box;->getParent()Lcom/coremedia/iso/boxes/Container;
move-result-object v10
const-class v11, Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
invoke-interface {v10, v11}, Lcom/coremedia/iso/boxes/Container;->getBoxes(Ljava/lang/Class;)Ljava/util/List;
move-result-object v10
invoke-interface {v9, v10}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
.line 84
array-length v10, v2
const/4 v11, 0x0
:goto_ba
if-lt v11, v10, :cond_4f0
.line 88
invoke-virtual {v6}, Lcom/coremedia/iso/boxes/SampleTableBox;->getSampleDescriptionBox()Lcom/coremedia/iso/boxes/SampleDescriptionBox;
move-result-object v10
iput-object v10, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->sampleDescriptionBox:Lcom/coremedia/iso/boxes/SampleDescriptionBox;
.line 89
const/4 v10, 0x0
.line 90
.local v10, "lastSubsSample":I
invoke-virtual/range {p2 .. p2}, Lcom/coremedia/iso/boxes/TrackBox;->getParent()Lcom/coremedia/iso/boxes/Container;
move-result-object v11
const-class v12, Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;
invoke-interface {v11, v12}, Lcom/coremedia/iso/boxes/Container;->getBoxes(Ljava/lang/Class;)Ljava/util/List;
move-result-object v11
.line 91
.local v11, "movieExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;>;"
invoke-interface {v11}, Ljava/util/List;->size()I
move-result v12
if-lez v12, :cond_41c
.line 92
invoke-interface {v11}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v12
:goto_d7
invoke-interface {v12}, Ljava/util/Iterator;->hasNext()Z
move-result v13
if-nez v13, :cond_13f
.line 193
new-instance v3, Ljava/util/ArrayList;
invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
.line 194
new-instance v3, Ljava/util/ArrayList;
invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V
.line 195
invoke-interface {v9}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v13
:goto_eb
invoke-interface {v13}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-nez v3, :cond_f9
.line 202
move-wide/from16 v27, v4
move-object/from16 v40, v9
move-object/from16 v17, v11
goto/16 :goto_436
.line 195
:cond_f9
invoke-interface {v13}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
move-object v14, v3
check-cast v14, Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
.line 196
.local v14, "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
const-class v3, Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
invoke-virtual {v14, v3}, Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;->getBoxes(Ljava/lang/Class;)Ljava/util/List;
move-result-object v3
invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v15
:goto_10a
invoke-interface {v15}, Ljava/util/Iterator;->hasNext()Z
move-result v3
if-nez v3, :cond_111
goto :goto_eb
:cond_111
invoke-interface {v15}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
.line 197
.local v3, "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
invoke-virtual {v3}, Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;->getTrackFragmentHeaderBox()Lcom/coremedia/iso/boxes/fragment/TrackFragmentHeaderBox;
move-result-object v8
invoke-virtual {v8}, Lcom/coremedia/iso/boxes/fragment/TrackFragmentHeaderBox;->getTrackId()J
move-result-wide v16
cmp-long v8, v16, v4
if-nez v8, :cond_13c
.line 198
const-string/jumbo v8, "sgpd"
invoke-static {v3, v8}, Lcom/googlecode/mp4parser/util/Path;->getPaths(Lcom/coremedia/iso/boxes/Container;Ljava/lang/String;)Ljava/util/List;
move-result-object v8
const-string/jumbo v12, "sbgp"
invoke-static {v3, v12}, Lcom/googlecode/mp4parser/util/Path;->getPaths(Lcom/coremedia/iso/boxes/Container;Ljava/lang/String;)Ljava/util/List;
move-result-object v12
move-object/from16 v16, v3
.end local v3 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
.local v16, "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
iget-object v3, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->sampleGroups:Ljava/util/Map;
invoke-direct {v0, v8, v12, v3}, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->getSampleGroups(Ljava/util/List;Ljava/util/List;Ljava/util/Map;)Ljava/util/Map;
move-result-object v3
iput-object v3, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->sampleGroups:Ljava/util/Map;
goto :goto_10a
.line 197
.end local v16 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
.restart local v3 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
:cond_13c
move-object/from16 v16, v3
.end local v3 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
.restart local v16 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
goto :goto_10a
.line 92
.end local v14 # "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
.end local v16 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
:cond_13f
invoke-interface {v12}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v13
check-cast v13, Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;
.line 93
.local v13, "mvex":Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;
const-class v14, Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;
invoke-virtual {v13, v14}, Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;->getBoxes(Ljava/lang/Class;)Ljava/util/List;
move-result-object v14
.line 94
.local v14, "trackExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;>;"
invoke-interface {v14}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v15
:goto_14f
invoke-interface {v15}, Ljava/util/Iterator;->hasNext()Z
move-result v16
if-nez v16, :cond_156
goto :goto_d7
:cond_156
invoke-interface {v15}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v16
check-cast v16, Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;
.line 95
.local v16, "trex":Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;
invoke-virtual/range {v16 .. v16}, Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;->getTrackId()J
move-result-wide v17
cmp-long v19, v17, v4
if-nez v19, :cond_409
.line 96
invoke-virtual/range {p2 .. p2}, Lcom/coremedia/iso/boxes/TrackBox;->getParent()Lcom/coremedia/iso/boxes/Container;
move-result-object v17
check-cast v17, Lcom/coremedia/iso/boxes/Box;
invoke-interface/range {v17 .. v17}, Lcom/coremedia/iso/boxes/Box;->getParent()Lcom/coremedia/iso/boxes/Container;
move-result-object v3
move-object/from16 v17, v11
.end local v11 # "movieExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;>;"
.local v17, "movieExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;>;"
const-string v11, "/moof/traf/subs"
invoke-static {v3, v11}, Lcom/googlecode/mp4parser/util/Path;->getPaths(Lcom/coremedia/iso/boxes/Container;Ljava/lang/String;)Ljava/util/List;
move-result-object v3
.line 97
.local v3, "subss":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/SubSampleInformationBox;>;"
invoke-interface {v3}, Ljava/util/List;->size()I
move-result v11
if-lez v11, :cond_183
.line 98
new-instance v11, Lcom/coremedia/iso/boxes/SubSampleInformationBox;
invoke-direct {v11}, Lcom/coremedia/iso/boxes/SubSampleInformationBox;-><init>()V
iput-object v11, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->subSampleInformationBox:Lcom/coremedia/iso/boxes/SubSampleInformationBox;
.line 100
:cond_183
new-instance v11, Ljava/util/LinkedList;
invoke-direct {v11}, Ljava/util/LinkedList;-><init>()V
.line 102
.local v11, "syncSampleList":Ljava/util/List;, "Ljava/util/List<Ljava/lang/Long;>;"
const-wide/16 v19, 0x1
.line 103
.local v19, "sampleNumber":J
invoke-interface {v9}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v21
:goto_18e
invoke-interface/range {v21 .. v21}, Ljava/util/Iterator;->hasNext()Z
move-result v22
if-nez v22, :cond_1da
.line 181
move-object/from16 v22, v3
.end local v3 # "subss":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/SubSampleInformationBox;>;"
.local v22, "subss":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/SubSampleInformationBox;>;"
iget-object v3, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->syncSamples:[J
.line 182
.local v3, "oldSS":[J
move-object/from16 v23, v12
iget-object v12, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->syncSamples:[J
array-length v12, v12
invoke-interface {v11}, Ljava/util/List;->size()I
move-result v21
add-int v12, v12, v21
new-array v12, v12, [J
iput-object v12, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->syncSamples:[J
.line 183
move-object/from16 v24, v13
.end local v13 # "mvex":Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;
.local v24, "mvex":Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;
array-length v13, v3
move-object/from16 v25, v14
const/4 v14, 0x0
.end local v14 # "trackExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;>;"
.local v25, "trackExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;>;"
invoke-static {v3, v14, v12, v14, v13}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 184
invoke-interface {v11}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v12
.line 185
.local v12, "iterator":Ljava/util/Iterator;, "Ljava/util/Iterator<Ljava/lang/Long;>;"
array-length v13, v3
.line 186
.local v13, "i":I
nop
:goto_1b6
invoke-interface {v12}, Ljava/util/Iterator;->hasNext()Z
move-result v18
if-nez v18, :cond_1c6
move-object/from16 v11, v17
move-object/from16 v12, v23
move-object/from16 v13, v24
move-object/from16 v14, v25
const/4 v3, 0x0
goto :goto_14f
.line 187
:cond_1c6
invoke-interface {v12}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v18
check-cast v18, Ljava/lang/Long;
.line 188
.local v18, "syncSampleNumber":Ljava/lang/Long;
iget-object v14, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->syncSamples:[J
add-int/lit8 v21, v13, 0x1
.end local v13 # "i":I
.local v21, "i":I
invoke-virtual/range {v18 .. v18}, Ljava/lang/Long;->longValue()J
move-result-wide v27
aput-wide v27, v14, v13
move/from16 v13, v21
const/4 v14, 0x0
goto :goto_1b6
.line 103
.end local v12 # "iterator":Ljava/util/Iterator;, "Ljava/util/Iterator<Ljava/lang/Long;>;"
.end local v18 # "syncSampleNumber":Ljava/lang/Long;
.end local v21 # "i":I
.end local v22 # "subss":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/SubSampleInformationBox;>;"
.end local v24 # "mvex":Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;
.end local v25 # "trackExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;>;"
.local v3, "subss":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/SubSampleInformationBox;>;"
.local v13, "mvex":Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;
.restart local v14 # "trackExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;>;"
:cond_1da
move-object/from16 v22, v3
move-object/from16 v23, v12
move-object/from16 v24, v13
move-object/from16 v25, v14
.end local v3 # "subss":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/SubSampleInformationBox;>;"
.end local v13 # "mvex":Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;
.end local v14 # "trackExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;>;"
.restart local v22 # "subss":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/SubSampleInformationBox;>;"
.restart local v24 # "mvex":Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;
.restart local v25 # "trackExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;>;"
invoke-interface/range {v21 .. v21}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v3
check-cast v3, Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
.line 104
.local v3, "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
const-class v12, Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
invoke-virtual {v3, v12}, Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;->getBoxes(Ljava/lang/Class;)Ljava/util/List;
move-result-object v12
.line 105
.local v12, "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
invoke-interface {v12}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v13
:goto_1f2
invoke-interface {v13}, Ljava/util/Iterator;->hasNext()Z
move-result v14
if-nez v14, :cond_201
move-object/from16 v3, v22
move-object/from16 v12, v23
move-object/from16 v13, v24
move-object/from16 v14, v25
goto :goto_18e
:cond_201
invoke-interface {v13}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v14
check-cast v14, Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
.line 106
.local v14, "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
invoke-virtual {v14}, Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;->getTrackFragmentHeaderBox()Lcom/coremedia/iso/boxes/fragment/TrackFragmentHeaderBox;
move-result-object v18
invoke-virtual/range {v18 .. v18}, Lcom/coremedia/iso/boxes/fragment/TrackFragmentHeaderBox;->getTrackId()J
move-result-wide v27
cmp-long v18, v27, v4
if-nez v18, :cond_3f7
.line 109
invoke-static {v14, v8}, Lcom/googlecode/mp4parser/util/Path;->getPath(Lcom/googlecode/mp4parser/AbstractContainerBox;Ljava/lang/String;)Lcom/coremedia/iso/boxes/Box;
move-result-object v18
check-cast v18, Lcom/coremedia/iso/boxes/SubSampleInformationBox;
.line 110
.local v18, "subs":Lcom/coremedia/iso/boxes/SubSampleInformationBox;
move-wide/from16 v27, v4
move-object v5, v3
.end local v3 # "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
.end local v4 # "trackId":J
.local v5, "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
.local v27, "trackId":J
const-wide/16 v3, 0x1
if-eqz v18, :cond_280
.line 111
move-object/from16 v29, v12
move-object/from16 v30, v13
.end local v12 # "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
.local v29, "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
int-to-long v12, v10
sub-long v12, v19, v12
sub-long/2addr v12, v3
.line 112
.local v12, "difFromLastFragment":J
invoke-virtual/range {v18 .. v18}, Lcom/coremedia/iso/boxes/SubSampleInformationBox;->getEntries()Ljava/util/List;
move-result-object v31
invoke-interface/range {v31 .. v31}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v31
:goto_230
invoke-interface/range {v31 .. v31}, Ljava/util/Iterator;->hasNext()Z
move-result v32
if-nez v32, :cond_239
move-object/from16 v33, v5
goto :goto_286
:cond_239
invoke-interface/range {v31 .. v31}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v32
check-cast v32, Lcom/coremedia/iso/boxes/SubSampleInformationBox$SubSampleEntry;
.line 113
.local v32, "subSampleEntry":Lcom/coremedia/iso/boxes/SubSampleInformationBox$SubSampleEntry;
new-instance v33, Lcom/coremedia/iso/boxes/SubSampleInformationBox$SubSampleEntry;
invoke-direct/range {v33 .. v33}, Lcom/coremedia/iso/boxes/SubSampleInformationBox$SubSampleEntry;-><init>()V
move-object/from16 v34, v33
.line 114
.local v34, "se":Lcom/coremedia/iso/boxes/SubSampleInformationBox$SubSampleEntry;
invoke-virtual/range {v34 .. v34}, Lcom/coremedia/iso/boxes/SubSampleInformationBox$SubSampleEntry;->getSubsampleEntries()Ljava/util/List;
move-result-object v3
invoke-virtual/range {v32 .. v32}, Lcom/coremedia/iso/boxes/SubSampleInformationBox$SubSampleEntry;->getSubsampleEntries()Ljava/util/List;
move-result-object v4
invoke-interface {v3, v4}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
.line 115
const-wide/16 v3, 0x0
cmp-long v33, v12, v3
if-eqz v33, :cond_267
.line 116
invoke-virtual/range {v32 .. v32}, Lcom/coremedia/iso/boxes/SubSampleInformationBox$SubSampleEntry;->getSampleDelta()J
move-result-wide v3
add-long/2addr v3, v12
move-object/from16 v33, v5
move-object/from16 v5, v34
.end local v34 # "se":Lcom/coremedia/iso/boxes/SubSampleInformationBox$SubSampleEntry;
.local v5, "se":Lcom/coremedia/iso/boxes/SubSampleInformationBox$SubSampleEntry;
.local v33, "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
invoke-virtual {v5, v3, v4}, Lcom/coremedia/iso/boxes/SubSampleInformationBox$SubSampleEntry;->setSampleDelta(J)V
.line 117
const-wide/16 v3, 0x0
.line 118
.end local v12 # "difFromLastFragment":J
.local v3, "difFromLastFragment":J
move-wide v12, v3
goto :goto_272
.line 119
.end local v3 # "difFromLastFragment":J
.end local v33 # "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
.local v5, "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
.restart local v12 # "difFromLastFragment":J
.restart local v34 # "se":Lcom/coremedia/iso/boxes/SubSampleInformationBox$SubSampleEntry;
:cond_267
move-object/from16 v33, v5
move-object/from16 v5, v34
.end local v34 # "se":Lcom/coremedia/iso/boxes/SubSampleInformationBox$SubSampleEntry;
.local v5, "se":Lcom/coremedia/iso/boxes/SubSampleInformationBox$SubSampleEntry;
.restart local v33 # "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
invoke-virtual/range {v32 .. v32}, Lcom/coremedia/iso/boxes/SubSampleInformationBox$SubSampleEntry;->getSampleDelta()J
move-result-wide v3
invoke-virtual {v5, v3, v4}, Lcom/coremedia/iso/boxes/SubSampleInformationBox$SubSampleEntry;->setSampleDelta(J)V
.line 121
:goto_272
iget-object v3, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->subSampleInformationBox:Lcom/coremedia/iso/boxes/SubSampleInformationBox;
invoke-virtual {v3}, Lcom/coremedia/iso/boxes/SubSampleInformationBox;->getEntries()Ljava/util/List;
move-result-object v3
invoke-interface {v3, v5}, Ljava/util/List;->add(Ljava/lang/Object;)Z
move-object/from16 v5, v33
const-wide/16 v3, 0x1
goto :goto_230
.line 110
.end local v29 # "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
.end local v32 # "subSampleEntry":Lcom/coremedia/iso/boxes/SubSampleInformationBox$SubSampleEntry;
.end local v33 # "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
.local v5, "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
.local v12, "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
:cond_280
move-object/from16 v33, v5
move-object/from16 v29, v12
move-object/from16 v30, v13
.line 125
.end local v5 # "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
.end local v12 # "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
.restart local v29 # "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
.restart local v33 # "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
:goto_286
const-class v3, Lcom/coremedia/iso/boxes/fragment/TrackRunBox;
invoke-virtual {v14, v3}, Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;->getBoxes(Ljava/lang/Class;)Ljava/util/List;
move-result-object v3
.line 126
.local v3, "truns":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackRunBox;>;"
invoke-interface {v3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v4
:goto_290
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-nez v5, :cond_2a0
move-wide/from16 v4, v27
move-object/from16 v12, v29
move-object/from16 v13, v30
move-object/from16 v3, v33
goto/16 :goto_1f2
:cond_2a0
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Lcom/coremedia/iso/boxes/fragment/TrackRunBox;
.line 127
.local v5, "trun":Lcom/coremedia/iso/boxes/fragment/TrackRunBox;
invoke-virtual {v5}, Lcom/coremedia/iso/boxes/fragment/TrackRunBox;->getParent()Lcom/coremedia/iso/boxes/Container;
move-result-object v12
check-cast v12, Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
invoke-virtual {v12}, Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;->getTrackFragmentHeaderBox()Lcom/coremedia/iso/boxes/fragment/TrackFragmentHeaderBox;
move-result-object v12
.line 128
.local v12, "tfhd":Lcom/coremedia/iso/boxes/fragment/TrackFragmentHeaderBox;
const/4 v13, 0x1
.line 129
.local v13, "first":Z
invoke-virtual {v5}, Lcom/coremedia/iso/boxes/fragment/TrackRunBox;->getEntries()Ljava/util/List;
move-result-object v31
invoke-interface/range {v31 .. v31}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v31
:goto_2b9
invoke-interface/range {v31 .. v31}, Ljava/util/Iterator;->hasNext()Z
move-result v32
if-nez v32, :cond_2c0
goto :goto_290
:cond_2c0
invoke-interface/range {v31 .. v31}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v32
check-cast v32, Lcom/coremedia/iso/boxes/fragment/TrackRunBox$Entry;
.line 130
.local v32, "entry":Lcom/coremedia/iso/boxes/fragment/TrackRunBox$Entry;
invoke-virtual {v5}, Lcom/coremedia/iso/boxes/fragment/TrackRunBox;->isSampleDurationPresent()Z
move-result v34
move-object/from16 v35, v3
.end local v3 # "truns":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackRunBox;>;"
.local v35, "truns":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackRunBox;>;"
const/4 v3, 0x1
if-eqz v34, :cond_332
.line 131
invoke-interface {v7}, Ljava/util/List;->size()I
move-result v34
if-eqz v34, :cond_319
.line 132
invoke-interface {v7}, Ljava/util/List;->size()I
move-result v34
move-object/from16 v36, v4
add-int/lit8 v4, v34, -0x1
invoke-interface {v7, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/coremedia/iso/boxes/TimeToSampleBox$Entry;
invoke-virtual {v4}, Lcom/coremedia/iso/boxes/TimeToSampleBox$Entry;->getDelta()J
move-result-wide v37
invoke-virtual/range {v32 .. v32}, Lcom/coremedia/iso/boxes/fragment/TrackRunBox$Entry;->getSampleDuration()J
move-result-wide v39
cmp-long v4, v37, v39
if-eqz v4, :cond_2fa
move-object/from16 v41, v8
move-object/from16 v40, v9
move-object/from16 v39, v14
move-object/from16 v34, v15
const-wide/16 v14, 0x1
goto :goto_325
.line 135
:cond_2fa
invoke-interface {v7}, Ljava/util/List;->size()I
move-result v4
sub-int/2addr v4, v3
invoke-interface {v7, v4}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/coremedia/iso/boxes/TimeToSampleBox$Entry;
.line 136
.local v4, "e":Lcom/coremedia/iso/boxes/TimeToSampleBox$Entry;
invoke-virtual {v4}, Lcom/coremedia/iso/boxes/TimeToSampleBox$Entry;->getCount()J
move-result-wide v37
move-object/from16 v41, v8
move-object/from16 v40, v9
move-object/from16 v39, v14
move-object/from16 v34, v15
const-wide/16 v14, 0x1
.end local v9 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.end local v14 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
.local v39, "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
.local v40, "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
add-long v8, v37, v14
invoke-virtual {v4, v8, v9}, Lcom/coremedia/iso/boxes/TimeToSampleBox$Entry;->setCount(J)V
.line 138
.end local v4 # "e":Lcom/coremedia/iso/boxes/TimeToSampleBox$Entry;
goto :goto_35d
.line 131
.end local v39 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
.end local v40 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.restart local v9 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.restart local v14 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
:cond_319
move-object/from16 v36, v4
move-object/from16 v41, v8
move-object/from16 v40, v9
move-object/from16 v39, v14
move-object/from16 v34, v15
const-wide/16 v14, 0x1
.line 133
.end local v9 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.end local v14 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
.restart local v39 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
.restart local v40 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
:goto_325
new-instance v4, Lcom/coremedia/iso/boxes/TimeToSampleBox$Entry;
invoke-virtual/range {v32 .. v32}, Lcom/coremedia/iso/boxes/fragment/TrackRunBox$Entry;->getSampleDuration()J
move-result-wide v8
invoke-direct {v4, v14, v15, v8, v9}, Lcom/coremedia/iso/boxes/TimeToSampleBox$Entry;-><init>(JJ)V
invoke-interface {v7, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 134
goto :goto_35d
.line 139
.end local v39 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
.end local v40 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.restart local v9 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.restart local v14 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
:cond_332
move-object/from16 v36, v4
move-object/from16 v41, v8
move-object/from16 v40, v9
move-object/from16 v39, v14
move-object/from16 v34, v15
const-wide/16 v14, 0x1
.end local v9 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.end local v14 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
.restart local v39 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
.restart local v40 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
invoke-virtual {v12}, Lcom/coremedia/iso/boxes/fragment/TrackFragmentHeaderBox;->hasDefaultSampleDuration()Z
move-result v4
if-eqz v4, :cond_351
.line 140
new-instance v4, Lcom/coremedia/iso/boxes/TimeToSampleBox$Entry;
invoke-virtual {v12}, Lcom/coremedia/iso/boxes/fragment/TrackFragmentHeaderBox;->getDefaultSampleDuration()J
move-result-wide v8
invoke-direct {v4, v14, v15, v8, v9}, Lcom/coremedia/iso/boxes/TimeToSampleBox$Entry;-><init>(JJ)V
invoke-interface {v7, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 141
goto :goto_35d
.line 142
:cond_351
new-instance v4, Lcom/coremedia/iso/boxes/TimeToSampleBox$Entry;
invoke-virtual/range {v16 .. v16}, Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;->getDefaultSampleDuration()J
move-result-wide v8
invoke-direct {v4, v14, v15, v8, v9}, Lcom/coremedia/iso/boxes/TimeToSampleBox$Entry;-><init>(JJ)V
invoke-interface {v7, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 146
:goto_35d
invoke-virtual {v5}, Lcom/coremedia/iso/boxes/fragment/TrackRunBox;->isSampleCompositionTimeOffsetPresent()Z
move-result v4
if-eqz v4, :cond_3ae
.line 147
iget-object v4, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->compositionTimeEntries:Ljava/util/List;
invoke-interface {v4}, Ljava/util/List;->size()I
move-result v4
if-eqz v4, :cond_39c
.line 148
iget-object v4, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->compositionTimeEntries:Ljava/util/List;
invoke-interface {v4}, Ljava/util/List;->size()I
move-result v8
sub-int/2addr v8, v3
invoke-interface {v4, v8}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/coremedia/iso/boxes/CompositionTimeToSample$Entry;
invoke-virtual {v4}, Lcom/coremedia/iso/boxes/CompositionTimeToSample$Entry;->getOffset()I
move-result v4
int-to-long v8, v4
invoke-virtual/range {v32 .. v32}, Lcom/coremedia/iso/boxes/fragment/TrackRunBox$Entry;->getSampleCompositionTimeOffset()J
move-result-wide v14
cmp-long v4, v8, v14
if-eqz v4, :cond_386
goto :goto_39c
.line 151
:cond_386
iget-object v4, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->compositionTimeEntries:Ljava/util/List;
invoke-interface {v4}, Ljava/util/List;->size()I
move-result v8
sub-int/2addr v8, v3
invoke-interface {v4, v8}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v4
check-cast v4, Lcom/coremedia/iso/boxes/CompositionTimeToSample$Entry;
.line 152
.local v4, "e":Lcom/coremedia/iso/boxes/CompositionTimeToSample$Entry;
invoke-virtual {v4}, Lcom/coremedia/iso/boxes/CompositionTimeToSample$Entry;->getCount()I
move-result v8
add-int/2addr v8, v3
invoke-virtual {v4, v8}, Lcom/coremedia/iso/boxes/CompositionTimeToSample$Entry;->setCount(I)V
goto :goto_3ae
.line 149
.end local v4 # "e":Lcom/coremedia/iso/boxes/CompositionTimeToSample$Entry;
:cond_39c
:goto_39c
iget-object v4, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->compositionTimeEntries:Ljava/util/List;
new-instance v8, Lcom/coremedia/iso/boxes/CompositionTimeToSample$Entry;
invoke-virtual/range {v32 .. v32}, Lcom/coremedia/iso/boxes/fragment/TrackRunBox$Entry;->getSampleCompositionTimeOffset()J
move-result-wide v14
invoke-static {v14, v15}, Lcom/googlecode/mp4parser/util/CastUtils;->l2i(J)I
move-result v9
invoke-direct {v8, v3, v9}, Lcom/coremedia/iso/boxes/CompositionTimeToSample$Entry;-><init>(II)V
invoke-interface {v4, v8}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 156
:cond_3ae
:goto_3ae
invoke-virtual {v5}, Lcom/coremedia/iso/boxes/fragment/TrackRunBox;->isSampleFlagsPresent()Z
move-result v3
if-eqz v3, :cond_3b9
.line 157
invoke-virtual/range {v32 .. v32}, Lcom/coremedia/iso/boxes/fragment/TrackRunBox$Entry;->getSampleFlags()Lcom/coremedia/iso/boxes/fragment/SampleFlags;
move-result-object v3
.line 158
.local v3, "sampleFlags":Lcom/coremedia/iso/boxes/fragment/SampleFlags;
goto :goto_3d5
.line 159
.end local v3 # "sampleFlags":Lcom/coremedia/iso/boxes/fragment/SampleFlags;
:cond_3b9
if-eqz v13, :cond_3c6
invoke-virtual {v5}, Lcom/coremedia/iso/boxes/fragment/TrackRunBox;->isFirstSampleFlagsPresent()Z
move-result v3
if-eqz v3, :cond_3c6
.line 160
invoke-virtual {v5}, Lcom/coremedia/iso/boxes/fragment/TrackRunBox;->getFirstSampleFlags()Lcom/coremedia/iso/boxes/fragment/SampleFlags;
move-result-object v3
.line 161
.restart local v3 # "sampleFlags":Lcom/coremedia/iso/boxes/fragment/SampleFlags;
goto :goto_3d5
.line 162
.end local v3 # "sampleFlags":Lcom/coremedia/iso/boxes/fragment/SampleFlags;
:cond_3c6
invoke-virtual {v12}, Lcom/coremedia/iso/boxes/fragment/TrackFragmentHeaderBox;->hasDefaultSampleFlags()Z
move-result v3
if-eqz v3, :cond_3d1
.line 163
invoke-virtual {v12}, Lcom/coremedia/iso/boxes/fragment/TrackFragmentHeaderBox;->getDefaultSampleFlags()Lcom/coremedia/iso/boxes/fragment/SampleFlags;
move-result-object v3
.line 164
.restart local v3 # "sampleFlags":Lcom/coremedia/iso/boxes/fragment/SampleFlags;
goto :goto_3d5
.line 165
.end local v3 # "sampleFlags":Lcom/coremedia/iso/boxes/fragment/SampleFlags;
:cond_3d1
invoke-virtual/range {v16 .. v16}, Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;->getDefaultSampleFlags()Lcom/coremedia/iso/boxes/fragment/SampleFlags;
move-result-object v3
.line 169
.restart local v3 # "sampleFlags":Lcom/coremedia/iso/boxes/fragment/SampleFlags;
:goto_3d5
if-eqz v3, :cond_3e4
invoke-virtual {v3}, Lcom/coremedia/iso/boxes/fragment/SampleFlags;->isSampleIsDifferenceSample()Z
move-result v4
if-nez v4, :cond_3e4
.line 171
invoke-static/range {v19 .. v20}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v4
invoke-interface {v11, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 173
:cond_3e4
const-wide/16 v8, 0x1
add-long v19, v19, v8
.line 174
const/4 v13, 0x0
move-object/from16 v15, v34
move-object/from16 v3, v35
move-object/from16 v4, v36
move-object/from16 v14, v39
move-object/from16 v9, v40
move-object/from16 v8, v41
goto/16 :goto_2b9
.line 106
.end local v5 # "trun":Lcom/coremedia/iso/boxes/fragment/TrackRunBox;
.end local v13 # "first":Z
.end local v18 # "subs":Lcom/coremedia/iso/boxes/SubSampleInformationBox;
.end local v27 # "trackId":J
.end local v29 # "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
.end local v32 # "entry":Lcom/coremedia/iso/boxes/fragment/TrackRunBox$Entry;
.end local v33 # "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
.end local v35 # "truns":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackRunBox;>;"
.end local v39 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
.end local v40 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.local v3, "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
.local v4, "trackId":J
.restart local v9 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.local v12, "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
.restart local v14 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
:cond_3f7
move-object/from16 v33, v3
move-wide/from16 v27, v4
move-object/from16 v41, v8
move-object/from16 v40, v9
move-object/from16 v29, v12
move-object/from16 v30, v13
move-object/from16 v39, v14
move-object/from16 v34, v15
.end local v3 # "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
.end local v4 # "trackId":J
.end local v9 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.end local v12 # "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
.end local v14 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
.restart local v27 # "trackId":J
.restart local v29 # "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
.restart local v33 # "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
.restart local v39 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
.restart local v40 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
goto/16 :goto_1f2
.line 95
.end local v17 # "movieExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;>;"
.end local v19 # "sampleNumber":J
.end local v22 # "subss":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/SubSampleInformationBox;>;"
.end local v24 # "mvex":Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;
.end local v25 # "trackExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;>;"
.end local v27 # "trackId":J
.end local v29 # "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
.end local v33 # "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
.end local v39 # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
.end local v40 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.restart local v4 # "trackId":J
.restart local v9 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.local v11, "movieExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;>;"
.local v13, "mvex":Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;
.local v14, "trackExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;>;"
:cond_409
move-wide/from16 v27, v4
move-object/from16 v41, v8
move-object/from16 v40, v9
move-object/from16 v17, v11
move-object/from16 v23, v12
move-object/from16 v24, v13
move-object/from16 v25, v14
move-object/from16 v34, v15
.end local v4 # "trackId":J
.end local v9 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.end local v11 # "movieExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;>;"
.end local v13 # "mvex":Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;
.end local v14 # "trackExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;>;"
.restart local v17 # "movieExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;>;"
.restart local v24 # "mvex":Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;
.restart local v25 # "trackExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;>;"
.restart local v27 # "trackId":J
.restart local v40 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
const/4 v3, 0x0
goto/16 :goto_14f
.line 203
.end local v16 # "trex":Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;
.end local v17 # "movieExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;>;"
.end local v24 # "mvex":Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;
.end local v25 # "trackExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackExtendsBox;>;"
.end local v27 # "trackId":J
.end local v40 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.restart local v4 # "trackId":J
.restart local v9 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.restart local v11 # "movieExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;>;"
:cond_41c
move-wide/from16 v27, v4
move-object/from16 v40, v9
move-object/from16 v17, v11
.end local v4 # "trackId":J
.end local v9 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.end local v11 # "movieExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;>;"
.restart local v17 # "movieExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;>;"
.restart local v27 # "trackId":J
.restart local v40 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
const-class v3, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleGroupDescriptionBox;
invoke-virtual {v6, v3}, Lcom/coremedia/iso/boxes/SampleTableBox;->getBoxes(Ljava/lang/Class;)Ljava/util/List;
move-result-object v3
const-class v4, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleToGroupBox;
invoke-virtual {v6, v4}, Lcom/coremedia/iso/boxes/SampleTableBox;->getBoxes(Ljava/lang/Class;)Ljava/util/List;
move-result-object v4
iget-object v5, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->sampleGroups:Ljava/util/Map;
invoke-direct {v0, v3, v4, v5}, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->getSampleGroups(Ljava/util/List;Ljava/util/List;Ljava/util/Map;)Ljava/util/Map;
move-result-object v3
iput-object v3, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->sampleGroups:Ljava/util/Map;
.line 206
:goto_436
invoke-static {v7}, Lcom/coremedia/iso/boxes/TimeToSampleBox;->blowupTimeToSamples(Ljava/util/List;)[J
move-result-object v3
iput-object v3, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->decodingTimes:[J
.line 208
invoke-virtual/range {p2 .. p2}, Lcom/coremedia/iso/boxes/TrackBox;->getMediaBox()Lcom/coremedia/iso/boxes/MediaBox;
move-result-object v3
invoke-virtual {v3}, Lcom/coremedia/iso/boxes/MediaBox;->getMediaHeaderBox()Lcom/coremedia/iso/boxes/MediaHeaderBox;
move-result-object v3
.line 209
.local v3, "mdhd":Lcom/coremedia/iso/boxes/MediaHeaderBox;
invoke-virtual/range {p2 .. p2}, Lcom/coremedia/iso/boxes/TrackBox;->getTrackHeaderBox()Lcom/coremedia/iso/boxes/TrackHeaderBox;
move-result-object v4
.line 211
.local v4, "tkhd":Lcom/coremedia/iso/boxes/TrackHeaderBox;
iget-object v5, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->trackMetaData:Lcom/googlecode/mp4parser/authoring/TrackMetaData;
invoke-virtual {v4}, Lcom/coremedia/iso/boxes/TrackHeaderBox;->getTrackId()J
move-result-wide v8
invoke-virtual {v5, v8, v9}, Lcom/googlecode/mp4parser/authoring/TrackMetaData;->setTrackId(J)V
.line 212
iget-object v5, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->trackMetaData:Lcom/googlecode/mp4parser/authoring/TrackMetaData;
invoke-virtual {v3}, Lcom/coremedia/iso/boxes/MediaHeaderBox;->getCreationTime()Ljava/util/Date;
move-result-object v8
invoke-virtual {v5, v8}, Lcom/googlecode/mp4parser/authoring/TrackMetaData;->setCreationTime(Ljava/util/Date;)V
.line 213
iget-object v5, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->trackMetaData:Lcom/googlecode/mp4parser/authoring/TrackMetaData;
invoke-virtual {v3}, Lcom/coremedia/iso/boxes/MediaHeaderBox;->getLanguage()Ljava/lang/String;
move-result-object v8
invoke-virtual {v5, v8}, Lcom/googlecode/mp4parser/authoring/TrackMetaData;->setLanguage(Ljava/lang/String;)V
.line 215
iget-object v5, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->trackMetaData:Lcom/googlecode/mp4parser/authoring/TrackMetaData;
invoke-virtual {v3}, Lcom/coremedia/iso/boxes/MediaHeaderBox;->getModificationTime()Ljava/util/Date;
move-result-object v8
invoke-virtual {v5, v8}, Lcom/googlecode/mp4parser/authoring/TrackMetaData;->setModificationTime(Ljava/util/Date;)V
.line 216
iget-object v5, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->trackMetaData:Lcom/googlecode/mp4parser/authoring/TrackMetaData;
invoke-virtual {v3}, Lcom/coremedia/iso/boxes/MediaHeaderBox;->getTimescale()J
move-result-wide v8
invoke-virtual {v5, v8, v9}, Lcom/googlecode/mp4parser/authoring/TrackMetaData;->setTimescale(J)V
.line 217
iget-object v5, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->trackMetaData:Lcom/googlecode/mp4parser/authoring/TrackMetaData;
invoke-virtual {v4}, Lcom/coremedia/iso/boxes/TrackHeaderBox;->getHeight()D
move-result-wide v8
invoke-virtual {v5, v8, v9}, Lcom/googlecode/mp4parser/authoring/TrackMetaData;->setHeight(D)V
.line 218
iget-object v5, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->trackMetaData:Lcom/googlecode/mp4parser/authoring/TrackMetaData;
invoke-virtual {v4}, Lcom/coremedia/iso/boxes/TrackHeaderBox;->getWidth()D
move-result-wide v8
invoke-virtual {v5, v8, v9}, Lcom/googlecode/mp4parser/authoring/TrackMetaData;->setWidth(D)V
.line 219
iget-object v5, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->trackMetaData:Lcom/googlecode/mp4parser/authoring/TrackMetaData;
invoke-virtual {v4}, Lcom/coremedia/iso/boxes/TrackHeaderBox;->getLayer()I
move-result v8
invoke-virtual {v5, v8}, Lcom/googlecode/mp4parser/authoring/TrackMetaData;->setLayer(I)V
.line 220
iget-object v5, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->trackMetaData:Lcom/googlecode/mp4parser/authoring/TrackMetaData;
invoke-virtual {v4}, Lcom/coremedia/iso/boxes/TrackHeaderBox;->getMatrix()Lcom/googlecode/mp4parser/util/Matrix;
move-result-object v8
invoke-virtual {v5, v8}, Lcom/googlecode/mp4parser/authoring/TrackMetaData;->setMatrix(Lcom/googlecode/mp4parser/util/Matrix;)V
.line 221
const-string v5, "edts/elst"
invoke-static {v1, v5}, Lcom/googlecode/mp4parser/util/Path;->getPath(Lcom/googlecode/mp4parser/AbstractContainerBox;Ljava/lang/String;)Lcom/coremedia/iso/boxes/Box;
move-result-object v5
check-cast v5, Lcom/coremedia/iso/boxes/EditListBox;
.line 222
.local v5, "elst":Lcom/coremedia/iso/boxes/EditListBox;
const-string v8, "../mvhd"
invoke-static {v1, v8}, Lcom/googlecode/mp4parser/util/Path;->getPath(Lcom/googlecode/mp4parser/AbstractContainerBox;Ljava/lang/String;)Lcom/coremedia/iso/boxes/Box;
move-result-object v8
check-cast v8, Lcom/coremedia/iso/boxes/MovieHeaderBox;
.line 223
.local v8, "mvhd":Lcom/coremedia/iso/boxes/MovieHeaderBox;
if-eqz v5, :cond_4ef
.line 224
invoke-virtual {v5}, Lcom/coremedia/iso/boxes/EditListBox;->getEntries()Ljava/util/List;
move-result-object v9
invoke-interface {v9}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v9
:goto_4b3
invoke-interface {v9}, Ljava/util/Iterator;->hasNext()Z
move-result v11
if-nez v11, :cond_4ba
goto :goto_4ef
:cond_4ba
invoke-interface {v9}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v11
check-cast v11, Lcom/coremedia/iso/boxes/EditListBox$Entry;
.line 225
.local v11, "e":Lcom/coremedia/iso/boxes/EditListBox$Entry;
iget-object v12, v0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->edits:Ljava/util/List;
new-instance v13, Lcom/googlecode/mp4parser/authoring/Edit;
invoke-virtual {v11}, Lcom/coremedia/iso/boxes/EditListBox$Entry;->getMediaTime()J
move-result-wide v19
invoke-virtual {v3}, Lcom/coremedia/iso/boxes/MediaHeaderBox;->getTimescale()J
move-result-wide v21
invoke-virtual {v11}, Lcom/coremedia/iso/boxes/EditListBox$Entry;->getMediaRate()D
move-result-wide v23
invoke-virtual {v11}, Lcom/coremedia/iso/boxes/EditListBox$Entry;->getSegmentDuration()J
move-result-wide v14
long-to-double v14, v14
invoke-virtual {v8}, Lcom/coremedia/iso/boxes/MovieHeaderBox;->getTimescale()J
move-result-wide v0
long-to-double v0, v0
invoke-static {v14, v15}, Ljava/lang/Double;->isNaN(D)Z
invoke-static {v0, v1}, Ljava/lang/Double;->isNaN(D)Z
div-double v25, v14, v0
move-object/from16 v18, v13
invoke-direct/range {v18 .. v26}, Lcom/googlecode/mp4parser/authoring/Edit;-><init>(JJDD)V
invoke-interface {v12, v13}, Ljava/util/List;->add(Ljava/lang/Object;)Z
move-object/from16 v0, p0
move-object/from16 v1, p2
goto :goto_4b3
.line 229
.end local v11 # "e":Lcom/coremedia/iso/boxes/EditListBox$Entry;
:cond_4ef
:goto_4ef
return-void
.line 84
.end local v3 # "mdhd":Lcom/coremedia/iso/boxes/MediaHeaderBox;
.end local v5 # "elst":Lcom/coremedia/iso/boxes/EditListBox;
.end local v8 # "mvhd":Lcom/coremedia/iso/boxes/MovieHeaderBox;
.end local v10 # "lastSubsSample":I
.end local v17 # "movieExtendsBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;>;"
.end local v27 # "trackId":J
.end local v40 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.local v4, "trackId":J
.restart local v9 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
:cond_4f0
move-wide/from16 v27, v4
move-object/from16 v41, v8
move-object/from16 v40, v9
.end local v4 # "trackId":J
.end local v9 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.restart local v27 # "trackId":J
.restart local v40 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
aget-object v0, v2, v11
.line 85
.local v0, "fragment":Lcom/coremedia/iso/IsoFile;
const-class v1, Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
invoke-virtual {v0, v1}, Lcom/coremedia/iso/IsoFile;->getBoxes(Ljava/lang/Class;)Ljava/util/List;
move-result-object v1
move-object/from16 v3, v40
.end local v40 # "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
.local v3, "movieFragmentBoxes":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;>;"
invoke-interface {v3, v1}, Ljava/util/List;->addAll(Ljava/util/Collection;)Z
.line 84
.end local v0 # "fragment":Lcom/coremedia/iso/IsoFile;
add-int/lit8 v11, v11, 0x1
move-object/from16 v0, p0
move-object/from16 v1, p2
move-object v9, v3
const/4 v3, 0x0
goto/16 :goto_ba
.end method
.method private getSampleGroups(Ljava/util/List;Ljava/util/List;Ljava/util/Map;)Ljava/util/Map;
.registers 23
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/List<",
"Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleGroupDescriptionBox;",
">;",
"Ljava/util/List<",
"Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleToGroupBox;",
">;",
"Ljava/util/Map<",
"Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/GroupEntry;",
"[J>;)",
"Ljava/util/Map<",
"Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/GroupEntry;",
"[J>;"
}
.end annotation
.line 233
.local p1, "sgdbs":Ljava/util/List;, "Ljava/util/List<Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleGroupDescriptionBox;>;"
.local p2, "sbgps":Ljava/util/List;, "Ljava/util/List<Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleToGroupBox;>;"
.local p3, "sampleGroups":Ljava/util/Map;, "Ljava/util/Map<Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/GroupEntry;[J>;"
move-object/from16 v0, p3
invoke-interface/range {p1 .. p1}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_6
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-nez v2, :cond_d
.line 264
return-object v0
.line 233
:cond_d
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleGroupDescriptionBox;
.line 234
.local v2, "sgdb":Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleGroupDescriptionBox;
const/4 v3, 0x0
.line 235
.local v3, "found":Z
invoke-interface/range {p2 .. p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v4
:goto_18
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v5
const/4 v6, 0x0
if-nez v5, :cond_49
.line 260
if-eqz v3, :cond_22
goto :goto_6
.line 261
:cond_22
new-instance v1, Ljava/lang/RuntimeException;
new-instance v4, Ljava/lang/StringBuilder;
const-string v5, "Could not find SampleToGroupBox for "
invoke-direct {v4, v5}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2}, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleGroupDescriptionBox;->getGroupEntries()Ljava/util/List;
move-result-object v5
invoke-interface {v5, v6}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v5
check-cast v5, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/GroupEntry;
invoke-virtual {v5}, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/GroupEntry;->getType()Ljava/lang/String;
move-result-object v5
invoke-virtual {v4, v5}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)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 {v1, v4}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v1
.line 235
:cond_49
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleToGroupBox;
.line 236
.local v5, "sbgp":Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleToGroupBox;
invoke-virtual {v5}, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleToGroupBox;->getGroupingType()Ljava/lang/String;
move-result-object v7
invoke-virtual {v2}, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleGroupDescriptionBox;->getGroupEntries()Ljava/util/List;
move-result-object v8
invoke-interface {v8, v6}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v8
check-cast v8, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/GroupEntry;
invoke-virtual {v8}, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/GroupEntry;->getType()Ljava/lang/String;
move-result-object v8
invoke-virtual {v7, v8}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v7
if-eqz v7, :cond_db
.line 237
const/4 v7, 0x1
.line 238
.end local v3 # "found":Z
.local v7, "found":Z
const/4 v3, 0x0
.line 239
.local v3, "sampleNum":I
invoke-virtual {v5}, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleToGroupBox;->getEntries()Ljava/util/List;
move-result-object v8
invoke-interface {v8}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object v8
:goto_71
invoke-interface {v8}, Ljava/util/Iterator;->hasNext()Z
move-result v9
if-nez v9, :cond_79
move v3, v7
goto :goto_18
:cond_79
invoke-interface {v8}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v9
check-cast v9, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleToGroupBox$Entry;
.line 240
.local v9, "entry":Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleToGroupBox$Entry;
invoke-virtual {v9}, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleToGroupBox$Entry;->getGroupDescriptionIndex()I
move-result v10
if-lez v10, :cond_ce
.line 241
invoke-virtual {v2}, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleGroupDescriptionBox;->getGroupEntries()Ljava/util/List;
move-result-object v10
invoke-virtual {v9}, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleToGroupBox$Entry;->getGroupDescriptionIndex()I
move-result v11
add-int/lit8 v11, v11, -0x1
invoke-interface {v10, v11}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object v10
check-cast v10, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/GroupEntry;
.line 242
.local v10, "groupEntry":Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/GroupEntry;
invoke-interface {v0, v10}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v11
check-cast v11, [J
.line 243
.local v11, "samples":[J
if-nez v11, :cond_9f
.line 244
new-array v11, v6, [J
.line 247
:cond_9f
invoke-virtual {v9}, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleToGroupBox$Entry;->getSampleCount()J
move-result-wide v12
invoke-static {v12, v13}, Lcom/googlecode/mp4parser/util/CastUtils;->l2i(J)I
move-result v12
array-length v13, v11
add-int/2addr v12, v13
new-array v12, v12, [J
.line 248
.local v12, "nuSamples":[J
array-length v13, v11
invoke-static {v11, v6, v12, v6, v13}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 249
const/4 v13, 0x0
.local v13, "i":I
:goto_b0
int-to-long v14, v13
invoke-virtual {v9}, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleToGroupBox$Entry;->getSampleCount()J
move-result-wide v16
cmp-long v18, v14, v16
if-ltz v18, :cond_bf
.line 252
.end local v13 # "i":I
invoke-interface {v0, v10, v12}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
move/from16 v17, v7
goto :goto_d0
.line 250
.restart local v13 # "i":I
:cond_bf
array-length v14, v11
add-int/2addr v14, v13
add-int v15, v3, v13
move/from16 v17, v7
.end local v7 # "found":Z
.local v17, "found":Z
int-to-long v6, v15
aput-wide v6, v12, v14
.line 249
add-int/lit8 v13, v13, 0x1
move/from16 v7, v17
const/4 v6, 0x0
goto :goto_b0
.line 240
.end local v10 # "groupEntry":Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/GroupEntry;
.end local v11 # "samples":[J
.end local v12 # "nuSamples":[J
.end local v13 # "i":I
.end local v17 # "found":Z
.restart local v7 # "found":Z
:cond_ce
move/from16 v17, v7
.line 255
.end local v7 # "found":Z
.restart local v17 # "found":Z
:goto_d0
int-to-long v6, v3
invoke-virtual {v9}, Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleToGroupBox$Entry;->getSampleCount()J
move-result-wide v10
add-long/2addr v6, v10
long-to-int v3, v6
move/from16 v7, v17
const/4 v6, 0x0
goto :goto_71
.line 236
.end local v9 # "entry":Lcom/googlecode/mp4parser/boxes/mp4/samplegrouping/SampleToGroupBox$Entry;
.end local v17 # "found":Z
.local v3, "found":Z
:cond_db
goto/16 :goto_18
.end method
# virtual methods
.method public close()V
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
.line 268
iget-object v0, p0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->trackBox:Lcom/coremedia/iso/boxes/TrackBox;
invoke-virtual {v0}, Lcom/coremedia/iso/boxes/TrackBox;->getParent()Lcom/coremedia/iso/boxes/Container;
move-result-object v0
.line 269
.local v0, "c":Lcom/coremedia/iso/boxes/Container;
instance-of v1, v0, Lcom/googlecode/mp4parser/BasicContainer;
if-eqz v1, :cond_10
.line 270
move-object v1, v0
check-cast v1, Lcom/googlecode/mp4parser/BasicContainer;
invoke-virtual {v1}, Lcom/googlecode/mp4parser/BasicContainer;->close()V
.line 272
:cond_10
iget-object v1, p0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->fragments:[Lcom/coremedia/iso/IsoFile;
array-length v2, v1
const/4 v3, 0x0
:goto_14
if-lt v3, v2, :cond_17
.line 277
return-void
.line 272
:cond_17
aget-object v4, v1, v3
.line 273
.local v4, "fragment":Lcom/coremedia/iso/IsoFile;
invoke-virtual {v4}, Lcom/coremedia/iso/IsoFile;->close()V
.line 272
.end local v4 # "fragment":Lcom/coremedia/iso/IsoFile;
add-int/lit8 v3, v3, 0x1
goto :goto_14
.end method
.method public getCompositionTimeEntries()Ljava/util/List;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Lcom/coremedia/iso/boxes/CompositionTimeToSample$Entry;",
">;"
}
.end annotation
.line 292
iget-object v0, p0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->compositionTimeEntries:Ljava/util/List;
return-object v0
.end method
.method public getHandler()Ljava/lang/String;
.registers 2
.line 312
iget-object v0, p0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->handler:Ljava/lang/String;
return-object v0
.end method
.method public getSampleDependencies()Ljava/util/List;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Lcom/coremedia/iso/boxes/SampleDependencyTypeBox$Entry;",
">;"
}
.end annotation
.line 304
iget-object v0, p0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->sampleDependencies:Ljava/util/List;
return-object v0
.end method
.method public getSampleDescriptionBox()Lcom/coremedia/iso/boxes/SampleDescriptionBox;
.registers 2
.line 288
iget-object v0, p0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->sampleDescriptionBox:Lcom/coremedia/iso/boxes/SampleDescriptionBox;
return-object v0
.end method
.method public declared-synchronized getSampleDurations()[J
.registers 2
monitor-enter p0
.line 284
:try_start_1
iget-object v0, p0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->decodingTimes:[J
:try_end_3
.catchall {:try_start_1 .. :try_end_3} :catchall_5
monitor-exit p0
return-object v0
.end local p0 # "this":Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;
:catchall_5
move-exception v0
monitor-exit p0
throw v0
.end method
.method public getSamples()Ljava/util/List;
.registers 2
.annotation system Ldalvik/annotation/Signature;
value = {
"()",
"Ljava/util/List<",
"Lcom/googlecode/mp4parser/authoring/Sample;",
">;"
}
.end annotation
.line 280
iget-object v0, p0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->samples:Ljava/util/List;
return-object v0
.end method
.method public getSubsampleInformationBox()Lcom/coremedia/iso/boxes/SubSampleInformationBox;
.registers 2
.line 316
iget-object v0, p0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->subSampleInformationBox:Lcom/coremedia/iso/boxes/SubSampleInformationBox;
return-object v0
.end method
.method public getSyncSamples()[J
.registers 3
.line 296
iget-object v0, p0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->syncSamples:[J
array-length v0, v0
iget-object v1, p0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->samples:Ljava/util/List;
invoke-interface {v1}, Ljava/util/List;->size()I
move-result v1
if-ne v0, v1, :cond_d
.line 297
const/4 v0, 0x0
return-object v0
.line 299
:cond_d
iget-object v0, p0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->syncSamples:[J
return-object v0
.end method
.method public getTrackMetaData()Lcom/googlecode/mp4parser/authoring/TrackMetaData;
.registers 2
.line 308
iget-object v0, p0, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->trackMetaData:Lcom/googlecode/mp4parser/authoring/TrackMetaData;
return-object v0
.end method