public class android.media.CamcorderProfile
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: android.media.CamcorderProfile
  super_class: java.lang.Object
{
  public static final int QUALITY_LOW;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int QUALITY_HIGH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int QUALITY_QCIF;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int QUALITY_CIF;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int QUALITY_480P;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int QUALITY_720P;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  public static final int QUALITY_1080P;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  public static final int QUALITY_QVGA;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 7

  public static final int QUALITY_2160P;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

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

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

  public static final int QUALITY_TIME_LAPSE_LOW;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1000

  public static final int QUALITY_TIME_LAPSE_HIGH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1001

  public static final int QUALITY_TIME_LAPSE_QCIF;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1002

  public static final int QUALITY_TIME_LAPSE_CIF;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1003

  public static final int QUALITY_TIME_LAPSE_480P;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1004

  public static final int QUALITY_TIME_LAPSE_720P;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1005

  public static final int QUALITY_TIME_LAPSE_1080P;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1006

  public static final int QUALITY_TIME_LAPSE_QVGA;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1007

  public static final int QUALITY_TIME_LAPSE_2160P;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1008

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

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

  public static final int QUALITY_HIGH_SPEED_LOW;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2000

  public static final int QUALITY_HIGH_SPEED_HIGH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2001

  public static final int QUALITY_HIGH_SPEED_480P;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2002

  public static final int QUALITY_HIGH_SPEED_720P;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2003

  public static final int QUALITY_HIGH_SPEED_1080P;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2004

  public static final int QUALITY_HIGH_SPEED_2160P;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2005

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

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

  public int duration;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int quality;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int fileFormat;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int videoCodec;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int videoBitRate;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int videoFrameRate;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int videoFrameWidth;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int videoFrameHeight;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int audioCodec;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int audioBitRate;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int audioSampleRate;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  public int audioChannels;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 465
            ldc "media_jni"
            invokestatic java.lang.System.loadLibrary:(Ljava/lang/String;)V
         1: .line 466
            invokestatic android.media.CamcorderProfile.native_init:()V
         2: .line 467
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static android.media.CamcorderProfile get(int);
    descriptor: (I)Landroid/media/CamcorderProfile;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // int quality
         0: .line 326
            invokestatic android.hardware.Camera.getNumberOfCameras:()I
            istore 1 /* numberOfCameras */
        start local 1 // int numberOfCameras
         1: .line 327
            new android.hardware.Camera$CameraInfo
            dup
            invokespecial android.hardware.Camera$CameraInfo.<init>:()V
            astore 2 /* cameraInfo */
        start local 2 // android.hardware.Camera$CameraInfo cameraInfo
         2: .line 328
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 329
      StackMap locals: int android.hardware.Camera$CameraInfo int
      StackMap stack:
            iload 3 /* i */
            aload 2 /* cameraInfo */
            invokestatic android.hardware.Camera.getCameraInfo:(ILandroid/hardware/Camera$CameraInfo;)V
         5: .line 330
            aload 2 /* cameraInfo */
            getfield android.hardware.Camera$CameraInfo.facing:I
            ifne 7
         6: .line 331
            iload 3 /* i */
            iload 0 /* quality */
            invokestatic android.media.CamcorderProfile.get:(II)Landroid/media/CamcorderProfile;
            areturn
         7: .line 328
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 1 /* numberOfCameras */
            if_icmplt 4
        end local 3 // int i
         9: .line 334
            aconst_null
            areturn
        end local 2 // android.hardware.Camera$CameraInfo cameraInfo
        end local 1 // int numberOfCameras
        end local 0 // int quality
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0          quality  I
            1   10     1  numberOfCameras  I
            2   10     2       cameraInfo  Landroid/hardware/Camera$CameraInfo;
            3    9     3                i  I
    MethodParameters:
         Name  Flags
      quality  

  public static android.media.CamcorderProfile get(int, int);
    descriptor: (II)Landroid/media/CamcorderProfile;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // int cameraId
        start local 1 // int quality
         0: .line 389
            iload 1 /* quality */
            iflt 2
         1: .line 390
            iload 1 /* quality */
            bipush 8
            if_icmple 8
         2: .line 391
      StackMap locals:
      StackMap stack:
            iload 1 /* quality */
            sipush 1000
            if_icmplt 4
         3: .line 392
            iload 1 /* quality */
            sipush 1008
            if_icmple 8
         4: .line 393
      StackMap locals:
      StackMap stack:
            iload 1 /* quality */
            sipush 2000
            if_icmplt 6
         5: .line 394
            iload 1 /* quality */
            sipush 2005
            if_icmple 8
         6: .line 395
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "Unsupported quality level: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* quality */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* errMessage */
        start local 2 // java.lang.String errMessage
         7: .line 396
            new java.lang.IllegalArgumentException
            dup
            aload 2 /* errMessage */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String errMessage
         8: .line 398
      StackMap locals:
      StackMap stack:
            iload 0 /* cameraId */
            iload 1 /* quality */
            invokestatic android.media.CamcorderProfile.native_get_camcorder_profile:(II)Landroid/media/CamcorderProfile;
            areturn
        end local 1 // int quality
        end local 0 // int cameraId
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0    cameraId  I
            0    9     1     quality  I
            7    8     2  errMessage  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      cameraId  
      quality   

  public static boolean hasProfile(int);
    descriptor: (I)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // int quality
         0: .line 425
            invokestatic android.hardware.Camera.getNumberOfCameras:()I
            istore 1 /* numberOfCameras */
        start local 1 // int numberOfCameras
         1: .line 426
            new android.hardware.Camera$CameraInfo
            dup
            invokespecial android.hardware.Camera$CameraInfo.<init>:()V
            astore 2 /* cameraInfo */
        start local 2 // android.hardware.Camera$CameraInfo cameraInfo
         2: .line 427
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 428
      StackMap locals: int android.hardware.Camera$CameraInfo int
      StackMap stack:
            iload 3 /* i */
            aload 2 /* cameraInfo */
            invokestatic android.hardware.Camera.getCameraInfo:(ILandroid/hardware/Camera$CameraInfo;)V
         5: .line 429
            aload 2 /* cameraInfo */
            getfield android.hardware.Camera$CameraInfo.facing:I
            ifne 7
         6: .line 430
            iload 3 /* i */
            iload 0 /* quality */
            invokestatic android.media.CamcorderProfile.hasProfile:(II)Z
            ireturn
         7: .line 427
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 1 /* numberOfCameras */
            if_icmplt 4
        end local 3 // int i
         9: .line 433
            iconst_0
            ireturn
        end local 2 // android.hardware.Camera$CameraInfo cameraInfo
        end local 1 // int numberOfCameras
        end local 0 // int quality
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0          quality  I
            1   10     1  numberOfCameras  I
            2   10     2       cameraInfo  Landroid/hardware/Camera$CameraInfo;
            3    9     3                i  I
    MethodParameters:
         Name  Flags
      quality  

  public static boolean hasProfile(int, int);
    descriptor: (II)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int cameraId
        start local 1 // int quality
         0: .line 461
            iload 0 /* cameraId */
            iload 1 /* quality */
            invokestatic android.media.CamcorderProfile.native_has_camcorder_profile:(II)Z
            ireturn
        end local 1 // int quality
        end local 0 // int cameraId
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  cameraId  I
            0    1     1   quality  I
    MethodParameters:
          Name  Flags
      cameraId  
      quality   

  private void <init>(int, int, int, int, int, int, int, int, int, int, int, int);
    descriptor: (IIIIIIIIIIII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=13, args_size=13
        start local 0 // android.media.CamcorderProfile this
        start local 1 // int duration
        start local 2 // int quality
        start local 3 // int fileFormat
        start local 4 // int videoCodec
        start local 5 // int videoBitRate
        start local 6 // int videoFrameRate
        start local 7 // int videoWidth
        start local 8 // int videoHeight
        start local 9 // int audioCodec
        start local 10 // int audioBitRate
        start local 11 // int audioSampleRate
        start local 12 // int audioChannels
         0: .line 470
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 483
            aload 0 /* this */
            iload 1 /* duration */
            putfield android.media.CamcorderProfile.duration:I
         2: .line 484
            aload 0 /* this */
            iload 2 /* quality */
            putfield android.media.CamcorderProfile.quality:I
         3: .line 485
            aload 0 /* this */
            iload 3 /* fileFormat */
            putfield android.media.CamcorderProfile.fileFormat:I
         4: .line 486
            aload 0 /* this */
            iload 4 /* videoCodec */
            putfield android.media.CamcorderProfile.videoCodec:I
         5: .line 487
            aload 0 /* this */
            iload 5 /* videoBitRate */
            putfield android.media.CamcorderProfile.videoBitRate:I
         6: .line 488
            aload 0 /* this */
            iload 6 /* videoFrameRate */
            putfield android.media.CamcorderProfile.videoFrameRate:I
         7: .line 489
            aload 0 /* this */
            iload 7 /* videoWidth */
            putfield android.media.CamcorderProfile.videoFrameWidth:I
         8: .line 490
            aload 0 /* this */
            iload 8 /* videoHeight */
            putfield android.media.CamcorderProfile.videoFrameHeight:I
         9: .line 491
            aload 0 /* this */
            iload 9 /* audioCodec */
            putfield android.media.CamcorderProfile.audioCodec:I
        10: .line 492
            aload 0 /* this */
            iload 10 /* audioBitRate */
            putfield android.media.CamcorderProfile.audioBitRate:I
        11: .line 493
            aload 0 /* this */
            iload 11 /* audioSampleRate */
            putfield android.media.CamcorderProfile.audioSampleRate:I
        12: .line 494
            aload 0 /* this */
            iload 12 /* audioChannels */
            putfield android.media.CamcorderProfile.audioChannels:I
        13: .line 495
            return
        end local 12 // int audioChannels
        end local 11 // int audioSampleRate
        end local 10 // int audioBitRate
        end local 9 // int audioCodec
        end local 8 // int videoHeight
        end local 7 // int videoWidth
        end local 6 // int videoFrameRate
        end local 5 // int videoBitRate
        end local 4 // int videoCodec
        end local 3 // int fileFormat
        end local 2 // int quality
        end local 1 // int duration
        end local 0 // android.media.CamcorderProfile this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Landroid/media/CamcorderProfile;
            0   14     1         duration  I
            0   14     2          quality  I
            0   14     3       fileFormat  I
            0   14     4       videoCodec  I
            0   14     5     videoBitRate  I
            0   14     6   videoFrameRate  I
            0   14     7       videoWidth  I
            0   14     8      videoHeight  I
            0   14     9       audioCodec  I
            0   14    10     audioBitRate  I
            0   14    11  audioSampleRate  I
            0   14    12    audioChannels  I
    MethodParameters:
                 Name  Flags
      duration         
      quality          
      fileFormat       
      videoCodec       
      videoBitRate     
      videoFrameRate   
      videoWidth       
      videoHeight      
      audioCodec       
      audioBitRate     
      audioSampleRate  
      audioChannels    

  private static final native void native_init();
    descriptor: ()V
    flags: (0x011a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_NATIVE

  private static final native android.media.CamcorderProfile native_get_camcorder_profile(int, int);
    descriptor: (II)Landroid/media/CamcorderProfile;
    flags: (0x011a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_NATIVE
    MethodParameters:
          Name  Flags
      cameraId  
      quality   

  private static final native boolean native_has_camcorder_profile(int, int);
    descriptor: (II)Z
    flags: (0x011a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL, ACC_NATIVE
    MethodParameters:
          Name  Flags
      cameraId  
      quality   
}
SourceFile: "CamcorderProfile.java"
InnerClasses:
  public CameraInfo = android.hardware.Camera$CameraInfo of android.hardware.Camera