class android.media.ImageReader$SurfaceImage extends android.media.Image
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: android.media.ImageReader$SurfaceImage
super_class: android.media.Image
{
private long mNativeBuffer;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long mTimestamp;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private int mTransform;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mScalingMode;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private android.media.ImageReader$SurfaceImage$SurfacePlane[] mPlanes;
descriptor: [Landroid/media/ImageReader$SurfaceImage$SurfacePlane;
flags: (0x0002) ACC_PRIVATE
private int mFormat;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.util.concurrent.atomic.AtomicBoolean mIsDetached;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x0002) ACC_PRIVATE
final android.media.ImageReader this$0;
descriptor: Landroid/media/ImageReader;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(android.media.ImageReader, int);
descriptor: (Landroid/media/ImageReader;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield android.media.ImageReader$SurfaceImage.this$0:Landroid/media/ImageReader;
aload 0
invokespecial android.media.Image.<init>:()V
1: aload 0
iconst_0
putfield android.media.ImageReader$SurfaceImage.mFormat:I
2: aload 0
new java.util.concurrent.atomic.AtomicBoolean
dup
iconst_0
invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:(Z)V
putfield android.media.ImageReader$SurfaceImage.mIsDetached:Ljava/util/concurrent/atomic/AtomicBoolean;
3: aload 0
iload 2
putfield android.media.ImageReader$SurfaceImage.mFormat:I
4: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Landroid/media/ImageReader$SurfaceImage;
0 5 2 format I
MethodParameters:
Name Flags
this$0 final
format
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.ImageReader$SurfaceImage.this$0:Landroid/media/ImageReader;
aload 0
invokevirtual android.media.ImageReader.releaseImage:(Landroid/media/Image;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/ImageReader$SurfaceImage;
public android.media.ImageReader getReader();
descriptor: ()Landroid/media/ImageReader;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.ImageReader$SurfaceImage.this$0:Landroid/media/ImageReader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/ImageReader$SurfaceImage;
public int getFormat();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual android.media.ImageReader$SurfaceImage.throwISEIfImageIsInvalid:()V
1: aload 0
getfield android.media.ImageReader$SurfaceImage.this$0:Landroid/media/ImageReader;
invokevirtual android.media.ImageReader.getImageFormat:()I
istore 1
start local 1 2: aload 0
iload 1
bipush 34
if_icmpne 3
iload 1
goto 4
3: StackMap locals: android.media.ImageReader$SurfaceImage int
StackMap stack: android.media.ImageReader$SurfaceImage
aload 0
iload 1
invokevirtual android.media.ImageReader$SurfaceImage.nativeGetFormat:(I)I
4: StackMap locals: android.media.ImageReader$SurfaceImage int
StackMap stack: android.media.ImageReader$SurfaceImage int
putfield android.media.ImageReader$SurfaceImage.mFormat:I
5: aload 0
getfield android.media.ImageReader$SurfaceImage.mFormat:I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/media/ImageReader$SurfaceImage;
2 6 1 readerFormat I
public int getWidth();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual android.media.ImageReader$SurfaceImage.throwISEIfImageIsInvalid:()V
1: aload 0
invokevirtual android.media.ImageReader$SurfaceImage.getFormat:()I
lookupswitch { // 3
36: 2
256: 2
257: 2
default: 4
}
2: StackMap locals:
StackMap stack:
aload 0
getfield android.media.ImageReader$SurfaceImage.this$0:Landroid/media/ImageReader;
invokevirtual android.media.ImageReader.getWidth:()I
istore 1
start local 1 3: goto 5
end local 1 4: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.media.ImageReader$SurfaceImage.nativeGetWidth:()I
istore 1
start local 1 5: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/media/ImageReader$SurfaceImage;
3 4 1 width I
5 6 1 width I
public int getHeight();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual android.media.ImageReader$SurfaceImage.throwISEIfImageIsInvalid:()V
1: aload 0
invokevirtual android.media.ImageReader$SurfaceImage.getFormat:()I
lookupswitch { // 3
36: 2
256: 2
257: 2
default: 4
}
2: StackMap locals:
StackMap stack:
aload 0
getfield android.media.ImageReader$SurfaceImage.this$0:Landroid/media/ImageReader;
invokevirtual android.media.ImageReader.getHeight:()I
istore 1
start local 1 3: goto 5
end local 1 4: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.media.ImageReader$SurfaceImage.nativeGetHeight:()I
istore 1
start local 1 5: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/media/ImageReader$SurfaceImage;
3 4 1 height I
5 6 1 height I
public long getTimestamp();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.ImageReader$SurfaceImage.throwISEIfImageIsInvalid:()V
1: aload 0
getfield android.media.ImageReader$SurfaceImage.mTimestamp:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/ImageReader$SurfaceImage;
public int getTransform();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.ImageReader$SurfaceImage.throwISEIfImageIsInvalid:()V
1: aload 0
getfield android.media.ImageReader$SurfaceImage.mTransform:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/ImageReader$SurfaceImage;
public int getScalingMode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.ImageReader$SurfaceImage.throwISEIfImageIsInvalid:()V
1: aload 0
getfield android.media.ImageReader$SurfaceImage.mScalingMode:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/ImageReader$SurfaceImage;
public android.hardware.HardwareBuffer getHardwareBuffer();
descriptor: ()Landroid/hardware/HardwareBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.ImageReader$SurfaceImage.throwISEIfImageIsInvalid:()V
1: aload 0
invokevirtual android.media.ImageReader$SurfaceImage.nativeGetHardwareBuffer:()Landroid/hardware/HardwareBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/ImageReader$SurfaceImage;
public void setTimestamp(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual android.media.ImageReader$SurfaceImage.throwISEIfImageIsInvalid:()V
1: aload 0
lload 1
putfield android.media.ImageReader$SurfaceImage.mTimestamp:J
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/ImageReader$SurfaceImage;
0 3 1 timestampNs J
MethodParameters:
Name Flags
timestampNs
public android.media.Image$Plane[] getPlanes();
descriptor: ()[Landroid/media/Image$Plane;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.ImageReader$SurfaceImage.throwISEIfImageIsInvalid:()V
1: aload 0
getfield android.media.ImageReader$SurfaceImage.mPlanes:[Landroid/media/ImageReader$SurfaceImage$SurfacePlane;
ifnonnull 3
2: aload 0
aload 0
aload 0
getfield android.media.ImageReader$SurfaceImage.this$0:Landroid/media/ImageReader;
getfield android.media.ImageReader.mNumPlanes:I
aload 0
getfield android.media.ImageReader$SurfaceImage.this$0:Landroid/media/ImageReader;
getfield android.media.ImageReader.mFormat:I
invokevirtual android.media.ImageReader$SurfaceImage.nativeCreatePlanes:(II)[Landroid/media/ImageReader$SurfaceImage$SurfacePlane;
putfield android.media.ImageReader$SurfaceImage.mPlanes:[Landroid/media/ImageReader$SurfaceImage$SurfacePlane;
3: StackMap locals:
StackMap stack:
aload 0
getfield android.media.ImageReader$SurfaceImage.mPlanes:[Landroid/media/ImageReader$SurfaceImage$SurfacePlane;
invokevirtual android.media.ImageReader$SurfaceImage$SurfacePlane[].clone:()Ljava/lang/Object;
checkcast android.media.Image$Plane[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/ImageReader$SurfaceImage;
protected final void finalize();
descriptor: ()V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual android.media.ImageReader$SurfaceImage.close:()V
1: goto 5
StackMap locals:
StackMap stack: java.lang.Throwable
2: astore 1
3: aload 0
invokespecial java.lang.Object.finalize:()V
4: aload 1
athrow
5: StackMap locals:
StackMap stack:
aload 0
invokespecial java.lang.Object.finalize:()V
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/ImageReader$SurfaceImage;
Exception table:
from to target type
0 2 2 any
Exceptions:
throws java.lang.Throwable
boolean isAttachable();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.ImageReader$SurfaceImage.throwISEIfImageIsInvalid:()V
1: aload 0
getfield android.media.ImageReader$SurfaceImage.mIsDetached:Ljava/util/concurrent/atomic/AtomicBoolean;
invokevirtual java.util.concurrent.atomic.AtomicBoolean.get:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/ImageReader$SurfaceImage;
android.media.ImageReader getOwner();
descriptor: ()Landroid/media/ImageReader;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.ImageReader$SurfaceImage.throwISEIfImageIsInvalid:()V
1: aload 0
getfield android.media.ImageReader$SurfaceImage.this$0:Landroid/media/ImageReader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/ImageReader$SurfaceImage;
long getNativeContext();
descriptor: ()J
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.ImageReader$SurfaceImage.throwISEIfImageIsInvalid:()V
1: aload 0
getfield android.media.ImageReader$SurfaceImage.mNativeBuffer:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/ImageReader$SurfaceImage;
private void setDetached(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual android.media.ImageReader$SurfaceImage.throwISEIfImageIsInvalid:()V
1: aload 0
getfield android.media.ImageReader$SurfaceImage.mIsDetached:Ljava/util/concurrent/atomic/AtomicBoolean;
iload 1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.getAndSet:(Z)Z
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/ImageReader$SurfaceImage;
0 3 1 detached Z
MethodParameters:
Name Flags
detached
private void clearSurfacePlanes();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield android.media.ImageReader$SurfaceImage.mIsImageValid:Z
ifeq 8
aload 0
getfield android.media.ImageReader$SurfaceImage.mPlanes:[Landroid/media/ImageReader$SurfaceImage$SurfacePlane;
ifnull 8
1: iconst_0
istore 1
start local 1 2: goto 7
3: StackMap locals: int
StackMap stack:
aload 0
getfield android.media.ImageReader$SurfaceImage.mPlanes:[Landroid/media/ImageReader$SurfaceImage$SurfacePlane;
iload 1
aaload
ifnull 6
4: aload 0
getfield android.media.ImageReader$SurfaceImage.mPlanes:[Landroid/media/ImageReader$SurfaceImage$SurfacePlane;
iload 1
aaload
invokevirtual android.media.ImageReader$SurfaceImage$SurfacePlane.clearBuffer:()V
5: aload 0
getfield android.media.ImageReader$SurfaceImage.mPlanes:[Landroid/media/ImageReader$SurfaceImage$SurfacePlane;
iload 1
aconst_null
aastore
6: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
7: iload 1
aload 0
getfield android.media.ImageReader$SurfaceImage.mPlanes:[Landroid/media/ImageReader$SurfaceImage$SurfacePlane;
arraylength
if_icmplt 3
end local 1 8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Landroid/media/ImageReader$SurfaceImage;
2 8 1 i I
private synchronized native android.media.ImageReader$SurfaceImage$SurfacePlane[] nativeCreatePlanes(int, int);
descriptor: (II)[Landroid/media/ImageReader$SurfaceImage$SurfacePlane;
flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE
MethodParameters:
Name Flags
numPlanes
readerFormat
private synchronized native int nativeGetWidth();
descriptor: ()I
flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE
private synchronized native int nativeGetHeight();
descriptor: ()I
flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE
private synchronized native int nativeGetFormat(int);
descriptor: (I)I
flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE
MethodParameters:
Name Flags
readerFormat
private synchronized native android.hardware.HardwareBuffer nativeGetHardwareBuffer();
descriptor: ()Landroid/hardware/HardwareBuffer;
flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE
java.lang.Object getOwner();
descriptor: ()Ljava/lang/Object;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual android.media.ImageReader$SurfaceImage.getOwner:()Landroid/media/ImageReader;
areturn
LocalVariableTable:
Start End Slot Name Signature
static android.media.ImageReader access$1(android.media.ImageReader$SurfaceImage);
descriptor: (Landroid/media/ImageReader$SurfaceImage;)Landroid/media/ImageReader;
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
getfield android.media.ImageReader$SurfaceImage.this$0:Landroid/media/ImageReader;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ImageReader.java"
NestHost: android.media.ImageReader
InnerClasses:
public abstract Plane = android.media.Image$Plane of android.media.Image
private SurfaceImage = android.media.ImageReader$SurfaceImage of android.media.ImageReader
private SurfacePlane = android.media.ImageReader$SurfaceImage$SurfacePlane of android.media.ImageReader$SurfaceImage