public final class com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform extends com.sun.media.jfxmediaimpl.platform.Platform
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform
  super_class: com.sun.media.jfxmediaimpl.platform.Platform
{
  private static final java.lang.String[] CONTENT_TYPES;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] PROTOCOLS;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform globalInstance;
    descriptor: Lcom/sun/media/jfxmediaimpl/platform/gstreamer/GSTPlatform;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 46
            bipush 9
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 47
            ldc "audio/x-aiff"
            aastore
            dup
            iconst_1
         2: .line 48
            ldc "audio/mp3"
            aastore
            dup
            iconst_2
         3: .line 49
            ldc "audio/mpeg"
            aastore
            dup
            iconst_3
         4: .line 50
            ldc "audio/x-wav"
            aastore
            dup
            iconst_4
         5: .line 51
            ldc "video/mp4"
            aastore
            dup
            iconst_5
         6: .line 52
            ldc "audio/x-m4a"
            aastore
            dup
            bipush 6
         7: .line 53
            ldc "video/x-m4v"
            aastore
            dup
            bipush 7
         8: .line 54
            ldc "application/vnd.apple.mpegurl"
            aastore
            dup
            bipush 8
         9: .line 55
            ldc "audio/mpegurl"
            aastore
        10: .line 46
            putstatic com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform.CONTENT_TYPES:[Ljava/lang/String;
        11: .line 61
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
        12: .line 62
            ldc "file"
            aastore
            dup
            iconst_1
        13: .line 63
            ldc "http"
            aastore
            dup
            iconst_2
        14: .line 64
            ldc "https"
            aastore
        15: .line 61
            putstatic com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform.PROTOCOLS:[Ljava/lang/String;
        16: .line 67
            aconst_null
            putstatic com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform.globalInstance:Lcom/sun/media/jfxmediaimpl/platform/gstreamer/GSTPlatform;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean loadPlatform();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform this
         0: .line 74
            invokestatic com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform.gstInitPlatform:()I
            invokestatic com.sun.media.jfxmedia.MediaError.getFromCode:(I)Lcom/sun/media/jfxmedia/MediaError;
            astore 1 /* ret */
        start local 1 // com.sun.media.jfxmedia.MediaError ret
         1: .line 75
            goto 4
        end local 1 // com.sun.media.jfxmedia.MediaError ret
      StackMap locals:
      StackMap stack: java.lang.UnsatisfiedLinkError
         2: pop
         3: .line 76
            getstatic com.sun.media.jfxmedia.MediaError.ERROR_MANAGER_ENGINEINIT_FAIL:Lcom/sun/media/jfxmedia/MediaError;
            astore 1 /* ret */
        start local 1 // com.sun.media.jfxmedia.MediaError ret
         4: .line 79
      StackMap locals: com.sun.media.jfxmedia.MediaError
      StackMap stack:
            aload 1 /* ret */
            getstatic com.sun.media.jfxmedia.MediaError.ERROR_NONE:Lcom/sun/media/jfxmedia/MediaError;
            if_acmpeq 6
         5: .line 80
            ldc Lcom/sun/media/jfxmediaimpl/platform/gstreamer/GSTPlatform;
            aload 1 /* ret */
            invokestatic com.sun.media.jfxmediaimpl.MediaUtils.nativeError:(Ljava/lang/Object;Lcom/sun/media/jfxmedia/MediaError;)V
         6: .line 82
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // com.sun.media.jfxmedia.MediaError ret
        end local 0 // com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/media/jfxmediaimpl/platform/gstreamer/GSTPlatform;
            1    2     1   ret  Lcom/sun/media/jfxmedia/MediaError;
            4    7     1   ret  Lcom/sun/media/jfxmedia/MediaError;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.UnsatisfiedLinkError

  public static synchronized com.sun.media.jfxmediaimpl.platform.Platform getPlatformInstance();
    descriptor: ()Lcom/sun/media/jfxmediaimpl/platform/Platform;
    flags: (0x0029) ACC_PUBLIC, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=0, args_size=0
         0: .line 89
            getstatic com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform.globalInstance:Lcom/sun/media/jfxmediaimpl/platform/gstreamer/GSTPlatform;
            ifnonnull 2
         1: .line 90
            new com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform
            dup
            invokespecial com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform.<init>:()V
            putstatic com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform.globalInstance:Lcom/sun/media/jfxmediaimpl/platform/gstreamer/GSTPlatform;
         2: .line 93
      StackMap locals:
      StackMap stack:
            getstatic com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform.globalInstance:Lcom/sun/media/jfxmediaimpl/platform/gstreamer/GSTPlatform;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform this
         0: .line 96
            aload 0 /* this */
            invokespecial com.sun.media.jfxmediaimpl.platform.Platform.<init>:()V
            return
        end local 0 // com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/jfxmediaimpl/platform/gstreamer/GSTPlatform;

  public java.lang.String[] getSupportedContentTypes();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform this
         0: .line 100
            getstatic com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform.CONTENT_TYPES:[Ljava/lang/String;
            getstatic com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform.CONTENT_TYPES:[Ljava/lang/String;
            arraylength
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 0 // com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/jfxmediaimpl/platform/gstreamer/GSTPlatform;

  public java.lang.String[] getSupportedProtocols();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform this
         0: .line 105
            getstatic com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform.PROTOCOLS:[Ljava/lang/String;
            getstatic com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform.PROTOCOLS:[Ljava/lang/String;
            arraylength
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 0 // com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/media/jfxmediaimpl/platform/gstreamer/GSTPlatform;

  public com.sun.media.jfxmedia.Media createMedia(com.sun.media.jfxmedia.locator.Locator);
    descriptor: (Lcom/sun/media/jfxmedia/locator/Locator;)Lcom/sun/media/jfxmedia/Media;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform this
        start local 1 // com.sun.media.jfxmedia.locator.Locator source
         0: .line 110
            new com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMedia
            dup
            aload 1 /* source */
            invokespecial com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMedia.<init>:(Lcom/sun/media/jfxmedia/locator/Locator;)V
            areturn
        end local 1 // com.sun.media.jfxmedia.locator.Locator source
        end local 0 // com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/media/jfxmediaimpl/platform/gstreamer/GSTPlatform;
            0    1     1  source  Lcom/sun/media/jfxmedia/locator/Locator;
    MethodParameters:
        Name  Flags
      source  

  public com.sun.media.jfxmedia.MediaPlayer createMediaPlayer(com.sun.media.jfxmedia.locator.Locator);
    descriptor: (Lcom/sun/media/jfxmedia/locator/Locator;)Lcom/sun/media/jfxmedia/MediaPlayer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=12, args_size=2
        start local 0 // com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform this
        start local 1 // com.sun.media.jfxmedia.locator.Locator source
         0: .line 117
            new com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMediaPlayer
            dup
            aload 1 /* source */
            invokespecial com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMediaPlayer.<init>:(Lcom/sun/media/jfxmedia/locator/Locator;)V
            astore 2 /* player */
        start local 2 // com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMediaPlayer player
         1: .line 118
            goto 6
        end local 2 // com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMediaPlayer player
      StackMap locals:
      StackMap stack: java.lang.Exception
         2: astore 3 /* e */
        start local 3 // java.lang.Exception e
         3: .line 119
            iconst_1
            invokestatic com.sun.media.jfxmedia.logging.Logger.canLog:(I)Z
            ifeq 5
         4: .line 120
            iconst_1
            new java.lang.StringBuilder
            dup
            ldc "GSTPlatform caught exception while creating media player: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.sun.media.jfxmedia.logging.Logger.logMsg:(ILjava/lang/String;)V
         5: .line 122
      StackMap locals: com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform com.sun.media.jfxmedia.locator.Locator top java.lang.Exception
      StackMap stack:
            aconst_null
            areturn
        end local 3 // java.lang.Exception e
        start local 2 // com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMediaPlayer player
         6: .line 126
      StackMap locals: com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform com.sun.media.jfxmedia.locator.Locator com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMediaPlayer
      StackMap stack:
            invokestatic com.sun.media.jfxmediaimpl.HostUtils.isMacOSX:()Z
            ifeq 33
         7: .line 127
            aload 1 /* source */
            invokevirtual com.sun.media.jfxmedia.locator.Locator.getContentType:()Ljava/lang/String;
            astore 3 /* contentType */
        start local 3 // java.lang.String contentType
         8: .line 128
            ldc "video/mp4"
            aload 3 /* contentType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
            ldc "video/x-m4v"
            aload 3 /* contentType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
         9: .line 129
            aload 1 /* source */
            invokevirtual com.sun.media.jfxmedia.locator.Locator.getStringLocation:()Ljava/lang/String;
            ldc ".m3u8"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 33
        10: .line 134
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* source */
            invokevirtual com.sun.media.jfxmedia.locator.Locator.getURI:()Ljava/net/URI;
            invokevirtual java.net.URI.getScheme:()Ljava/lang/String;
            astore 4 /* scheme */
        start local 4 // java.lang.String scheme
        11: .line 135
            aload 4 /* scheme */
            ldc "http"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
            aload 4 /* scheme */
            ldc "https"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 136
      StackMap locals: java.lang.String
      StackMap stack:
            ldc 60000
            goto 14
      StackMap locals:
      StackMap stack:
        13: ldc 5000
        14: .line 135
      StackMap locals:
      StackMap stack: long
            lstore 5 /* timeout */
        start local 5 // long timeout
        15: .line 138
            lconst_0
            lstore 7 /* timeWaited */
        start local 7 // long timeWaited
        16: .line 140
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            astore 9 /* lock */
        start local 9 // java.lang.Object lock
        17: .line 141
            aload 2 /* player */
            invokevirtual com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMediaPlayer.getState:()Lcom/sun/media/jfxmedia/events/PlayerStateEvent$PlayerState;
            astore 10 /* state */
        start local 10 // com.sun.media.jfxmedia.events.PlayerStateEvent$PlayerState state
        18: .line 143
            goto 28
        19: .line 146
      StackMap locals: com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform com.sun.media.jfxmedia.locator.Locator com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMediaPlayer java.lang.String java.lang.String long long java.lang.Object com.sun.media.jfxmedia.events.PlayerStateEvent$PlayerState
      StackMap stack:
            aload 9 /* lock */
            dup
            astore 11
            monitorenter
        20: .line 147
            aload 9 /* lock */
            ldc 50
            invokevirtual java.lang.Object.wait:(J)V
        21: .line 148
            lload 7 /* timeWaited */
            ldc 50
            ladd
            lstore 7 /* timeWaited */
        22: .line 146
            aload 11
            monitorexit
        23: goto 27
      StackMap locals: com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform com.sun.media.jfxmedia.locator.Locator com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMediaPlayer java.lang.String java.lang.String long long java.lang.Object com.sun.media.jfxmedia.events.PlayerStateEvent$PlayerState java.lang.Object
      StackMap stack: java.lang.Throwable
        24: aload 11
            monitorexit
        25: athrow
        26: .line 150
      StackMap locals: com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform com.sun.media.jfxmedia.locator.Locator com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMediaPlayer java.lang.String java.lang.String long long java.lang.Object com.sun.media.jfxmedia.events.PlayerStateEvent$PlayerState
      StackMap stack: java.lang.InterruptedException
            pop
        27: .line 154
      StackMap locals:
      StackMap stack:
            aload 2 /* player */
            invokevirtual com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMediaPlayer.getState:()Lcom/sun/media/jfxmedia/events/PlayerStateEvent$PlayerState;
            astore 10 /* state */
        28: .line 143
      StackMap locals:
      StackMap stack:
            lload 7 /* timeWaited */
            lload 5 /* timeout */
            lcmp
            ifge 30
        29: .line 144
            aload 10 /* state */
            getstatic com.sun.media.jfxmedia.events.PlayerStateEvent$PlayerState.UNKNOWN:Lcom/sun/media/jfxmedia/events/PlayerStateEvent$PlayerState;
            if_acmpeq 19
            aload 10 /* state */
            getstatic com.sun.media.jfxmedia.events.PlayerStateEvent$PlayerState.STALLED:Lcom/sun/media/jfxmedia/events/PlayerStateEvent$PlayerState;
            if_acmpeq 19
        30: .line 158
      StackMap locals:
      StackMap stack:
            aload 2 /* player */
            invokevirtual com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMediaPlayer.getState:()Lcom/sun/media/jfxmedia/events/PlayerStateEvent$PlayerState;
            getstatic com.sun.media.jfxmedia.events.PlayerStateEvent$PlayerState.READY:Lcom/sun/media/jfxmedia/events/PlayerStateEvent$PlayerState;
            if_acmpeq 33
        31: .line 159
            aload 2 /* player */
            invokevirtual com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMediaPlayer.dispose:()V
        32: .line 160
            aconst_null
            astore 2 /* player */
        end local 10 // com.sun.media.jfxmedia.events.PlayerStateEvent$PlayerState state
        end local 9 // java.lang.Object lock
        end local 7 // long timeWaited
        end local 5 // long timeout
        end local 4 // java.lang.String scheme
        end local 3 // java.lang.String contentType
        33: .line 164
      StackMap locals: com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform com.sun.media.jfxmedia.locator.Locator com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMediaPlayer
      StackMap stack:
            aload 2 /* player */
            areturn
        end local 2 // com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMediaPlayer player
        end local 1 // com.sun.media.jfxmedia.locator.Locator source
        end local 0 // com.sun.media.jfxmediaimpl.platform.gstreamer.GSTPlatform this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   34     0         this  Lcom/sun/media/jfxmediaimpl/platform/gstreamer/GSTPlatform;
            0   34     1       source  Lcom/sun/media/jfxmedia/locator/Locator;
            1    2     2       player  Lcom/sun/media/jfxmediaimpl/platform/gstreamer/GSTMediaPlayer;
            6   34     2       player  Lcom/sun/media/jfxmediaimpl/platform/gstreamer/GSTMediaPlayer;
            3    6     3            e  Ljava/lang/Exception;
            8   33     3  contentType  Ljava/lang/String;
           11   33     4       scheme  Ljava/lang/String;
           15   33     5      timeout  J
           16   33     7   timeWaited  J
           17   33     9         lock  Ljava/lang/Object;
           18   33    10        state  Lcom/sun/media/jfxmedia/events/PlayerStateEvent$PlayerState;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
          20    23      24  any
          24    25      24  any
          19    26      26  Class java.lang.InterruptedException
    MethodParameters:
        Name  Flags
      source  

  private static native int gstInitPlatform();
    descriptor: ()I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
}
SourceFile: "GSTPlatform.java"
InnerClasses:
  public final PlayerState = com.sun.media.jfxmedia.events.PlayerStateEvent$PlayerState of com.sun.media.jfxmedia.events.PlayerStateEvent