public class com.sun.javafx.media.PrismMediaFrameHandler implements com.sun.prism.ResourceFactoryListener
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.javafx.media.PrismMediaFrameHandler
super_class: java.lang.Object
{
private final java.util.Map<com.sun.glass.ui.Screen, com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry> textures;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lcom/sun/glass/ui/Screen;Lcom/sun/javafx/media/PrismMediaFrameHandler$TextureMapEntry;>;
private static java.util.Map<java.lang.Object, com.sun.javafx.media.PrismMediaFrameHandler> handlers;
descriptor: Ljava/util/Map;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Signature: Ljava/util/Map<Ljava/lang/Object;Lcom/sun/javafx/media/PrismMediaFrameHandler;>;
private boolean registeredWithFactory;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final com.sun.javafx.tk.RenderJob releaseRenderJob;
descriptor: Lcom/sun/javafx/tk/RenderJob;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static synchronized com.sun.javafx.media.PrismMediaFrameHandler getHandler(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/sun/javafx/media/PrismMediaFrameHandler;
flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "provider must be non-null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic com.sun.javafx.media.PrismMediaFrameHandler.handlers:Ljava/util/Map;
ifnonnull 4
3: new java.util.WeakHashMap
dup
iconst_1
invokespecial java.util.WeakHashMap.<init>:(I)V
putstatic com.sun.javafx.media.PrismMediaFrameHandler.handlers:Ljava/util/Map;
4: StackMap locals:
StackMap stack:
getstatic com.sun.javafx.media.PrismMediaFrameHandler.handlers:Ljava/util/Map;
aload 0
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.javafx.media.PrismMediaFrameHandler
astore 1
start local 1 5: aload 1
ifnonnull 8
6: new com.sun.javafx.media.PrismMediaFrameHandler
dup
aload 0
invokespecial com.sun.javafx.media.PrismMediaFrameHandler.<init>:(Ljava/lang/Object;)V
astore 1
7: getstatic com.sun.javafx.media.PrismMediaFrameHandler.handlers:Ljava/util/Map;
aload 0
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: StackMap locals: com.sun.javafx.media.PrismMediaFrameHandler
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 provider Ljava/lang/Object;
5 9 1 ret Lcom/sun/javafx/media/PrismMediaFrameHandler;
MethodParameters:
Name Flags
provider
private void <init>(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.WeakHashMap
dup
iconst_1
invokespecial java.util.WeakHashMap.<init>:(I)V
putfield com.sun.javafx.media.PrismMediaFrameHandler.textures:Ljava/util/Map;
2: aload 0
iconst_0
putfield com.sun.javafx.media.PrismMediaFrameHandler.registeredWithFactory:Z
3: aload 0
new com.sun.javafx.tk.RenderJob
dup
aload 0
invokedynamic run(Lcom/sun/javafx/media/PrismMediaFrameHandler;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/sun/javafx/media/PrismMediaFrameHandler.lambda$0()V (7)
()V
invokespecial com.sun.javafx.tk.RenderJob.<init>:(Ljava/lang/Runnable;)V
putfield com.sun.javafx.media.PrismMediaFrameHandler.releaseRenderJob:Lcom/sun/javafx/tk/RenderJob;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/javafx/media/PrismMediaFrameHandler;
0 5 1 provider Ljava/lang/Object;
MethodParameters:
Name Flags
provider
public com.sun.prism.Texture getTexture(com.sun.prism.Graphics, com.sun.media.jfxmedia.control.VideoDataBuffer);
descriptor: (Lcom/sun/prism/Graphics;Lcom/sun/media/jfxmedia/control/VideoDataBuffer;)Lcom/sun/prism/Texture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface com.sun.prism.Graphics.getAssociatedScreen:()Lcom/sun/glass/ui/Screen;
astore 3
start local 3 1: aload 0
getfield com.sun.javafx.media.PrismMediaFrameHandler.textures:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry
astore 4
start local 4 2: aload 2
ifnonnull 6
3: aload 0
getfield com.sun.javafx.media.PrismMediaFrameHandler.textures:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 5
4: aload 0
getfield com.sun.javafx.media.PrismMediaFrameHandler.textures:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals: com.sun.glass.ui.Screen com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry
StackMap stack:
aconst_null
areturn
6: StackMap locals:
StackMap stack:
aload 4
ifnonnull 9
7: new com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry
dup
invokespecial com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.<init>:()V
astore 4
8: aload 0
getfield com.sun.javafx.media.PrismMediaFrameHandler.textures:Ljava/util/Map;
aload 3
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: StackMap locals:
StackMap stack:
aload 4
getfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.texture:Lcom/sun/prism/Texture;
ifnull 13
10: aload 4
getfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.texture:Lcom/sun/prism/Texture;
invokeinterface com.sun.prism.Texture.lock:()V
11: aload 4
getfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.texture:Lcom/sun/prism/Texture;
invokeinterface com.sun.prism.Texture.isSurfaceLost:()Z
ifeq 13
12: aload 4
aconst_null
putfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.texture:Lcom/sun/prism/Texture;
13: StackMap locals:
StackMap stack:
aload 4
getfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.texture:Lcom/sun/prism/Texture;
ifnull 14
aload 4
getfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.lastFrameTime:D
aload 2
invokeinterface com.sun.media.jfxmedia.control.VideoDataBuffer.getTimestamp:()D
dcmpl
ifeq 15
14: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 4
invokevirtual com.sun.javafx.media.PrismMediaFrameHandler.updateTexture:(Lcom/sun/prism/Graphics;Lcom/sun/media/jfxmedia/control/VideoDataBuffer;Lcom/sun/javafx/media/PrismMediaFrameHandler$TextureMapEntry;)V
15: StackMap locals:
StackMap stack:
aload 4
getfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.texture:Lcom/sun/prism/Texture;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/javafx/media/PrismMediaFrameHandler;
0 16 1 g Lcom/sun/prism/Graphics;
0 16 2 currentFrame Lcom/sun/media/jfxmedia/control/VideoDataBuffer;
1 16 3 screen Lcom/sun/glass/ui/Screen;
2 16 4 tme Lcom/sun/javafx/media/PrismMediaFrameHandler$TextureMapEntry;
MethodParameters:
Name Flags
g
currentFrame
private void updateTexture(com.sun.prism.Graphics, com.sun.media.jfxmedia.control.VideoDataBuffer, com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry);
descriptor: (Lcom/sun/prism/Graphics;Lcom/sun/media/jfxmedia/control/VideoDataBuffer;Lcom/sun/javafx/media/PrismMediaFrameHandler$TextureMapEntry;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokeinterface com.sun.prism.Graphics.getAssociatedScreen:()Lcom/sun/glass/ui/Screen;
astore 4
start local 4 1: aload 3
getfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.texture:Lcom/sun/prism/Texture;
ifnull 6
2: aload 3
getfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.encodedWidth:I
aload 2
invokeinterface com.sun.media.jfxmedia.control.VideoDataBuffer.getEncodedWidth:()I
if_icmpne 4
3: aload 3
getfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.encodedHeight:I
aload 2
invokeinterface com.sun.media.jfxmedia.control.VideoDataBuffer.getEncodedHeight:()I
if_icmpeq 6
4: StackMap locals: com.sun.glass.ui.Screen
StackMap stack:
aload 3
getfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.texture:Lcom/sun/prism/Texture;
invokeinterface com.sun.prism.Texture.dispose:()V
5: aload 3
aconst_null
putfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.texture:Lcom/sun/prism/Texture;
6: StackMap locals:
StackMap stack:
new com.sun.javafx.media.PrismMediaFrameHandler$PrismFrameBuffer
dup
aload 0
aload 2
invokespecial com.sun.javafx.media.PrismMediaFrameHandler$PrismFrameBuffer.<init>:(Lcom/sun/javafx/media/PrismMediaFrameHandler;Lcom/sun/media/jfxmedia/control/VideoDataBuffer;)V
astore 5
start local 5 7: aload 3
getfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.texture:Lcom/sun/prism/Texture;
ifnonnull 17
8: aload 0
getfield com.sun.javafx.media.PrismMediaFrameHandler.registeredWithFactory:Z
ifne 11
9: invokestatic com.sun.prism.GraphicsPipeline.getDefaultResourceFactory:()Lcom/sun/prism/ResourceFactory;
aload 0
invokeinterface com.sun.prism.ResourceFactory.addFactoryListener:(Lcom/sun/prism/ResourceFactoryListener;)V
10: aload 0
iconst_1
putfield com.sun.javafx.media.PrismMediaFrameHandler.registeredWithFactory:Z
11: StackMap locals: com.sun.javafx.media.PrismMediaFrameHandler$PrismFrameBuffer
StackMap stack:
aload 3
invokestatic com.sun.prism.GraphicsPipeline.getPipeline:()Lcom/sun/prism/GraphicsPipeline;
12: aload 4
invokevirtual com.sun.prism.GraphicsPipeline.getResourceFactory:(Lcom/sun/glass/ui/Screen;)Lcom/sun/prism/ResourceFactory;
13: aload 5
invokeinterface com.sun.prism.ResourceFactory.createTexture:(Lcom/sun/prism/MediaFrame;)Lcom/sun/prism/Texture;
14: putfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.texture:Lcom/sun/prism/Texture;
15: aload 3
aload 2
invokeinterface com.sun.media.jfxmedia.control.VideoDataBuffer.getEncodedWidth:()I
putfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.encodedWidth:I
16: aload 3
aload 2
invokeinterface com.sun.media.jfxmedia.control.VideoDataBuffer.getEncodedHeight:()I
putfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.encodedHeight:I
17: StackMap locals:
StackMap stack:
aload 3
getfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.texture:Lcom/sun/prism/Texture;
ifnull 19
18: aload 3
getfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.texture:Lcom/sun/prism/Texture;
aload 5
iconst_0
invokeinterface com.sun.prism.Texture.update:(Lcom/sun/prism/MediaFrame;Z)V
19: StackMap locals:
StackMap stack:
aload 3
aload 2
invokeinterface com.sun.media.jfxmedia.control.VideoDataBuffer.getTimestamp:()D
putfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.lastFrameTime:D
20: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/sun/javafx/media/PrismMediaFrameHandler;
0 21 1 g Lcom/sun/prism/Graphics;
0 21 2 vdb Lcom/sun/media/jfxmedia/control/VideoDataBuffer;
0 21 3 tme Lcom/sun/javafx/media/PrismMediaFrameHandler$TextureMapEntry;
1 21 4 screen Lcom/sun/glass/ui/Screen;
7 21 5 prismBuffer Lcom/sun/javafx/media/PrismMediaFrameHandler$PrismFrameBuffer;
MethodParameters:
Name Flags
g
vdb
tme
private void releaseData();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.javafx.media.PrismMediaFrameHandler.textures:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 4
StackMap locals: com.sun.javafx.media.PrismMediaFrameHandler top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry
astore 1
start local 1 2: aload 1
ifnull 4
aload 1
getfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.texture:Lcom/sun/prism/Texture;
ifnull 4
3: aload 1
getfield com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry.texture:Lcom/sun/prism/Texture;
invokeinterface com.sun.prism.Texture.dispose:()V
end local 1 4: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aload 0
getfield com.sun.javafx.media.PrismMediaFrameHandler.textures:Ljava/util/Map;
invokeinterface java.util.Map.clear:()V
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/javafx/media/PrismMediaFrameHandler;
2 4 1 tme Lcom/sun/javafx/media/PrismMediaFrameHandler$TextureMapEntry;
public void releaseTextures();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokestatic com.sun.javafx.tk.Toolkit.getToolkit:()Lcom/sun/javafx/tk/Toolkit;
astore 1
start local 1 1: aload 1
aload 0
getfield com.sun.javafx.media.PrismMediaFrameHandler.releaseRenderJob:Lcom/sun/javafx/tk/RenderJob;
invokevirtual com.sun.javafx.tk.Toolkit.addRenderJob:(Lcom/sun/javafx/tk/RenderJob;)Ljava/util/concurrent/Future;
pop
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/javafx/media/PrismMediaFrameHandler;
1 3 1 tk Lcom/sun/javafx/tk/Toolkit;
public void factoryReset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.media.PrismMediaFrameHandler.releaseData:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/javafx/media/PrismMediaFrameHandler;
public void factoryReleased();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.media.PrismMediaFrameHandler.releaseData:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/javafx/media/PrismMediaFrameHandler;
private void lambda$0();
descriptor: ()V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.javafx.media.PrismMediaFrameHandler.releaseData:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/javafx/media/PrismMediaFrameHandler;
}
SourceFile: "PrismMediaFrameHandler.java"
NestMembers:
com.sun.javafx.media.PrismMediaFrameHandler$PrismFrameBuffer com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry
InnerClasses:
private PrismFrameBuffer = com.sun.javafx.media.PrismMediaFrameHandler$PrismFrameBuffer of com.sun.javafx.media.PrismMediaFrameHandler
private TextureMapEntry = com.sun.javafx.media.PrismMediaFrameHandler$TextureMapEntry of com.sun.javafx.media.PrismMediaFrameHandler
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles