public final class android.media.MediaCodecInfo$AudioCapabilities
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: android.media.MediaCodecInfo$AudioCapabilities
  super_class: java.lang.Object
{
  private static final java.lang.String TAG;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "AudioCapabilities"

  private android.media.MediaCodecInfo$CodecCapabilities mParent;
    descriptor: Landroid/media/MediaCodecInfo$CodecCapabilities;
    flags: (0x0002) ACC_PRIVATE

  private android.util.Range<java.lang.Integer> mBitrateRange;
    descriptor: Landroid/util/Range;
    flags: (0x0002) ACC_PRIVATE
    Signature: Landroid/util/Range<Ljava/lang/Integer;>;

  private int[] mSampleRates;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private android.util.Range<java.lang.Integer>[] mSampleRateRanges;
    descriptor: [Landroid/util/Range;
    flags: (0x0002) ACC_PRIVATE
    Signature: [Landroid/util/Range<Ljava/lang/Integer;>;

  private int mMaxInputChannelCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private static final int MAX_INPUT_CHANNEL_COUNT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 30

  public android.util.Range<java.lang.Integer> getBitrateRange();
    descriptor: ()Landroid/util/Range;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaCodecInfo$AudioCapabilities this
         0: .line 964
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mBitrateRange:Landroid/util/Range;
            areturn
        end local 0 // android.media.MediaCodecInfo$AudioCapabilities this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaCodecInfo$AudioCapabilities;
    Signature: ()Landroid/util/Range<Ljava/lang/Integer;>;

  public int[] getSupportedSampleRates();
    descriptor: ()[I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.MediaCodecInfo$AudioCapabilities this
         0: .line 973
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRates:[I
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRates:[I
            arraylength
            invokestatic java.util.Arrays.copyOf:([II)[I
            areturn
        end local 0 // android.media.MediaCodecInfo$AudioCapabilities this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaCodecInfo$AudioCapabilities;

  public android.util.Range<java.lang.Integer>[] getSupportedSampleRateRanges();
    descriptor: ()[Landroid/util/Range;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // android.media.MediaCodecInfo$AudioCapabilities this
         0: .line 982
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRateRanges:[Landroid/util/Range;
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRateRanges:[Landroid/util/Range;
            arraylength
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast android.util.Range[]
            areturn
        end local 0 // android.media.MediaCodecInfo$AudioCapabilities this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaCodecInfo$AudioCapabilities;
    Signature: ()[Landroid/util/Range<Ljava/lang/Integer;>;

  public int getMaxInputChannelCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaCodecInfo$AudioCapabilities this
         0: .line 990
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mMaxInputChannelCount:I
            ireturn
        end local 0 // android.media.MediaCodecInfo$AudioCapabilities this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaCodecInfo$AudioCapabilities;

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.MediaCodecInfo$AudioCapabilities this
         0: .line 994
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // android.media.MediaCodecInfo$AudioCapabilities this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/MediaCodecInfo$AudioCapabilities;

  public static android.media.MediaCodecInfo$AudioCapabilities create(android.media.MediaFormat, android.media.MediaCodecInfo$CodecCapabilities);
    descriptor: (Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)Landroid/media/MediaCodecInfo$AudioCapabilities;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // android.media.MediaFormat info
        start local 1 // android.media.MediaCodecInfo$CodecCapabilities parent
         0: .line 999
            new android.media.MediaCodecInfo$AudioCapabilities
            dup
            invokespecial android.media.MediaCodecInfo$AudioCapabilities.<init>:()V
            astore 2 /* caps */
        start local 2 // android.media.MediaCodecInfo$AudioCapabilities caps
         1: .line 1000
            aload 2 /* caps */
            aload 0 /* info */
            aload 1 /* parent */
            invokevirtual android.media.MediaCodecInfo$AudioCapabilities.init:(Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)V
         2: .line 1001
            aload 2 /* caps */
            areturn
        end local 2 // android.media.MediaCodecInfo$AudioCapabilities caps
        end local 1 // android.media.MediaCodecInfo$CodecCapabilities parent
        end local 0 // android.media.MediaFormat info
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    info  Landroid/media/MediaFormat;
            0    3     1  parent  Landroid/media/MediaCodecInfo$CodecCapabilities;
            1    3     2    caps  Landroid/media/MediaCodecInfo$AudioCapabilities;
    MethodParameters:
        Name  Flags
      info    
      parent  

  private void init(android.media.MediaFormat, android.media.MediaCodecInfo$CodecCapabilities);
    descriptor: (Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // android.media.MediaCodecInfo$AudioCapabilities this
        start local 1 // android.media.MediaFormat info
        start local 2 // android.media.MediaCodecInfo$CodecCapabilities parent
         0: .line 1005
            aload 0 /* this */
            aload 2 /* parent */
            putfield android.media.MediaCodecInfo$AudioCapabilities.mParent:Landroid/media/MediaCodecInfo$CodecCapabilities;
         1: .line 1006
            aload 0 /* this */
            invokevirtual android.media.MediaCodecInfo$AudioCapabilities.initWithPlatformLimits:()V
         2: .line 1007
            aload 0 /* this */
            invokevirtual android.media.MediaCodecInfo$AudioCapabilities.applyLevelLimits:()V
         3: .line 1008
            aload 0 /* this */
            aload 1 /* info */
            invokevirtual android.media.MediaCodecInfo$AudioCapabilities.parseFromInfo:(Landroid/media/MediaFormat;)V
         4: .line 1009
            return
        end local 2 // android.media.MediaCodecInfo$CodecCapabilities parent
        end local 1 // android.media.MediaFormat info
        end local 0 // android.media.MediaCodecInfo$AudioCapabilities this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Landroid/media/MediaCodecInfo$AudioCapabilities;
            0    5     1    info  Landroid/media/MediaFormat;
            0    5     2  parent  Landroid/media/MediaCodecInfo$CodecCapabilities;
    MethodParameters:
        Name  Flags
      info    
      parent  

  private void initWithPlatformLimits();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // android.media.MediaCodecInfo$AudioCapabilities this
         0: .line 1012
            aload 0 /* this */
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc 2147483647
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            putfield android.media.MediaCodecInfo$AudioCapabilities.mBitrateRange:Landroid/util/Range;
         1: .line 1013
            aload 0 /* this */
            bipush 30
            putfield android.media.MediaCodecInfo$AudioCapabilities.mMaxInputChannelCount:I
         2: .line 1015
            aload 0 /* this */
            iconst_1
            anewarray android.util.Range
            dup
            iconst_0
            sipush 8000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc 96000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            aastore
            putfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRateRanges:[Landroid/util/Range;
         3: .line 1016
            aload 0 /* this */
            aconst_null
            putfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRates:[I
         4: .line 1017
            return
        end local 0 // android.media.MediaCodecInfo$AudioCapabilities this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Landroid/media/MediaCodecInfo$AudioCapabilities;

  private boolean supports(java.lang.Integer, java.lang.Integer);
    descriptor: (Ljava/lang/Integer;Ljava/lang/Integer;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // android.media.MediaCodecInfo$AudioCapabilities this
        start local 1 // java.lang.Integer sampleRate
        start local 2 // java.lang.Integer inputChannels
         0: .line 1021
            aload 2 /* inputChannels */
            ifnull 3
         1: .line 1022
            aload 2 /* inputChannels */
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            if_icmplt 2
            aload 2 /* inputChannels */
            invokevirtual java.lang.Integer.intValue:()I
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mMaxInputChannelCount:I
            if_icmple 3
         2: .line 1023
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         3: .line 1025
      StackMap locals:
      StackMap stack:
            aload 1 /* sampleRate */
            ifnull 8
         4: .line 1027
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRateRanges:[Landroid/util/Range;
            aload 1 /* sampleRate */
         5: .line 1026
            invokestatic android.media.Utils.binarySearchDistinctRanges:([Landroid/util/Range;Ljava/lang/Comparable;)I
            istore 3 /* ix */
        start local 3 // int ix
         6: .line 1028
            iload 3 /* ix */
            ifge 8
         7: .line 1029
            iconst_0
            ireturn
        end local 3 // int ix
         8: .line 1032
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // java.lang.Integer inputChannels
        end local 1 // java.lang.Integer sampleRate
        end local 0 // android.media.MediaCodecInfo$AudioCapabilities this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Landroid/media/MediaCodecInfo$AudioCapabilities;
            0    9     1     sampleRate  Ljava/lang/Integer;
            0    9     2  inputChannels  Ljava/lang/Integer;
            6    8     3             ix  I
    MethodParameters:
               Name  Flags
      sampleRate     
      inputChannels  

  public boolean isSampleRateSupported(int);
    descriptor: (I)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.media.MediaCodecInfo$AudioCapabilities this
        start local 1 // int sampleRate
         0: .line 1039
            aload 0 /* this */
            iload 1 /* sampleRate */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aconst_null
            invokevirtual android.media.MediaCodecInfo$AudioCapabilities.supports:(Ljava/lang/Integer;Ljava/lang/Integer;)Z
            ireturn
        end local 1 // int sampleRate
        end local 0 // android.media.MediaCodecInfo$AudioCapabilities this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Landroid/media/MediaCodecInfo$AudioCapabilities;
            0    1     1  sampleRate  I
    MethodParameters:
            Name  Flags
      sampleRate  

  private void limitSampleRates(int[]);
    descriptor: ([I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // android.media.MediaCodecInfo$AudioCapabilities this
        start local 1 // int[] rates
         0: .line 1044
            aload 1 /* rates */
            invokestatic java.util.Arrays.sort:([I)V
         1: .line 1045
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* ranges */
        start local 2 // java.util.ArrayList ranges
         2: .line 1046
            aload 1 /* rates */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: android.media.MediaCodecInfo$AudioCapabilities int[] java.util.ArrayList top int int int[]
      StackMap stack:
         3: aload 6
            iload 4
            iaload
            istore 3 /* rate */
        start local 3 // int rate
         4: .line 1047
            aload 0 /* this */
            iload 3 /* rate */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aconst_null
            invokevirtual android.media.MediaCodecInfo$AudioCapabilities.supports:(Ljava/lang/Integer;Ljava/lang/Integer;)Z
            ifeq 6
         5: .line 1048
            aload 2 /* ranges */
            iload 3 /* rate */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iload 3 /* rate */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // int rate
         6: .line 1046
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 3
         8: .line 1051
            aload 0 /* this */
            aload 2 /* ranges */
            aload 2 /* ranges */
            invokevirtual java.util.ArrayList.size:()I
            anewarray android.util.Range
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast android.util.Range[]
            putfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRateRanges:[Landroid/util/Range;
         9: .line 1052
            aload 0 /* this */
            invokevirtual android.media.MediaCodecInfo$AudioCapabilities.createDiscreteSampleRates:()V
        10: .line 1053
            return
        end local 2 // java.util.ArrayList ranges
        end local 1 // int[] rates
        end local 0 // android.media.MediaCodecInfo$AudioCapabilities this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Landroid/media/MediaCodecInfo$AudioCapabilities;
            0   11     1   rates  [I
            2   11     2  ranges  Ljava/util/ArrayList<Landroid/util/Range<Ljava/lang/Integer;>;>;
            4    6     3    rate  I
    MethodParameters:
       Name  Flags
      rates  

  private void createDiscreteSampleRates();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // android.media.MediaCodecInfo$AudioCapabilities this
         0: .line 1056
            aload 0 /* this */
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRateRanges:[Landroid/util/Range;
            arraylength
            newarray 10
            putfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRates:[I
         1: .line 1057
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 5
         3: .line 1058
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRates:[I
            iload 1 /* i */
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRateRanges:[Landroid/util/Range;
            iload 1 /* i */
            aaload
            invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iastore
         4: .line 1057
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 1 /* i */
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRateRanges:[Landroid/util/Range;
            arraylength
            if_icmplt 3
        end local 1 // int i
         6: .line 1060
            return
        end local 0 // android.media.MediaCodecInfo$AudioCapabilities this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/media/MediaCodecInfo$AudioCapabilities;
            2    6     1     i  I

  private void limitSampleRates(android.util.Range<java.lang.Integer>[]);
    descriptor: ([Landroid/util/Range;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // android.media.MediaCodecInfo$AudioCapabilities this
        start local 1 // android.util.Range[] rateRanges
         0: .line 1064
            aload 1 /* rateRanges */
            invokestatic android.media.Utils.sortDistinctRanges:([Landroid/util/Range;)V
         1: .line 1065
            aload 0 /* this */
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRateRanges:[Landroid/util/Range;
            aload 1 /* rateRanges */
            invokestatic android.media.Utils.intersectSortedDistinctRanges:([Landroid/util/Range;[Landroid/util/Range;)[Landroid/util/Range;
            putfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRateRanges:[Landroid/util/Range;
         2: .line 1068
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRateRanges:[Landroid/util/Range;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 8
      StackMap locals: android.media.MediaCodecInfo$AudioCapabilities android.util.Range[] top int int android.util.Range[]
      StackMap stack:
         3: aload 5
            iload 3
            aaload
            astore 2 /* range */
        start local 2 // android.util.Range range
         4: .line 1069
            aload 2 /* range */
            invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
            checkcast java.lang.Integer
            aload 2 /* range */
            invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
            ifne 7
         5: .line 1070
            aload 0 /* this */
            aconst_null
            putfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRates:[I
         6: .line 1071
            return
        end local 2 // android.util.Range range
         7: .line 1068
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         8: iload 3
            iload 4
            if_icmplt 3
         9: .line 1074
            aload 0 /* this */
            invokevirtual android.media.MediaCodecInfo$AudioCapabilities.createDiscreteSampleRates:()V
        10: .line 1075
            return
        end local 1 // android.util.Range[] rateRanges
        end local 0 // android.media.MediaCodecInfo$AudioCapabilities this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Landroid/media/MediaCodecInfo$AudioCapabilities;
            0   11     1  rateRanges  [Landroid/util/Range;
            4    7     2       range  Landroid/util/Range<Ljava/lang/Integer;>;
    Signature: ([Landroid/util/Range<Ljava/lang/Integer;>;)V
    MethodParameters:
            Name  Flags
      rateRanges  

  private void applyLevelLimits();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // android.media.MediaCodecInfo$AudioCapabilities this
         0: .line 1078
            aconst_null
            astore 1 /* sampleRates */
        start local 1 // int[] sampleRates
         1: .line 1079
            aconst_null
            astore 2 /* sampleRateRange */
        start local 2 // android.util.Range sampleRateRange
         2: aconst_null
            astore 3 /* bitRates */
        start local 3 // android.util.Range bitRates
         3: .line 1080
            bipush 30
            istore 4 /* maxChannels */
        start local 4 // int maxChannels
         4: .line 1081
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mParent:Landroid/media/MediaCodecInfo$CodecCapabilities;
            invokevirtual android.media.MediaCodecInfo$CodecCapabilities.getMimeType:()Ljava/lang/String;
            astore 5 /* mime */
        start local 5 // java.lang.String mime
         5: .line 1083
            aload 5 /* mime */
            ldc "audio/mpeg"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 14
         6: .line 1084
            bipush 9
            newarray 10
            dup
            iconst_0
         7: .line 1085
            sipush 8000
            iastore
            dup
            iconst_1
            sipush 11025
            iastore
            dup
            iconst_2
            sipush 12000
            iastore
            dup
            iconst_3
         8: .line 1086
            sipush 16000
            iastore
            dup
            iconst_4
            sipush 22050
            iastore
            dup
            iconst_5
            sipush 24000
            iastore
            dup
            bipush 6
         9: .line 1087
            sipush 32000
            iastore
            dup
            bipush 7
            ldc 44100
            iastore
            dup
            bipush 8
            ldc 48000
            iastore
        10: .line 1084
            astore 1 /* sampleRates */
        11: .line 1088
            sipush 8000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc 320000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            astore 3 /* bitRates */
        12: .line 1089
            iconst_2
            istore 4 /* maxChannels */
        13: .line 1090
            goto 72
      StackMap locals: android.media.MediaCodecInfo$AudioCapabilities int[] android.util.Range android.util.Range int java.lang.String
      StackMap stack:
        14: aload 5 /* mime */
            ldc "audio/3gpp"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 19
        15: .line 1091
            iconst_1
            newarray 10
            dup
            iconst_0
            sipush 8000
            iastore
            astore 1 /* sampleRates */
        16: .line 1092
            sipush 4750
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            sipush 12200
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            astore 3 /* bitRates */
        17: .line 1093
            iconst_1
            istore 4 /* maxChannels */
        18: .line 1094
            goto 72
      StackMap locals:
      StackMap stack:
        19: aload 5 /* mime */
            ldc "audio/amr-wb"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 24
        20: .line 1095
            iconst_1
            newarray 10
            dup
            iconst_0
            sipush 16000
            iastore
            astore 1 /* sampleRates */
        21: .line 1096
            sipush 6600
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            sipush 23850
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            astore 3 /* bitRates */
        22: .line 1097
            iconst_1
            istore 4 /* maxChannels */
        23: .line 1098
            goto 72
      StackMap locals:
      StackMap stack:
        24: aload 5 /* mime */
            ldc "audio/mp4a-latm"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 35
        25: .line 1099
            bipush 13
            newarray 10
            dup
            iconst_0
        26: .line 1100
            sipush 7350
            iastore
            dup
            iconst_1
            sipush 8000
            iastore
            dup
            iconst_2
        27: .line 1101
            sipush 11025
            iastore
            dup
            iconst_3
            sipush 12000
            iastore
            dup
            iconst_4
            sipush 16000
            iastore
            dup
            iconst_5
        28: .line 1102
            sipush 22050
            iastore
            dup
            bipush 6
            sipush 24000
            iastore
            dup
            bipush 7
            sipush 32000
            iastore
            dup
            bipush 8
        29: .line 1103
            ldc 44100
            iastore
            dup
            bipush 9
            ldc 48000
            iastore
            dup
            bipush 10
            ldc 64000
            iastore
            dup
            bipush 11
        30: .line 1104
            ldc 88200
            iastore
            dup
            bipush 12
            ldc 96000
            iastore
        31: .line 1099
            astore 1 /* sampleRates */
        32: .line 1105
            sipush 8000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc 510000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            astore 3 /* bitRates */
        33: .line 1106
            bipush 48
            istore 4 /* maxChannels */
        34: .line 1107
            goto 72
      StackMap locals:
      StackMap stack:
        35: aload 5 /* mime */
            ldc "audio/vorbis"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 40
        36: .line 1108
            sipush 32000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc 500000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            astore 3 /* bitRates */
        37: .line 1109
            sipush 8000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc 192000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            astore 2 /* sampleRateRange */
        38: .line 1110
            sipush 255
            istore 4 /* maxChannels */
        39: .line 1111
            goto 72
      StackMap locals:
      StackMap stack:
        40: aload 5 /* mime */
            ldc "audio/opus"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 45
        41: .line 1112
            sipush 6000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc 510000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            astore 3 /* bitRates */
        42: .line 1113
            iconst_5
            newarray 10
            dup
            iconst_0
            sipush 8000
            iastore
            dup
            iconst_1
            sipush 12000
            iastore
            dup
            iconst_2
            sipush 16000
            iastore
            dup
            iconst_3
            sipush 24000
            iastore
            dup
            iconst_4
            ldc 48000
            iastore
            astore 1 /* sampleRates */
        43: .line 1114
            sipush 255
            istore 4 /* maxChannels */
        44: .line 1115
            goto 72
      StackMap locals:
      StackMap stack:
        45: aload 5 /* mime */
            ldc "audio/raw"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 50
        46: .line 1116
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc 96000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            astore 2 /* sampleRateRange */
        47: .line 1117
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc 10000000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            astore 3 /* bitRates */
        48: .line 1118
            getstatic android.media.AudioTrack.CHANNEL_COUNT_MAX:I
            istore 4 /* maxChannels */
        49: .line 1119
            goto 72
      StackMap locals:
      StackMap stack:
        50: aload 5 /* mime */
            ldc "audio/flac"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 54
        51: .line 1120
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc 655350
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            astore 2 /* sampleRateRange */
        52: .line 1122
            sipush 255
            istore 4 /* maxChannels */
        53: .line 1123
            goto 72
      StackMap locals:
      StackMap stack:
        54: aload 5 /* mime */
            ldc "audio/g711-alaw"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 56
        55: .line 1124
            aload 5 /* mime */
            ldc "audio/g711-mlaw"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 59
        56: .line 1125
      StackMap locals:
      StackMap stack:
            iconst_1
            newarray 10
            dup
            iconst_0
            sipush 8000
            iastore
            astore 1 /* sampleRates */
        57: .line 1126
            ldc 64000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc 64000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            astore 3 /* bitRates */
        58: .line 1128
            goto 72
      StackMap locals:
      StackMap stack:
        59: aload 5 /* mime */
            ldc "audio/gsm"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 64
        60: .line 1129
            iconst_1
            newarray 10
            dup
            iconst_0
            sipush 8000
            iastore
            astore 1 /* sampleRates */
        61: .line 1130
            sipush 13000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            sipush 13000
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
            astore 3 /* bitRates */
        62: .line 1131
            iconst_1
            istore 4 /* maxChannels */
        63: .line 1132
            goto 72
      StackMap locals:
      StackMap stack:
        64: aload 5 /* mime */
            ldc "audio/ac3"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 67
        65: .line 1133
            bipush 6
            istore 4 /* maxChannels */
        66: .line 1134
            goto 72
      StackMap locals:
      StackMap stack:
        67: aload 5 /* mime */
            ldc "audio/eac3"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 70
        68: .line 1135
            bipush 16
            istore 4 /* maxChannels */
        69: .line 1136
            goto 72
        70: .line 1137
      StackMap locals:
      StackMap stack:
            ldc "AudioCapabilities"
            new java.lang.StringBuilder
            dup
            ldc "Unsupported mime "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* mime */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        71: .line 1138
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mParent:Landroid/media/MediaCodecInfo$CodecCapabilities;
            dup
            getfield android.media.MediaCodecInfo$CodecCapabilities.mError:I
            iconst_2
            ior
            putfield android.media.MediaCodecInfo$CodecCapabilities.mError:I
        72: .line 1142
      StackMap locals:
      StackMap stack:
            aload 1 /* sampleRates */
            ifnull 75
        73: .line 1143
            aload 0 /* this */
            aload 1 /* sampleRates */
            invokevirtual android.media.MediaCodecInfo$AudioCapabilities.limitSampleRates:([I)V
        74: .line 1144
            goto 77
      StackMap locals:
      StackMap stack:
        75: aload 2 /* sampleRateRange */
            ifnull 77
        76: .line 1145
            aload 0 /* this */
            iconst_1
            anewarray android.util.Range
            dup
            iconst_0
            aload 2 /* sampleRateRange */
            aastore
            invokevirtual android.media.MediaCodecInfo$AudioCapabilities.limitSampleRates:([Landroid/util/Range;)V
        77: .line 1147
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* maxChannels */
            aload 3 /* bitRates */
            invokevirtual android.media.MediaCodecInfo$AudioCapabilities.applyLimits:(ILandroid/util/Range;)V
        78: .line 1148
            return
        end local 5 // java.lang.String mime
        end local 4 // int maxChannels
        end local 3 // android.util.Range bitRates
        end local 2 // android.util.Range sampleRateRange
        end local 1 // int[] sampleRates
        end local 0 // android.media.MediaCodecInfo$AudioCapabilities this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   79     0             this  Landroid/media/MediaCodecInfo$AudioCapabilities;
            1   79     1      sampleRates  [I
            2   79     2  sampleRateRange  Landroid/util/Range<Ljava/lang/Integer;>;
            3   79     3         bitRates  Landroid/util/Range<Ljava/lang/Integer;>;
            4   79     4      maxChannels  I
            5   79     5             mime  Ljava/lang/String;

  private void applyLimits(int, android.util.Range<java.lang.Integer>);
    descriptor: (ILandroid/util/Range;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // android.media.MediaCodecInfo$AudioCapabilities this
        start local 1 // int maxInputChannels
        start local 2 // android.util.Range bitRates
         0: .line 1151
            aload 0 /* this */
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mMaxInputChannelCount:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
         1: .line 1152
            iload 1 /* maxInputChannels */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual android.util.Range.clamp:(Ljava/lang/Comparable;)Ljava/lang/Comparable;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
         2: .line 1151
            putfield android.media.MediaCodecInfo$AudioCapabilities.mMaxInputChannelCount:I
         3: .line 1153
            aload 2 /* bitRates */
            ifnull 5
         4: .line 1154
            aload 0 /* this */
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mBitrateRange:Landroid/util/Range;
            aload 2 /* bitRates */
            invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
            putfield android.media.MediaCodecInfo$AudioCapabilities.mBitrateRange:Landroid/util/Range;
         5: .line 1156
      StackMap locals:
      StackMap stack:
            return
        end local 2 // android.util.Range bitRates
        end local 1 // int maxInputChannels
        end local 0 // android.media.MediaCodecInfo$AudioCapabilities this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Landroid/media/MediaCodecInfo$AudioCapabilities;
            0    6     1  maxInputChannels  I
            0    6     2          bitRates  Landroid/util/Range<Ljava/lang/Integer;>;
    Signature: (ILandroid/util/Range<Ljava/lang/Integer;>;)V
    MethodParameters:
                  Name  Flags
      maxInputChannels  
      bitRates          

  private void parseFromInfo(android.media.MediaFormat);
    descriptor: (Landroid/media/MediaFormat;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // android.media.MediaCodecInfo$AudioCapabilities this
        start local 1 // android.media.MediaFormat info
         0: .line 1159
            bipush 30
            istore 2 /* maxInputChannels */
        start local 2 // int maxInputChannels
         1: .line 1160
            getstatic android.media.MediaCodecInfo.POSITIVE_INTEGERS:Landroid/util/Range;
            astore 3 /* bitRates */
        start local 3 // android.util.Range bitRates
         2: .line 1162
            aload 1 /* info */
            ldc "sample-rate-ranges"
            invokevirtual android.media.MediaFormat.containsKey:(Ljava/lang/String;)Z
            ifeq 11
         3: .line 1163
            aload 1 /* info */
            ldc "sample-rate-ranges"
            invokevirtual android.media.MediaFormat.getString:(Ljava/lang/String;)Ljava/lang/String;
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* rateStrings */
        start local 4 // java.lang.String[] rateStrings
         4: .line 1164
            aload 4 /* rateStrings */
            arraylength
            anewarray android.util.Range
            astore 5 /* rateRanges */
        start local 5 // android.util.Range[] rateRanges
         5: .line 1165
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 9
         7: .line 1166
      StackMap locals: android.media.MediaCodecInfo$AudioCapabilities android.media.MediaFormat int android.util.Range java.lang.String[] android.util.Range[] int
      StackMap stack:
            aload 5 /* rateRanges */
            iload 6 /* i */
            aload 4 /* rateStrings */
            iload 6 /* i */
            aaload
            aconst_null
            invokestatic android.media.Utils.parseIntRange:(Ljava/lang/Object;Landroid/util/Range;)Landroid/util/Range;
            aastore
         8: .line 1165
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 6 /* i */
            aload 4 /* rateStrings */
            arraylength
            if_icmplt 7
        end local 6 // int i
        10: .line 1168
            aload 0 /* this */
            aload 5 /* rateRanges */
            invokevirtual android.media.MediaCodecInfo$AudioCapabilities.limitSampleRates:([Landroid/util/Range;)V
        end local 5 // android.util.Range[] rateRanges
        end local 4 // java.lang.String[] rateStrings
        11: .line 1170
      StackMap locals:
      StackMap stack:
            aload 1 /* info */
            ldc "max-channel-count"
            invokevirtual android.media.MediaFormat.containsKey:(Ljava/lang/String;)Z
            ifeq 15
        12: .line 1172
            aload 1 /* info */
            ldc "max-channel-count"
            invokevirtual android.media.MediaFormat.getString:(Ljava/lang/String;)Ljava/lang/String;
            iload 2 /* maxInputChannels */
        13: .line 1171
            invokestatic android.media.Utils.parseIntSafely:(Ljava/lang/Object;I)I
            istore 2 /* maxInputChannels */
        14: .line 1173
            goto 17
      StackMap locals:
      StackMap stack:
        15: aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mParent:Landroid/media/MediaCodecInfo$CodecCapabilities;
            getfield android.media.MediaCodecInfo$CodecCapabilities.mError:I
            iconst_2
            iand
            ifeq 17
        16: .line 1174
            iconst_0
            istore 2 /* maxInputChannels */
        17: .line 1176
      StackMap locals:
      StackMap stack:
            aload 1 /* info */
            ldc "bitrate-range"
            invokevirtual android.media.MediaFormat.containsKey:(Ljava/lang/String;)Z
            ifeq 21
        18: .line 1177
            aload 3 /* bitRates */
        19: .line 1178
            aload 1 /* info */
            ldc "bitrate-range"
            invokevirtual android.media.MediaFormat.getString:(Ljava/lang/String;)Ljava/lang/String;
            aload 3 /* bitRates */
            invokestatic android.media.Utils.parseIntRange:(Ljava/lang/Object;Landroid/util/Range;)Landroid/util/Range;
        20: .line 1177
            invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
            astore 3 /* bitRates */
        21: .line 1180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* maxInputChannels */
            aload 3 /* bitRates */
            invokevirtual android.media.MediaCodecInfo$AudioCapabilities.applyLimits:(ILandroid/util/Range;)V
        22: .line 1181
            return
        end local 3 // android.util.Range bitRates
        end local 2 // int maxInputChannels
        end local 1 // android.media.MediaFormat info
        end local 0 // android.media.MediaCodecInfo$AudioCapabilities this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   23     0              this  Landroid/media/MediaCodecInfo$AudioCapabilities;
            0   23     1              info  Landroid/media/MediaFormat;
            1   23     2  maxInputChannels  I
            2   23     3          bitRates  Landroid/util/Range<Ljava/lang/Integer;>;
            4   11     4       rateStrings  [Ljava/lang/String;
            5   11     5        rateRanges  [Landroid/util/Range;
            6   10     6                 i  I
    MethodParameters:
      Name  Flags
      info  

  public void getDefaultFormat(android.media.MediaFormat);
    descriptor: (Landroid/media/MediaFormat;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // android.media.MediaCodecInfo$AudioCapabilities this
        start local 1 // android.media.MediaFormat format
         0: .line 1186
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mBitrateRange:Landroid/util/Range;
            invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
            checkcast java.lang.Integer
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mBitrateRange:Landroid/util/Range;
            invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1187
            aload 1 /* format */
            ldc "bitrate"
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mBitrateRange:Landroid/util/Range;
            invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual android.media.MediaFormat.setInteger:(Ljava/lang/String;I)V
         2: .line 1189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mMaxInputChannelCount:I
            iconst_1
            if_icmpne 4
         3: .line 1191
            aload 1 /* format */
            ldc "channel-count"
            iconst_1
            invokevirtual android.media.MediaFormat.setInteger:(Ljava/lang/String;I)V
         4: .line 1193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRates:[I
            ifnull 6
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRates:[I
            arraylength
            iconst_1
            if_icmpne 6
         5: .line 1194
            aload 1 /* format */
            ldc "sample-rate"
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mSampleRates:[I
            iconst_0
            iaload
            invokevirtual android.media.MediaFormat.setInteger:(Ljava/lang/String;I)V
         6: .line 1196
      StackMap locals:
      StackMap stack:
            return
        end local 1 // android.media.MediaFormat format
        end local 0 // android.media.MediaCodecInfo$AudioCapabilities this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Landroid/media/MediaCodecInfo$AudioCapabilities;
            0    7     1  format  Landroid/media/MediaFormat;
    MethodParameters:
        Name  Flags
      format  

  public boolean supportsFormat(android.media.MediaFormat);
    descriptor: (Landroid/media/MediaFormat;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // android.media.MediaCodecInfo$AudioCapabilities this
        start local 1 // android.media.MediaFormat format
         0: .line 1200
            aload 1 /* format */
            invokevirtual android.media.MediaFormat.getMap:()Ljava/util/Map;
            astore 2 /* map */
        start local 2 // java.util.Map map
         1: .line 1201
            aload 2 /* map */
            ldc "sample-rate"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 3 /* sampleRate */
        start local 3 // java.lang.Integer sampleRate
         2: .line 1202
            aload 2 /* map */
            ldc "channel-count"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 4 /* channels */
        start local 4 // java.lang.Integer channels
         3: .line 1204
            aload 0 /* this */
            aload 3 /* sampleRate */
            aload 4 /* channels */
            invokevirtual android.media.MediaCodecInfo$AudioCapabilities.supports:(Ljava/lang/Integer;Ljava/lang/Integer;)Z
            ifne 5
         4: .line 1205
            iconst_0
            ireturn
         5: .line 1208
      StackMap locals: java.util.Map java.lang.Integer java.lang.Integer
      StackMap stack:
            aload 0 /* this */
            getfield android.media.MediaCodecInfo$AudioCapabilities.mBitrateRange:Landroid/util/Range;
            aload 1 /* format */
            invokestatic android.media.MediaCodecInfo$CodecCapabilities.supportsBitrate:(Landroid/util/Range;Landroid/media/MediaFormat;)Z
            ifne 7
         6: .line 1209
            iconst_0
            ireturn
         7: .line 1215
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // java.lang.Integer channels
        end local 3 // java.lang.Integer sampleRate
        end local 2 // java.util.Map map
        end local 1 // android.media.MediaFormat format
        end local 0 // android.media.MediaCodecInfo$AudioCapabilities this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Landroid/media/MediaCodecInfo$AudioCapabilities;
            0    8     1      format  Landroid/media/MediaFormat;
            1    8     2         map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
            2    8     3  sampleRate  Ljava/lang/Integer;
            3    8     4    channels  Ljava/lang/Integer;
    MethodParameters:
        Name  Flags
      format  
}
SourceFile: "MediaCodecInfo.java"
NestHost: android.media.MediaCodecInfo
InnerClasses:
  public final AudioCapabilities = android.media.MediaCodecInfo$AudioCapabilities of android.media.MediaCodecInfo
  public final CodecCapabilities = android.media.MediaCodecInfo$CodecCapabilities of android.media.MediaCodecInfo