CencMp4TrackImplImpl.smali

.class public Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl;
.super Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;
.source "CencMp4TrackImplImpl.java"

# interfaces
.implements Lcom/googlecode/mp4parser/authoring/tracks/CencEncryptedTrack;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;
    }
.end annotation


# static fields
.field static final synthetic $assertionsDisabled:Z


# instance fields
.field private defaultKeyId:Ljava/util/UUID;

.field private sampleEncryptionEntries:Ljava/util/List;
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "Ljava/util/List<",
            "Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat;",
            ">;"
        }
    .end annotation
.end field


# direct methods
.method static constructor <clinit>()V
    .registers 0

    .line 26
    return-void
.end method

.method public varargs constructor <init>(Ljava/lang/String;Lcom/coremedia/iso/boxes/TrackBox;[Lcom/coremedia/iso/IsoFile;)V
    .registers 39
    .param p1, "name"    # Ljava/lang/String;
    .param p2, "trackBox"    # Lcom/coremedia/iso/boxes/TrackBox;
    .param p3, "fragments"    # [Lcom/coremedia/iso/IsoFile;
    .annotation system Ldalvik/annotation/Throws;
        value = {
            Ljava/io/IOException;
        }
    .end annotation

    .line 42
    move-object/from16 v0, p0

    move-object/from16 v1, p2

    invoke-direct/range {p0 .. p3}, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;-><init>(Ljava/lang/String;Lcom/coremedia/iso/boxes/TrackBox;[Lcom/coremedia/iso/IsoFile;)V

    .line 44
    const-string v2, "mdia[0]/minf[0]/stbl[0]/stsd[0]/enc.[0]/sinf[0]/schm[0]"

    invoke-static {v1, v2}, Lcom/googlecode/mp4parser/util/Path;->getPath(Lcom/googlecode/mp4parser/AbstractContainerBox;Ljava/lang/String;)Lcom/coremedia/iso/boxes/Box;

    move-result-object v2

    check-cast v2, Lcom/coremedia/iso/boxes/SchemeTypeBox;

    .line 45
    .local v2, "schm":Lcom/coremedia/iso/boxes/SchemeTypeBox;
    nop

    .line 47
    new-instance v3, Ljava/util/ArrayList;

    invoke-direct {v3}, Ljava/util/ArrayList;-><init>()V

    iput-object v3, v0, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl;->sampleEncryptionEntries:Ljava/util/List;

    .line 48
    invoke-virtual/range {p2 .. p2}, Lcom/coremedia/iso/boxes/TrackBox;->getTrackHeaderBox()Lcom/coremedia/iso/boxes/TrackHeaderBox;

    move-result-object v3

    invoke-virtual {v3}, Lcom/coremedia/iso/boxes/TrackHeaderBox;->getTrackId()J

    move-result-wide v3

    .line 49
    .local v3, "trackId":J
    invoke-virtual/range {p2 .. p2}, Lcom/coremedia/iso/boxes/TrackBox;->getParent()Lcom/coremedia/iso/boxes/Container;

    move-result-object v5

    const-class v6, Lcom/coremedia/iso/boxes/fragment/MovieExtendsBox;

    invoke-interface {v5, v6}, Lcom/coremedia/iso/boxes/Container;->getBoxes(Ljava/lang/Class;)Ljava/util/List;

    move-result-object v5

    invoke-interface {v5}, Ljava/util/List;->size()I

    move-result v5

    const-string v6, "mdia[0]/minf[0]/stbl[0]/stsd[0]/enc.[0]/sinf[0]/schi[0]/tenc[0]"

    if-lez v5, :cond_173

    .line 52
    invoke-virtual/range {p2 .. p2}, Lcom/coremedia/iso/boxes/TrackBox;->getParent()Lcom/coremedia/iso/boxes/Container;

    move-result-object v5

    check-cast v5, Lcom/coremedia/iso/boxes/Box;

    invoke-interface {v5}, Lcom/coremedia/iso/boxes/Box;->getParent()Lcom/coremedia/iso/boxes/Container;

    move-result-object v5

    const-class v7, Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;

    invoke-interface {v5, v7}, Lcom/coremedia/iso/boxes/Container;->getBoxes(Ljava/lang/Class;)Ljava/util/List;

    move-result-object v5

    invoke-interface {v5}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v5

    :goto_45
    invoke-interface {v5}, Ljava/util/Iterator;->hasNext()Z

    move-result v7

    if-nez v7, :cond_51

    .line 102
    move-object/from16 v17, v2

    move-wide/from16 v18, v3

    goto/16 :goto_239

    .line 52
    :cond_51
    invoke-interface {v5}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v7

    check-cast v7, Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;

    .line 53
    .local v7, "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
    const-class v8, Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;

    invoke-virtual {v7, v8}, Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;->getBoxes(Ljava/lang/Class;)Ljava/util/List;

    move-result-object v8

    .line 54
    .local v8, "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
    invoke-interface {v8}, Ljava/util/List;->iterator()Ljava/util/Iterator;

    move-result-object v9

    :goto_61
    invoke-interface {v9}, Ljava/util/Iterator;->hasNext()Z

    move-result v10

    if-nez v10, :cond_68

    goto :goto_45

    :cond_68
    invoke-interface {v9}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v10

    check-cast v10, Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;

    .line 55
    .local v10, "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
    invoke-virtual {v10}, Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;->getTrackFragmentHeaderBox()Lcom/coremedia/iso/boxes/fragment/TrackFragmentHeaderBox;

    move-result-object v11

    invoke-virtual {v11}, Lcom/coremedia/iso/boxes/fragment/TrackFragmentHeaderBox;->getTrackId()J

    move-result-wide v11

    cmp-long v13, v11, v3

    if-nez v13, :cond_163

    .line 56
    invoke-static {v1, v6}, Lcom/googlecode/mp4parser/util/Path;->getPath(Lcom/googlecode/mp4parser/AbstractContainerBox;Ljava/lang/String;)Lcom/coremedia/iso/boxes/Box;

    move-result-object v11

    check-cast v11, Lcom/mp4parser/iso23001/part7/TrackEncryptionBox;

    .line 57
    .local v11, "tenc":Lcom/mp4parser/iso23001/part7/TrackEncryptionBox;
    invoke-virtual {v11}, Lcom/mp4parser/iso23001/part7/TrackEncryptionBox;->getDefault_KID()Ljava/util/UUID;

    move-result-object v12

    iput-object v12, v0, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl;->defaultKeyId:Ljava/util/UUID;

    .line 60
    invoke-virtual {v10}, Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;->getTrackFragmentHeaderBox()Lcom/coremedia/iso/boxes/fragment/TrackFragmentHeaderBox;

    move-result-object v12

    invoke-virtual {v12}, Lcom/coremedia/iso/boxes/fragment/TrackFragmentHeaderBox;->hasBaseDataOffset()Z

    move-result v12

    if-eqz v12, :cond_a3

    .line 61
    invoke-virtual/range {p2 .. p2}, Lcom/coremedia/iso/boxes/TrackBox;->getParent()Lcom/coremedia/iso/boxes/Container;

    move-result-object v12

    check-cast v12, Lcom/coremedia/iso/boxes/Box;

    invoke-interface {v12}, Lcom/coremedia/iso/boxes/Box;->getParent()Lcom/coremedia/iso/boxes/Container;

    move-result-object v12

    .line 62
    .local v12, "base":Lcom/coremedia/iso/boxes/Container;
    invoke-virtual {v10}, Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;->getTrackFragmentHeaderBox()Lcom/coremedia/iso/boxes/fragment/TrackFragmentHeaderBox;

    move-result-object v13

    invoke-virtual {v13}, Lcom/coremedia/iso/boxes/fragment/TrackFragmentHeaderBox;->getBaseDataOffset()J

    move-result-wide v13

    .line 63
    .local v13, "baseOffset":J
    goto :goto_a6

    .line 64
    .end local v12    # "base":Lcom/coremedia/iso/boxes/Container;
    .end local v13    # "baseOffset":J
    :cond_a3
    move-object v12, v7

    .line 65
    .restart local v12    # "base":Lcom/coremedia/iso/boxes/Container;
    const-wide/16 v13, 0x0

    .line 68
    .restart local v13    # "baseOffset":J
    :goto_a6
    new-instance v15, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;

    invoke-direct {v15, v0, v10}, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;-><init>(Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl;Lcom/coremedia/iso/boxes/Container;)V

    invoke-virtual {v15}, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;->invoke()Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;

    move-result-object v15

    .line 69
    .local v15, "saizSaioPair":Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;
    invoke-virtual {v15}, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;->getSaio()Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;

    move-result-object v16

    .line 70
    .local v16, "saio":Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;
    move-object/from16 v17, v2

    .end local v2    # "schm":Lcom/coremedia/iso/boxes/SchemeTypeBox;
    .local v17, "schm":Lcom/coremedia/iso/boxes/SchemeTypeBox;
    invoke-virtual {v15}, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;->getSaiz()Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;

    move-result-object v2

    .line 72
    .local v2, "saiz":Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;
    nop

    .line 73
    move-wide/from16 v18, v3

    .end local v3    # "trackId":J
    .local v18, "trackId":J
    invoke-virtual/range {v16 .. v16}, Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;->getOffsets()[J

    move-result-object v3

    .line 74
    .local v3, "saioOffsets":[J
    nop

    .line 75
    nop

    .line 77
    const-class v4, Lcom/coremedia/iso/boxes/fragment/TrackRunBox;

    invoke-virtual {v10, v4}, Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;->getBoxes(Ljava/lang/Class;)Ljava/util/List;

    move-result-object v4

    .line 78
    .local v4, "truns":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackRunBox;>;"
    const/16 v20, 0x0

    .line 79
    .local v20, "sampleNo":I
    const/16 v21, 0x0

    move/from16 v34, v21

    move-object/from16 v21, v5

    move/from16 v5, v34

    .local v5, "i":I
    :goto_d2
    move-object/from16 v22, v7

    .end local v7    # "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
    .local v22, "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
    array-length v7, v3

    if-lt v5, v7, :cond_e0

    move-object/from16 v2, v17

    move-wide/from16 v3, v18

    move-object/from16 v5, v21

    move-object/from16 v7, v22

    goto :goto_61

    .line 80
    :cond_e0
    invoke-interface {v4, v5}, Ljava/util/List;->get(I)Ljava/lang/Object;

    move-result-object v7

    check-cast v7, Lcom/coremedia/iso/boxes/fragment/TrackRunBox;

    invoke-virtual {v7}, Lcom/coremedia/iso/boxes/fragment/TrackRunBox;->getEntries()Ljava/util/List;

    move-result-object v7

    invoke-interface {v7}, Ljava/util/List;->size()I

    move-result v7

    .line 81
    .local v7, "numSamples":I
    aget-wide v23, v3, v5

    .line 82
    .local v23, "offset":J
    const-wide/16 v25, 0x0

    .line 84
    .local v25, "length":J
    move/from16 v27, v20

    move-object/from16 v28, v3

    move-object/from16 v29, v4

    move-wide/from16 v3, v25

    move-object/from16 v25, v8

    move/from16 v8, v27

    .end local v4    # "truns":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackRunBox;>;"
    .local v3, "length":J
    .local v8, "j":I
    .local v25, "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
    .local v28, "saioOffsets":[J
    .local v29, "truns":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackRunBox;>;"
    :goto_fe
    move-object/from16 v26, v9

    add-int v9, v20, v7

    if-lt v8, v9, :cond_14a

    .line 87
    .end local v8    # "j":I
    add-long v8, v13, v23

    invoke-interface {v12, v8, v9, v3, v4}, Lcom/coremedia/iso/boxes/Container;->getByteBuffer(JJ)Ljava/nio/ByteBuffer;

    move-result-object v9

    .line 88
    .local v9, "trunsCencSampleAuxData":Ljava/nio/ByteBuffer;
    move/from16 v8, v20

    .restart local v8    # "j":I
    :goto_10c
    move-object/from16 v27, v10

    .end local v10    # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
    .local v27, "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
    add-int v10, v20, v7

    if-lt v8, v10, :cond_123

    .line 96
    .end local v8    # "j":I
    add-int v20, v20, v7

    .line 79
    .end local v3    # "length":J
    .end local v7    # "numSamples":I
    .end local v9    # "trunsCencSampleAuxData":Ljava/nio/ByteBuffer;
    .end local v23    # "offset":J
    add-int/lit8 v5, v5, 0x1

    move-object/from16 v7, v22

    move-object/from16 v8, v25

    move-object/from16 v9, v26

    move-object/from16 v10, v27

    move-object/from16 v3, v28

    move-object/from16 v4, v29

    goto :goto_d2

    .line 89
    .restart local v3    # "length":J
    .restart local v7    # "numSamples":I
    .restart local v8    # "j":I
    .restart local v9    # "trunsCencSampleAuxData":Ljava/nio/ByteBuffer;
    .restart local v23    # "offset":J
    :cond_123
    invoke-virtual {v2, v8}, Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;->getSize(I)S

    move-result v10

    .line 90
    .local v10, "auxInfoSize":I
    move/from16 v30, v5

    .end local v5    # "i":I
    .local v30, "i":I
    iget-object v5, v0, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl;->sampleEncryptionEntries:Ljava/util/List;

    .line 91
    move/from16 v31, v7

    .end local v7    # "numSamples":I
    .local v31, "numSamples":I
    invoke-virtual {v11}, Lcom/mp4parser/iso23001/part7/TrackEncryptionBox;->getDefaultIvSize()I

    move-result v7

    move-object/from16 v32, v11

    move-object/from16 v33, v12

    .end local v11    # "tenc":Lcom/mp4parser/iso23001/part7/TrackEncryptionBox;
    .end local v12    # "base":Lcom/coremedia/iso/boxes/Container;
    .local v32, "tenc":Lcom/mp4parser/iso23001/part7/TrackEncryptionBox;
    .local v33, "base":Lcom/coremedia/iso/boxes/Container;
    int-to-long v11, v10

    invoke-direct {v0, v7, v9, v11, v12}, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl;->parseCencAuxDataFormat(ILjava/nio/ByteBuffer;J)Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat;

    move-result-object v7

    .line 90
    invoke-interface {v5, v7}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 88
    .end local v10    # "auxInfoSize":I
    add-int/lit8 v8, v8, 0x1

    move-object/from16 v10, v27

    move/from16 v5, v30

    move/from16 v7, v31

    move-object/from16 v11, v32

    move-object/from16 v12, v33

    goto :goto_10c

    .line 85
    .end local v9    # "trunsCencSampleAuxData":Ljava/nio/ByteBuffer;
    .end local v27    # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
    .end local v30    # "i":I
    .end local v31    # "numSamples":I
    .end local v32    # "tenc":Lcom/mp4parser/iso23001/part7/TrackEncryptionBox;
    .end local v33    # "base":Lcom/coremedia/iso/boxes/Container;
    .restart local v5    # "i":I
    .restart local v7    # "numSamples":I
    .local v10, "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
    .restart local v11    # "tenc":Lcom/mp4parser/iso23001/part7/TrackEncryptionBox;
    .restart local v12    # "base":Lcom/coremedia/iso/boxes/Container;
    :cond_14a
    move/from16 v30, v5

    move/from16 v31, v7

    move-object/from16 v27, v10

    move-object/from16 v32, v11

    move-object/from16 v33, v12

    .end local v5    # "i":I
    .end local v7    # "numSamples":I
    .end local v10    # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
    .end local v11    # "tenc":Lcom/mp4parser/iso23001/part7/TrackEncryptionBox;
    .end local v12    # "base":Lcom/coremedia/iso/boxes/Container;
    .restart local v27    # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
    .restart local v30    # "i":I
    .restart local v31    # "numSamples":I
    .restart local v32    # "tenc":Lcom/mp4parser/iso23001/part7/TrackEncryptionBox;
    .restart local v33    # "base":Lcom/coremedia/iso/boxes/Container;
    invoke-virtual {v2, v8}, Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;->getSize(I)S

    move-result v5

    int-to-long v9, v5

    add-long/2addr v3, v9

    .line 84
    add-int/lit8 v8, v8, 0x1

    move-object/from16 v9, v26

    move-object/from16 v10, v27

    move/from16 v5, v30

    goto :goto_fe

    .line 55
    .end local v13    # "baseOffset":J
    .end local v15    # "saizSaioPair":Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;
    .end local v16    # "saio":Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;
    .end local v17    # "schm":Lcom/coremedia/iso/boxes/SchemeTypeBox;
    .end local v18    # "trackId":J
    .end local v20    # "sampleNo":I
    .end local v22    # "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
    .end local v23    # "offset":J
    .end local v25    # "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
    .end local v27    # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
    .end local v28    # "saioOffsets":[J
    .end local v29    # "truns":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackRunBox;>;"
    .end local v30    # "i":I
    .end local v31    # "numSamples":I
    .end local v32    # "tenc":Lcom/mp4parser/iso23001/part7/TrackEncryptionBox;
    .end local v33    # "base":Lcom/coremedia/iso/boxes/Container;
    .local v2, "schm":Lcom/coremedia/iso/boxes/SchemeTypeBox;
    .local v3, "trackId":J
    .local v7, "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
    .local v8, "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
    .restart local v10    # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
    :cond_163
    move-object/from16 v17, v2

    move-wide/from16 v18, v3

    move-object/from16 v21, v5

    move-object/from16 v22, v7

    move-object/from16 v25, v8

    move-object/from16 v26, v9

    move-object/from16 v27, v10

    .end local v2    # "schm":Lcom/coremedia/iso/boxes/SchemeTypeBox;
    .end local v3    # "trackId":J
    .end local v7    # "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
    .end local v8    # "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
    .end local v10    # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
    .restart local v17    # "schm":Lcom/coremedia/iso/boxes/SchemeTypeBox;
    .restart local v18    # "trackId":J
    .restart local v22    # "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
    .restart local v25    # "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
    .restart local v27    # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
    goto/16 :goto_61

    .line 103
    .end local v17    # "schm":Lcom/coremedia/iso/boxes/SchemeTypeBox;
    .end local v18    # "trackId":J
    .end local v22    # "movieFragmentBox":Lcom/coremedia/iso/boxes/fragment/MovieFragmentBox;
    .end local v25    # "trafs":Ljava/util/List;, "Ljava/util/List<Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;>;"
    .end local v27    # "traf":Lcom/coremedia/iso/boxes/fragment/TrackFragmentBox;
    .restart local v2    # "schm":Lcom/coremedia/iso/boxes/SchemeTypeBox;
    .restart local v3    # "trackId":J
    :cond_173
    move-object/from16 v17, v2

    move-wide/from16 v18, v3

    .end local v2    # "schm":Lcom/coremedia/iso/boxes/SchemeTypeBox;
    .end local v3    # "trackId":J
    .restart local v17    # "schm":Lcom/coremedia/iso/boxes/SchemeTypeBox;
    .restart local v18    # "trackId":J
    invoke-static {v1, v6}, Lcom/googlecode/mp4parser/util/Path;->getPath(Lcom/googlecode/mp4parser/AbstractContainerBox;Ljava/lang/String;)Lcom/coremedia/iso/boxes/Box;

    move-result-object v2

    check-cast v2, Lcom/mp4parser/iso23001/part7/TrackEncryptionBox;

    .line 104
    .local v2, "tenc":Lcom/mp4parser/iso23001/part7/TrackEncryptionBox;
    invoke-virtual {v2}, Lcom/mp4parser/iso23001/part7/TrackEncryptionBox;->getDefault_KID()Ljava/util/UUID;

    move-result-object v3

    iput-object v3, v0, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl;->defaultKeyId:Ljava/util/UUID;

    .line 105
    const-string v3, "mdia[0]/minf[0]/stbl[0]/stco[0]"

    invoke-static {v1, v3}, Lcom/googlecode/mp4parser/util/Path;->getPath(Lcom/googlecode/mp4parser/AbstractContainerBox;Ljava/lang/String;)Lcom/coremedia/iso/boxes/Box;

    move-result-object v3

    check-cast v3, Lcom/coremedia/iso/boxes/ChunkOffsetBox;

    .line 107
    .local v3, "chunkOffsetBox":Lcom/coremedia/iso/boxes/ChunkOffsetBox;
    if-nez v3, :cond_196

    .line 108
    const-string v4, "mdia[0]/minf[0]/stbl[0]/co64[0]"

    invoke-static {v1, v4}, Lcom/googlecode/mp4parser/util/Path;->getPath(Lcom/googlecode/mp4parser/AbstractContainerBox;Ljava/lang/String;)Lcom/coremedia/iso/boxes/Box;

    move-result-object v4

    move-object v3, v4

    check-cast v3, Lcom/coremedia/iso/boxes/ChunkOffsetBox;

    .line 110
    :cond_196
    invoke-virtual/range {p2 .. p2}, Lcom/coremedia/iso/boxes/TrackBox;->getSampleTableBox()Lcom/coremedia/iso/boxes/SampleTableBox;

    move-result-object v4

    invoke-virtual {v4}, Lcom/coremedia/iso/boxes/SampleTableBox;->getSampleToChunkBox()Lcom/coremedia/iso/boxes/SampleToChunkBox;

    move-result-object v4

    invoke-virtual {v3}, Lcom/coremedia/iso/boxes/ChunkOffsetBox;->getChunkOffsets()[J

    move-result-object v5

    array-length v5, v5

    invoke-virtual {v4, v5}, Lcom/coremedia/iso/boxes/SampleToChunkBox;->blowup(I)[J

    move-result-object v4

    .line 113
    .local v4, "chunkSizes":[J
    new-instance v5, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;

    const-string v6, "mdia[0]/minf[0]/stbl[0]"

    invoke-static {v1, v6}, Lcom/googlecode/mp4parser/util/Path;->getPath(Lcom/googlecode/mp4parser/AbstractContainerBox;Ljava/lang/String;)Lcom/coremedia/iso/boxes/Box;

    move-result-object v6

    check-cast v6, Lcom/coremedia/iso/boxes/Container;

    invoke-direct {v5, v0, v6}, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;-><init>(Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl;Lcom/coremedia/iso/boxes/Container;)V

    invoke-virtual {v5}, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;->invoke()Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;

    move-result-object v5

    .line 114
    .local v5, "saizSaioPair":Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;
    invoke-static {v5}, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;->access$0(Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;)Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;

    move-result-object v6

    .line 115
    .local v6, "saio":Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;
    invoke-static {v5}, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;->access$1(Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;)Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;

    move-result-object v7

    .line 117
    .local v7, "saiz":Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;
    invoke-virtual/range {p2 .. p2}, Lcom/coremedia/iso/boxes/TrackBox;->getParent()Lcom/coremedia/iso/boxes/Container;

    move-result-object v8

    check-cast v8, Lcom/coremedia/iso/boxes/MovieBox;

    invoke-virtual {v8}, Lcom/coremedia/iso/boxes/MovieBox;->getParent()Lcom/coremedia/iso/boxes/Container;

    move-result-object v8

    .line 119
    .local v8, "topLevel":Lcom/coremedia/iso/boxes/Container;
    invoke-virtual {v6}, Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;->getOffsets()[J

    move-result-object v9

    array-length v9, v9

    const/4 v10, 0x1

    if-ne v9, v10, :cond_22b

    .line 120
    invoke-virtual {v6}, Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;->getOffsets()[J

    move-result-object v9

    const/4 v10, 0x0

    aget-wide v10, v9, v10

    .line 121
    .local v10, "offset":J
    const/4 v9, 0x0

    .line 122
    .local v9, "sizeInTotal":I
    invoke-virtual {v7}, Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;->getDefaultSampleInfoSize()I

    move-result v12

    if-lez v12, :cond_1ed

    .line 123
    invoke-virtual {v7}, Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;->getSampleCount()I

    move-result v12

    invoke-virtual {v7}, Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;->getDefaultSampleInfoSize()I

    move-result v13

    mul-int v12, v12, v13

    add-int/2addr v9, v12

    .line 124
    move v13, v9

    goto :goto_1f5

    .line 125
    :cond_1ed
    const/4 v12, 0x0

    .local v12, "i":I
    :goto_1ee
    invoke-virtual {v7}, Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;->getSampleCount()I

    move-result v13

    if-lt v12, v13, :cond_21d

    move v13, v9

    .line 129
    .end local v9    # "sizeInTotal":I
    .end local v12    # "i":I
    .local v13, "sizeInTotal":I
    :goto_1f5
    int-to-long v14, v13

    invoke-interface {v8, v10, v11, v14, v15}, Lcom/coremedia/iso/boxes/Container;->getByteBuffer(JJ)Ljava/nio/ByteBuffer;

    move-result-object v14

    .line 130
    .local v14, "chunksCencSampleAuxData":Ljava/nio/ByteBuffer;
    const/4 v9, 0x0

    .local v9, "i":I
    :goto_1fb
    invoke-virtual {v7}, Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;->getSampleCount()I

    move-result v12

    if-lt v9, v12, :cond_202

    .line 136
    .end local v9    # "i":I
    .end local v10    # "offset":J
    .end local v13    # "sizeInTotal":I
    .end local v14    # "chunksCencSampleAuxData":Ljava/nio/ByteBuffer;
    goto :goto_239

    .line 131
    .restart local v9    # "i":I
    .restart local v10    # "offset":J
    .restart local v13    # "sizeInTotal":I
    .restart local v14    # "chunksCencSampleAuxData":Ljava/nio/ByteBuffer;
    :cond_202
    iget-object v12, v0, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl;->sampleEncryptionEntries:Ljava/util/List;

    .line 132
    invoke-virtual {v2}, Lcom/mp4parser/iso23001/part7/TrackEncryptionBox;->getDefaultIvSize()I

    move-result v15

    invoke-virtual {v7, v9}, Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;->getSize(I)S

    move-result v1

    move-wide/from16 v20, v10

    .end local v10    # "offset":J
    .local v20, "offset":J
    int-to-long v10, v1

    invoke-direct {v0, v15, v14, v10, v11}, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl;->parseCencAuxDataFormat(ILjava/nio/ByteBuffer;J)Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat;

    move-result-object v1

    .line 131
    invoke-interface {v12, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 130
    add-int/lit8 v9, v9, 0x1

    move-object/from16 v1, p2

    move-wide/from16 v10, v20

    goto :goto_1fb

    .line 126
    .end local v13    # "sizeInTotal":I
    .end local v14    # "chunksCencSampleAuxData":Ljava/nio/ByteBuffer;
    .end local v20    # "offset":J
    .local v9, "sizeInTotal":I
    .restart local v10    # "offset":J
    .restart local v12    # "i":I
    :cond_21d
    move-wide/from16 v20, v10

    .end local v10    # "offset":J
    .restart local v20    # "offset":J
    invoke-virtual {v7}, Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;->getSampleInfoSizes()[S

    move-result-object v1

    aget-short v1, v1, v12

    add-int/2addr v9, v1

    .line 125
    add-int/lit8 v12, v12, 0x1

    move-object/from16 v1, p2

    goto :goto_1ee

    .line 136
    .end local v9    # "sizeInTotal":I
    .end local v12    # "i":I
    .end local v20    # "offset":J
    :cond_22b
    invoke-virtual {v6}, Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;->getOffsets()[J

    move-result-object v1

    array-length v1, v1

    array-length v9, v4

    if-ne v1, v9, :cond_2b0

    .line 137
    const/4 v1, 0x0

    .line 138
    .local v1, "currentSampleNo":I
    const/4 v9, 0x0

    .local v9, "i":I
    :goto_235
    array-length v10, v4

    if-lt v9, v10, :cond_23a

    .line 159
    .end local v1    # "currentSampleNo":I
    .end local v9    # "i":I
    nop

    .line 163
    .end local v2    # "tenc":Lcom/mp4parser/iso23001/part7/TrackEncryptionBox;
    .end local v3    # "chunkOffsetBox":Lcom/coremedia/iso/boxes/ChunkOffsetBox;
    .end local v4    # "chunkSizes":[J
    .end local v5    # "saizSaioPair":Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;
    .end local v6    # "saio":Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;
    .end local v7    # "saiz":Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;
    .end local v8    # "topLevel":Lcom/coremedia/iso/boxes/Container;
    :goto_239
    return-void

    .line 139
    .restart local v1    # "currentSampleNo":I
    .restart local v2    # "tenc":Lcom/mp4parser/iso23001/part7/TrackEncryptionBox;
    .restart local v3    # "chunkOffsetBox":Lcom/coremedia/iso/boxes/ChunkOffsetBox;
    .restart local v4    # "chunkSizes":[J
    .restart local v5    # "saizSaioPair":Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;
    .restart local v6    # "saio":Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;
    .restart local v7    # "saiz":Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;
    .restart local v8    # "topLevel":Lcom/coremedia/iso/boxes/Container;
    .restart local v9    # "i":I
    :cond_23a
    invoke-virtual {v6}, Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;->getOffsets()[J

    move-result-object v10

    aget-wide v11, v10, v9

    .line 140
    .local v11, "offset":J
    const-wide/16 v13, 0x0

    .line 141
    .local v13, "size":J
    invoke-virtual {v7}, Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;->getDefaultSampleInfoSize()I

    move-result v10

    if-lez v10, :cond_256

    .line 142
    invoke-virtual {v7}, Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;->getSampleCount()I

    move-result v10

    move-object v15, v5

    move-object/from16 v16, v6

    .end local v5    # "saizSaioPair":Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;
    .end local v6    # "saio":Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;
    .restart local v15    # "saizSaioPair":Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;
    .restart local v16    # "saio":Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;
    int-to-long v5, v10

    aget-wide v20, v4, v9

    mul-long v5, v5, v20

    add-long/2addr v13, v5

    .line 143
    goto :goto_265

    .line 144
    .end local v15    # "saizSaioPair":Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;
    .end local v16    # "saio":Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;
    .restart local v5    # "saizSaioPair":Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;
    .restart local v6    # "saio":Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;
    :cond_256
    move-object v15, v5

    move-object/from16 v16, v6

    .end local v5    # "saizSaioPair":Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;
    .end local v6    # "saio":Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;
    .restart local v15    # "saizSaioPair":Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;
    .restart local v16    # "saio":Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;
    const/4 v5, 0x0

    .local v5, "j":I
    :goto_25a
    move-wide/from16 v20, v13

    .end local v13    # "size":J
    .local v20, "size":J
    int-to-long v13, v5

    aget-wide v22, v4, v9

    cmp-long v6, v13, v22

    if-ltz v6, :cond_29c

    move-wide/from16 v13, v20

    .line 149
    .end local v5    # "j":I
    .end local v20    # "size":J
    .restart local v13    # "size":J
    :goto_265
    invoke-interface {v8, v11, v12, v13, v14}, Lcom/coremedia/iso/boxes/Container;->getByteBuffer(JJ)Ljava/nio/ByteBuffer;

    move-result-object v6

    .line 150
    .local v6, "chunksCencSampleAuxData":Ljava/nio/ByteBuffer;
    const/4 v5, 0x0

    .restart local v5    # "j":I
    :goto_26a
    move-wide/from16 v22, v11

    .end local v11    # "offset":J
    .local v22, "offset":J
    int-to-long v10, v5

    aget-wide v20, v4, v9

    cmp-long v12, v10, v20

    if-ltz v12, :cond_27f

    .line 157
    .end local v5    # "j":I
    int-to-long v10, v1

    aget-wide v20, v4, v9

    add-long v10, v10, v20

    long-to-int v1, v10

    .line 138
    .end local v6    # "chunksCencSampleAuxData":Ljava/nio/ByteBuffer;
    .end local v13    # "size":J
    .end local v22    # "offset":J
    add-int/lit8 v9, v9, 0x1

    move-object v5, v15

    move-object/from16 v6, v16

    goto :goto_235

    .line 151
    .restart local v5    # "j":I
    .restart local v6    # "chunksCencSampleAuxData":Ljava/nio/ByteBuffer;
    .restart local v13    # "size":J
    .restart local v22    # "offset":J
    :cond_27f
    add-int v10, v1, v5

    invoke-virtual {v7, v10}, Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;->getSize(I)S

    move-result v10

    int-to-long v10, v10

    .line 152
    .local v10, "auxInfoSize":J
    iget-object v12, v0, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl;->sampleEncryptionEntries:Ljava/util/List;

    .line 154
    move-object/from16 v24, v3

    .end local v3    # "chunkOffsetBox":Lcom/coremedia/iso/boxes/ChunkOffsetBox;
    .local v24, "chunkOffsetBox":Lcom/coremedia/iso/boxes/ChunkOffsetBox;
    invoke-virtual {v2}, Lcom/mp4parser/iso23001/part7/TrackEncryptionBox;->getDefaultIvSize()I

    move-result v3

    invoke-direct {v0, v3, v6, v10, v11}, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl;->parseCencAuxDataFormat(ILjava/nio/ByteBuffer;J)Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat;

    move-result-object v3

    .line 152
    invoke-interface {v12, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z

    .line 150
    .end local v10    # "auxInfoSize":J
    add-int/lit8 v5, v5, 0x1

    move-wide/from16 v11, v22

    move-object/from16 v3, v24

    goto :goto_26a

    .line 145
    .end local v6    # "chunksCencSampleAuxData":Ljava/nio/ByteBuffer;
    .end local v13    # "size":J
    .end local v22    # "offset":J
    .end local v24    # "chunkOffsetBox":Lcom/coremedia/iso/boxes/ChunkOffsetBox;
    .restart local v3    # "chunkOffsetBox":Lcom/coremedia/iso/boxes/ChunkOffsetBox;
    .restart local v11    # "offset":J
    .restart local v20    # "size":J
    :cond_29c
    move-object/from16 v24, v3

    move-wide/from16 v22, v11

    .end local v3    # "chunkOffsetBox":Lcom/coremedia/iso/boxes/ChunkOffsetBox;
    .end local v11    # "offset":J
    .restart local v22    # "offset":J
    .restart local v24    # "chunkOffsetBox":Lcom/coremedia/iso/boxes/ChunkOffsetBox;
    add-int v3, v1, v5

    invoke-virtual {v7, v3}, Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationSizesBox;->getSize(I)S

    move-result v3

    int-to-long v10, v3

    add-long v13, v20, v10

    .line 144
    .end local v20    # "size":J
    .restart local v13    # "size":J
    add-int/lit8 v5, v5, 0x1

    move-wide/from16 v11, v22

    move-object/from16 v3, v24

    goto :goto_25a

    .line 160
    .end local v1    # "currentSampleNo":I
    .end local v9    # "i":I
    .end local v13    # "size":J
    .end local v15    # "saizSaioPair":Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;
    .end local v16    # "saio":Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;
    .end local v22    # "offset":J
    .end local v24    # "chunkOffsetBox":Lcom/coremedia/iso/boxes/ChunkOffsetBox;
    .restart local v3    # "chunkOffsetBox":Lcom/coremedia/iso/boxes/ChunkOffsetBox;
    .local v5, "saizSaioPair":Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl$FindSaioSaizPair;
    .local v6, "saio":Lcom/mp4parser/iso14496/part12/SampleAuxiliaryInformationOffsetsBox;
    :cond_2b0
    move-object/from16 v24, v3

    .end local v3    # "chunkOffsetBox":Lcom/coremedia/iso/boxes/ChunkOffsetBox;
    .restart local v24    # "chunkOffsetBox":Lcom/coremedia/iso/boxes/ChunkOffsetBox;
    new-instance v1, Ljava/lang/RuntimeException;

    const-string v3, "Number of saio offsets must be either 1 or number of chunks"

    invoke-direct {v1, v3}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V

    goto :goto_2bb

    :goto_2ba
    throw v1

    :goto_2bb
    goto :goto_2ba
.end method

.method private parseCencAuxDataFormat(ILjava/nio/ByteBuffer;J)Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat;
    .registers 12
    .param p1, "ivSize"    # I
    .param p2, "chunksCencSampleAuxData"    # Ljava/nio/ByteBuffer;
    .param p3, "auxInfoSize"    # J

    .line 166
    new-instance v0, Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat;

    invoke-direct {v0}, Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat;-><init>()V

    .line 167
    .local v0, "cadf":Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat;
    const-wide/16 v1, 0x0

    cmp-long v3, p3, v1

    if-lez v3, :cond_3b

    .line 168
    new-array v1, p1, [B

    iput-object v1, v0, Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat;->iv:[B

    .line 169
    iget-object v1, v0, Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat;->iv:[B

    invoke-virtual {p2, v1}, Ljava/nio/ByteBuffer;->get([B)Ljava/nio/ByteBuffer;

    .line 170
    int-to-long v1, p1

    cmp-long v3, p3, v1

    if-lez v3, :cond_3b

    .line 171
    invoke-static {p2}, Lcom/coremedia/iso/IsoTypeReader;->readUInt16(Ljava/nio/ByteBuffer;)I

    move-result v1

    .line 172
    .local v1, "numOfPairs":I
    new-array v2, v1, [Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat$Pair;

    iput-object v2, v0, Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat;->pairs:[Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat$Pair;

    .line 173
    const/4 v2, 0x0

    .local v2, "i":I
    :goto_22
    iget-object v3, v0, Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat;->pairs:[Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat$Pair;

    array-length v3, v3

    if-lt v2, v3, :cond_28

    goto :goto_3b

    .line 174
    :cond_28
    iget-object v3, v0, Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat;->pairs:[Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat$Pair;

    .line 175
    invoke-static {p2}, Lcom/coremedia/iso/IsoTypeReader;->readUInt16(Ljava/nio/ByteBuffer;)I

    move-result v4

    .line 176
    invoke-static {p2}, Lcom/coremedia/iso/IsoTypeReader;->readUInt32(Ljava/nio/ByteBuffer;)J

    move-result-wide v5

    .line 174
    invoke-virtual {v0, v4, v5, v6}, Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat;->createPair(IJ)Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat$Pair;

    move-result-object v4

    aput-object v4, v3, v2

    .line 173
    add-int/lit8 v2, v2, 0x1

    goto :goto_22

    .line 180
    .end local v1    # "numOfPairs":I
    .end local v2    # "i":I
    :cond_3b
    :goto_3b
    return-object v0
.end method


# virtual methods
.method public getDefaultKeyId()Ljava/util/UUID;
    .registers 2

    .line 184
    iget-object v0, p0, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl;->defaultKeyId:Ljava/util/UUID;

    return-object v0
.end method

.method public getName()Ljava/lang/String;
    .registers 3

    .line 204
    new-instance v0, Ljava/lang/StringBuilder;

    const-string v1, "enc("

    invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-super {p0}, Lcom/googlecode/mp4parser/authoring/Mp4TrackImpl;->getName()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const-string v1, ")"

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method

.method public getSampleEncryptionEntries()Ljava/util/List;
    .registers 2
    .annotation system Ldalvik/annotation/Signature;
        value = {
            "()",
            "Ljava/util/List<",
            "Lcom/mp4parser/iso23001/part7/CencSampleAuxiliaryDataFormat;",
            ">;"
        }
    .end annotation

    .line 192
    iget-object v0, p0, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl;->sampleEncryptionEntries:Ljava/util/List;

    return-object v0
.end method

.method public hasSubSampleEncryption()Z
    .registers 2

    .line 188
    const/4 v0, 0x0

    return v0
.end method

.method public toString()Ljava/lang/String;
    .registers 3

    .line 197
    new-instance v0, Ljava/lang/StringBuilder;

    const-string v1, "CencMp4TrackImpl{handler=\'"

    invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    .line 198
    invoke-virtual {p0}, Lcom/googlecode/mp4parser/authoring/CencMp4TrackImplImpl;->getHandler()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    const/16 v1, 0x27

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    .line 199
    const/16 v1, 0x7d

    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(C)Ljava/lang/StringBuilder;

    .line 197
    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v0

    return-object v0
.end method