wms-stream-rtp

16:54:36.043 INFO  jd.cli.Main - Decompiling wms-stream-rtp.jar
package com.wowza.wms.stream.rtp;

import com.wowza.wms.stream.live.MediaStreamLivePlayAbstract;

public class MediaStreamRTPPlay
  extends MediaStreamLivePlayAbstract
{
  public MediaStreamRTPPlay()
  {
    player = new RTPPlayer(this);
  }
  
  public void setRTPTargetAudioPacketSeq(long paramLong)
  {
    ((RTPPlayer)player).setRTPTargetAudioPacketSeq(paramLong);
  }
  
  public void setRTPTargetVideoPacketSeq(long paramLong)
  {
    ((RTPPlayer)player).setRTPTargetVideoPacketSeq(paramLong);
  }
  
  public RTPPlayer getInternalPlayer()
  {
    return (RTPPlayer)player;
  }
}

/* Location:
 * Qualified Name:     com.wowza.wms.stream.rtp.MediaStreamRTPPlay
 * Java Class Version: 6 (50.0)
 * JD-Core Version:    0.7.1
 */
package com.wowza.wms.stream.rtp;

import com.wowza.util.Base64;
import com.wowza.wms.amf.AMFObj;
import com.wowza.wms.application.WMSProperties;
import com.wowza.wms.logging.WMSLogger;
import com.wowza.wms.logging.WMSLoggerFactory;
import com.wowza.wms.stream.IMediaStream;
import com.wowza.wms.stream.IMediaStreamPlay;
import com.wowza.wms.stream.MediaStreamMap;
import com.wowza.wms.stream.file.PlaylistCursor;
import com.wowza.wms.stream.file.PlaylistReaderWriteResults;
import com.wowza.wms.stream.file.PlaylistWriteControl;
import com.wowza.wms.stream.live.LivePlayer;
import java.io.OutputStream;

public class RTPPlayer
  extends LivePlayer
{
  private class PacketTimecodeDebug
  {
    long a = -1L;
    long b = -1L;
    long c = -1L;
    int d = 0;
    long e = -1L;
    long f = -1L;
    long g = -1L;
    int h = 0;
    long i = -1L;
    
    private PacketTimecodeDebug() {}
  }
  
  private long a = -1L;
  private long b = -1L;
  private long c = -1L;
  private long d = -1L;
  private long e = -1L;
  private PlaylistCursor f = null;
  private long[] g = null;
  private PlaylistWriteControl h = null;
  private PlaylistReaderWriteResults i = null;
  private long j = 0L;
  private PacketTimecodeDebug k = null;
  
  public void init(IMediaStream paramIMediaStream, MediaStreamMap paramMediaStreamMap)
  {
    super.init(paramIMediaStream, paramMediaStreamMap);
    waitForKeyFrame = false;
    isEnhancedSeekCapable = false;
    
    isDebugLog = WMSLoggerFactory.getLogger(LivePlayer.class).isDebugEnabled();
    if (paramIMediaStream != null) {
      break label80;
    }
    for (;;)
    {
      k = new PacketTimecodeDebug(null);
      break label94;
      boolean bool = false;
      WMSProperties localWMSProperties;
      bool = localWMSProperties.getPropertyBoolean(Base64.endsWith(57 * 35, "/)/;(\037$&4;<80\n\r\n\013=>5:4\025+.!6"), bool);
      if (!bool)
      {
        break label95;
        label80:
        localWMSProperties = paramIMediaStream.getProperties();
        label94:
        label95:
        while (!isDebugLog) {
          return;
        }
      }
    }
  }
  
  public RTPPlayer(IMediaStreamPlay paramIMediaStreamPlay)
  {
    super(paramIMediaStreamPlay);
  }
  
  public boolean play(IMediaStream paramIMediaStream)
  {
    return true;
  }
  
  public boolean play()
  {
    return true;
  }
  
  public void setRTPTargetAudioPacketSeq(long paramLong)
  {
    a = paramLong;
  }
  
  public void setRTPTargetVideoPacketSeq(long paramLong)
  {
    b = paramLong;
  }
  
  /* Error */
  public int getNextVideoSequence()
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 118	com/wowza/wms/stream/live/LivePlayer:stream	Lcom/wowza/wms/stream/IMediaStreamPlay;
    //   4: invokeinterface 124 1 0
    //   9: astore_1
    //   10: aload_1
    //   11: invokeinterface 128 1 0
    //   16: astore_2
    //   17: aconst_null
    //   18: astore_3
    //   19: aconst_null
    //   20: astore 4
    //   22: aconst_null
    //   23: astore 5
    //   25: aconst_null
    //   26: astore 6
    //   28: aconst_null
    //   29: astore 7
    //   31: aload_2
    //   32: invokevirtual 134	com/wowza/wms/rtp/model/RTPStream:getStreamTrack	()Lcom/wowza/wms/rtp/model/RTPTrack;
    //   35: astore 5
    //   37: aload 5
    //   39: ifnull +14 -> 53
    //   42: goto +65 -> 107
    //   45: aload_3
    //   46: ifnull +43 -> 89
    //   49: goto +68 -> 117
    //   52: ireturn
    //   53: aload_2
    //   54: invokevirtual 137	com/wowza/wms/rtp/model/RTPStream:getVideoTrack	()Lcom/wowza/wms/rtp/model/RTPTrack;
    //   57: astore_3
    //   58: aload_2
    //   59: invokevirtual 140	com/wowza/wms/rtp/model/RTPStream:getAudioTrack	()Lcom/wowza/wms/rtp/model/RTPTrack;
    //   62: astore 4
    //   64: goto -19 -> 45
    //   67: aload 6
    //   69: ifnonnull +28 -> 97
    //   72: goto +13 -> 85
    //   75: aload 4
    //   77: invokevirtual 146	com/wowza/wms/rtp/model/RTPTrack:getRTPPacketizer	()Lcom/wowza/wms/rtp/packetizer/IRTPPacketizer;
    //   80: astore 7
    //   82: goto -15 -> 67
    //   85: iconst_1
    //   86: goto -34 -> 52
    //   89: aload 4
    //   91: ifnull -24 -> 67
    //   94: goto -19 -> 75
    //   97: aload 6
    //   99: invokeinterface 151 1 0
    //   104: goto -52 -> 52
    //   107: aload 5
    //   109: astore_3
    //   110: aload 5
    //   112: astore 4
    //   114: goto -69 -> 45
    //   117: aload_3
    //   118: invokevirtual 146	com/wowza/wms/rtp/model/RTPTrack:getRTPPacketizer	()Lcom/wowza/wms/rtp/packetizer/IRTPPacketizer;
    //   121: astore 6
    //   123: goto -34 -> 89
    // Line number table:
    //   Java source line #95	-> byte code offset #0
    //   Java source line #96	-> byte code offset #10
    //   Java source line #98	-> byte code offset #17
    //   Java source line #99	-> byte code offset #19
    //   Java source line #100	-> byte code offset #22
    //   Java source line #101	-> byte code offset #25
    //   Java source line #102	-> byte code offset #28
    //   Java source line #104	-> byte code offset #31
    //   Java source line #105	-> byte code offset #37
    //   Java source line #116	-> byte code offset #45
    //   Java source line #121	-> byte code offset #52
    //   Java source line #112	-> byte code offset #53
    //   Java source line #113	-> byte code offset #58
    //   Java source line #121	-> byte code offset #67
    //   Java source line #119	-> byte code offset #75
    //   Java source line #121	-> byte code offset #85
    //   Java source line #118	-> byte code offset #89
    //   Java source line #121	-> byte code offset #97
    //   Java source line #107	-> byte code offset #107
    //   Java source line #108	-> byte code offset #110
    //   Java source line #117	-> byte code offset #117
  }
  
  /* Error */
  public int getNextAudioSequence()
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 118	com/wowza/wms/stream/live/LivePlayer:stream	Lcom/wowza/wms/stream/IMediaStreamPlay;
    //   4: invokeinterface 124 1 0
    //   9: astore_1
    //   10: aload_1
    //   11: invokeinterface 128 1 0
    //   16: astore_2
    //   17: aconst_null
    //   18: astore_3
    //   19: aconst_null
    //   20: astore 4
    //   22: aconst_null
    //   23: astore 5
    //   25: aconst_null
    //   26: astore 6
    //   28: aconst_null
    //   29: astore 7
    //   31: aload_2
    //   32: invokevirtual 134	com/wowza/wms/rtp/model/RTPStream:getStreamTrack	()Lcom/wowza/wms/rtp/model/RTPTrack;
    //   35: astore 5
    //   37: aload 5
    //   39: ifnull +22 -> 61
    //   42: goto +33 -> 75
    //   45: aload 4
    //   47: ifnull +42 -> 89
    //   50: goto +66 -> 116
    //   53: aload_3
    //   54: ifnull -9 -> 45
    //   57: goto +50 -> 107
    //   60: ireturn
    //   61: aload_2
    //   62: invokevirtual 137	com/wowza/wms/rtp/model/RTPStream:getVideoTrack	()Lcom/wowza/wms/rtp/model/RTPTrack;
    //   65: astore_3
    //   66: aload_2
    //   67: invokevirtual 140	com/wowza/wms/rtp/model/RTPStream:getAudioTrack	()Lcom/wowza/wms/rtp/model/RTPTrack;
    //   70: astore 4
    //   72: goto -19 -> 53
    //   75: aload 5
    //   77: astore_3
    //   78: aload 5
    //   80: astore 4
    //   82: goto -29 -> 53
    //   85: iconst_1
    //   86: goto -26 -> 60
    //   89: aload 7
    //   91: ifnonnull +6 -> 97
    //   94: goto -9 -> 85
    //   97: aload 7
    //   99: invokeinterface 151 1 0
    //   104: goto -44 -> 60
    //   107: aload_3
    //   108: invokevirtual 146	com/wowza/wms/rtp/model/RTPTrack:getRTPPacketizer	()Lcom/wowza/wms/rtp/packetizer/IRTPPacketizer;
    //   111: astore 6
    //   113: goto -68 -> 45
    //   116: aload 4
    //   118: invokevirtual 146	com/wowza/wms/rtp/model/RTPTrack:getRTPPacketizer	()Lcom/wowza/wms/rtp/packetizer/IRTPPacketizer;
    //   121: astore 7
    //   123: goto -34 -> 89
    // Line number table:
    //   Java source line #126	-> byte code offset #0
    //   Java source line #127	-> byte code offset #10
    //   Java source line #129	-> byte code offset #17
    //   Java source line #130	-> byte code offset #19
    //   Java source line #131	-> byte code offset #22
    //   Java source line #132	-> byte code offset #25
    //   Java source line #133	-> byte code offset #28
    //   Java source line #135	-> byte code offset #31
    //   Java source line #136	-> byte code offset #37
    //   Java source line #149	-> byte code offset #45
    //   Java source line #147	-> byte code offset #53
    //   Java source line #152	-> byte code offset #60
    //   Java source line #143	-> byte code offset #61
    //   Java source line #144	-> byte code offset #66
    //   Java source line #138	-> byte code offset #75
    //   Java source line #139	-> byte code offset #78
    //   Java source line #152	-> byte code offset #85
    //   Java source line #148	-> byte code offset #107
    //   Java source line #150	-> byte code offset #116
  }
  
  /* Error */
  protected void resetInternal(boolean paramBoolean1, boolean paramBoolean2)
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 158	com/wowza/wms/stream/live/LivePlayer:lock	Ljava/lang/Object;
    //   4: dup
    //   5: astore_3
    //   6: goto +81 -> 87
    //   9: astore 4
    //   11: aload_3
    //   12: monitorexit
    //   13: goto +5 -> 18
    //   16: nop
    //   17: return
    //   18: aload 4
    //   20: athrow
    //   21: aload_0
    //   22: ldc2_w 86
    //   25: putfield 89	com/wowza/wms/stream/rtp/RTPPlayer:a	J
    //   28: aload_0
    //   29: ldc2_w 86
    //   32: putfield 91	com/wowza/wms/stream/rtp/RTPPlayer:b	J
    //   35: aload_0
    //   36: ldc2_w 86
    //   39: putfield 93	com/wowza/wms/stream/rtp/RTPPlayer:c	J
    //   42: aload_0
    //   43: ldc2_w 86
    //   46: putfield 95	com/wowza/wms/stream/rtp/RTPPlayer:d	J
    //   49: aload_0
    //   50: ldc2_w 86
    //   53: putfield 97	com/wowza/wms/stream/rtp/RTPPlayer:e	J
    //   56: aload_0
    //   57: aconst_null
    //   58: putfield 99	com/wowza/wms/stream/rtp/RTPPlayer:f	Lcom/wowza/wms/stream/file/PlaylistCursor;
    //   61: aload_0
    //   62: aconst_null
    //   63: putfield 101	com/wowza/wms/stream/rtp/RTPPlayer:g	[J
    //   66: aload_0
    //   67: aconst_null
    //   68: putfield 103	com/wowza/wms/stream/rtp/RTPPlayer:h	Lcom/wowza/wms/stream/file/PlaylistWriteControl;
    //   71: aload_0
    //   72: aconst_null
    //   73: putfield 105	com/wowza/wms/stream/rtp/RTPPlayer:i	Lcom/wowza/wms/stream/file/PlaylistReaderWriteResults;
    //   76: aload_0
    //   77: iload_1
    //   78: iload_2
    //   79: invokespecial 160	com/wowza/wms/stream/live/LivePlayer:resetInternal	(ZZ)V
    //   82: aload_3
    //   83: monitorexit
    //   84: goto -68 -> 16
    //   87: monitorenter
    //   88: goto -67 -> 21
    // Line number table:
    //   Java source line #157	-> byte code offset #0
    //   Java source line #170	-> byte code offset #9
    //   Java source line #171	-> byte code offset #17
    //   Java source line #170	-> byte code offset #18
    //   Java source line #159	-> byte code offset #21
    //   Java source line #160	-> byte code offset #28
    //   Java source line #161	-> byte code offset #35
    //   Java source line #162	-> byte code offset #42
    //   Java source line #163	-> byte code offset #49
    //   Java source line #164	-> byte code offset #56
    //   Java source line #165	-> byte code offset #61
    //   Java source line #166	-> byte code offset #66
    //   Java source line #167	-> byte code offset #71
    //   Java source line #169	-> byte code offset #76
    //   Java source line #170	-> byte code offset #82
    //   Java source line #157	-> byte code offset #87
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	91	0	this	RTPPlayer
    //   0	91	1	paramBoolean1	boolean
    //   0	91	2	paramBoolean2	boolean
    //   5	78	3	localObject1	Object
    //   9	10	4	localObject2	Object
    // Exception table:
    //   from	to	target	type
    //   9	16	9	finally
    //   21	87	9	finally
  }
  
  /* Error */
  protected void startVODStreaming(com.wowza.wms.rtp.model.RTPStream arg1)
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 158	com/wowza/wms/stream/live/LivePlayer:lock	Ljava/lang/Object;
    //   4: dup
    //   5: astore_2
    //   6: goto +106 -> 112
    //   9: goto +107 -> 116
    //   12: aload_0
    //   13: getfield 99	com/wowza/wms/stream/rtp/RTPPlayer:f	Lcom/wowza/wms/stream/file/PlaylistCursor;
    //   16: ifnonnull +6 -> 22
    //   19: goto +8 -> 27
    //   22: aload_2
    //   23: monitorexit
    //   24: goto -15 -> 9
    //   27: aload_0
    //   28: aload_1
    //   29: invokevirtual 170	com/wowza/wms/rtp/model/RTPStream:getVODStartTimeTC	()J
    //   32: putfield 95	com/wowza/wms/stream/rtp/RTPPlayer:d	J
    //   35: aload_0
    //   36: ldc2_w 86
    //   39: putfield 97	com/wowza/wms/stream/rtp/RTPPlayer:e	J
    //   42: aload_0
    //   43: aload_1
    //   44: invokevirtual 173	com/wowza/wms/rtp/model/RTPStream:getVODPlayLen	()J
    //   47: l2d
    //   48: putfield 177	com/wowza/wms/stream/live/LivePlayer:playLen	D
    //   51: aload_0
    //   52: new 179	com/wowza/wms/stream/file/PlaylistCursor
    //   55: dup
    //   56: invokespecial 182	com/wowza/wms/stream/file/PlaylistCursor:<init>	()V
    //   59: putfield 99	com/wowza/wms/stream/rtp/RTPPlayer:f	Lcom/wowza/wms/stream/file/PlaylistCursor;
    //   62: aload_0
    //   63: bipush 8
    //   65: newarray <illegal type>
    //   67: putfield 101	com/wowza/wms/stream/rtp/RTPPlayer:g	[J
    //   70: aload_0
    //   71: dup
    //   72: getfield 99	com/wowza/wms/stream/rtp/RTPPlayer:f	Lcom/wowza/wms/stream/file/PlaylistCursor;
    //   75: invokevirtual 186	com/wowza/wms/stream/file/PlaylistCursor:getWriteControl	()Lcom/wowza/wms/stream/file/PlaylistWriteControl;
    //   78: putfield 103	com/wowza/wms/stream/rtp/RTPPlayer:h	Lcom/wowza/wms/stream/file/PlaylistWriteControl;
    //   81: aload_0
    //   82: dup
    //   83: getfield 99	com/wowza/wms/stream/rtp/RTPPlayer:f	Lcom/wowza/wms/stream/file/PlaylistCursor;
    //   86: invokevirtual 190	com/wowza/wms/stream/file/PlaylistCursor:getWriteResults	()Lcom/wowza/wms/stream/file/PlaylistReaderWriteResults;
    //   89: putfield 105	com/wowza/wms/stream/rtp/RTPPlayer:i	Lcom/wowza/wms/stream/file/PlaylistReaderWriteResults;
    //   92: aload_0
    //   93: iconst_0
    //   94: putfield 193	com/wowza/wms/stream/live/LivePlayer:waitForBufferFill	Z
    //   97: aload_0
    //   98: iconst_0
    //   99: putfield 196	com/wowza/wms/stream/live/LivePlayer:instantOn	Z
    //   102: aload_0
    //   103: iconst_0
    //   104: putfield 38	com/wowza/wms/stream/live/LivePlayer:waitForKeyFrame	Z
    //   107: goto -85 -> 22
    //   110: aload_3
    //   111: athrow
    //   112: monitorenter
    //   113: goto -101 -> 12
    //   116: return
    //   117: astore_3
    //   118: aload_2
    //   119: monitorexit
    //   120: goto -10 -> 110
    // Line number table:
    //   Java source line #175	-> byte code offset #0
    //   Java source line #192	-> byte code offset #9
    //   Java source line #177	-> byte code offset #12
    //   Java source line #192	-> byte code offset #22
    //   Java source line #179	-> byte code offset #27
    //   Java source line #180	-> byte code offset #35
    //   Java source line #181	-> byte code offset #42
    //   Java source line #183	-> byte code offset #51
    //   Java source line #184	-> byte code offset #62
    //   Java source line #185	-> byte code offset #70
    //   Java source line #186	-> byte code offset #81
    //   Java source line #188	-> byte code offset #92
    //   Java source line #189	-> byte code offset #97
    //   Java source line #190	-> byte code offset #102
    //   Java source line #192	-> byte code offset #110
    //   Java source line #175	-> byte code offset #112
    //   Java source line #193	-> byte code offset #116
    //   Java source line #192	-> byte code offset #117
    // Exception table:
    //   from	to	target	type
    //   12	110	117	finally
    //   117	123	117	finally
  }
  
  /* Error */
  public java.util.List<com.wowza.wms.amf.AMFPacket> peekVODPackets(com.wowza.wms.rtp.model.RTPStream arg1, long arg2)
  {
    // Byte code:
    //   0: new 200	java/util/ArrayList
    //   3: dup
    //   4: invokespecial 201	java/util/ArrayList:<init>	()V
    //   7: astore 4
    //   9: aload_0
    //   10: getfield 158	com/wowza/wms/stream/live/LivePlayer:lock	Ljava/lang/Object;
    //   13: dup
    //   14: astore 5
    //   16: goto +118 -> 134
    //   19: astore 10
    //   21: aload 5
    //   23: monitorexit
    //   24: goto +6 -> 30
    //   27: aload 4
    //   29: areturn
    //   30: aload 10
    //   32: athrow
    //   33: aload_0
    //   34: aload_1
    //   35: invokevirtual 203	com/wowza/wms/stream/rtp/RTPPlayer:startVODStreaming	(Lcom/wowza/wms/rtp/model/RTPStream;)V
    //   38: aload_0
    //   39: getfield 97	com/wowza/wms/stream/rtp/RTPPlayer:e	J
    //   42: lconst_0
    //   43: lcmp
    //   44: iflt +76 -> 120
    //   47: goto +80 -> 127
    //   50: lload_2
    //   51: ladd
    //   52: lstore 6
    //   54: aload_0
    //   55: getfield 103	com/wowza/wms/stream/rtp/RTPPlayer:h	Lcom/wowza/wms/stream/file/PlaylistWriteControl;
    //   58: lload 6
    //   60: invokevirtual 208	com/wowza/wms/stream/file/PlaylistWriteControl:setMaxTC	(J)V
    //   63: aload_1
    //   64: invokevirtual 212	com/wowza/wms/rtp/model/RTPStream:getMediaReader	()Lcom/wowza/wms/stream/IMediaReader;
    //   67: astore 8
    //   69: aload 8
    //   71: invokeinterface 218 1 0
    //   76: astore 9
    //   78: aload 8
    //   80: aload 4
    //   82: aload_0
    //   83: getfield 99	com/wowza/wms/stream/rtp/RTPPlayer:f	Lcom/wowza/wms/stream/file/PlaylistCursor;
    //   86: aload_0
    //   87: getfield 103	com/wowza/wms/stream/rtp/RTPPlayer:h	Lcom/wowza/wms/stream/file/PlaylistWriteControl;
    //   90: aload_0
    //   91: getfield 105	com/wowza/wms/stream/rtp/RTPPlayer:i	Lcom/wowza/wms/stream/file/PlaylistReaderWriteResults;
    //   94: aload_0
    //   95: getfield 101	com/wowza/wms/stream/rtp/RTPPlayer:g	[J
    //   98: aconst_null
    //   99: invokeinterface 222 7 0
    //   104: pop
    //   105: aload 8
    //   107: aload 9
    //   109: invokeinterface 226 2 0
    //   114: aload 5
    //   116: monitorexit
    //   117: goto +21 -> 138
    //   120: aload_0
    //   121: getfield 95	com/wowza/wms/stream/rtp/RTPPlayer:d	J
    //   124: goto -74 -> 50
    //   127: aload_0
    //   128: getfield 97	com/wowza/wms/stream/rtp/RTPPlayer:e	J
    //   131: goto -81 -> 50
    //   134: monitorenter
    //   135: goto -102 -> 33
    //   138: goto -111 -> 27
    // Line number table:
    //   Java source line #197	-> byte code offset #0
    //   Java source line #199	-> byte code offset #9
    //   Java source line #211	-> byte code offset #19
    //   Java source line #213	-> byte code offset #27
    //   Java source line #211	-> byte code offset #30
    //   Java source line #201	-> byte code offset #33
    //   Java source line #203	-> byte code offset #38
    //   Java source line #205	-> byte code offset #54
    //   Java source line #207	-> byte code offset #63
    //   Java source line #208	-> byte code offset #69
    //   Java source line #209	-> byte code offset #78
    //   Java source line #210	-> byte code offset #105
    //   Java source line #211	-> byte code offset #114
    //   Java source line #203	-> byte code offset #120
    //   Java source line #199	-> byte code offset #134
    //   Java source line #211	-> byte code offset #138
    // Exception table:
    //   from	to	target	type
    //   19	27	19	finally
    //   33	134	19	finally
  }
  
  /* Error */
  public void resetVODThrottling(long arg1)
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 158	com/wowza/wms/stream/live/LivePlayer:lock	Ljava/lang/Object;
    //   4: dup
    //   5: astore_3
    //   6: goto +10 -> 16
    //   9: astore 4
    //   11: aload_3
    //   12: monitorexit
    //   13: goto +8 -> 21
    //   16: monitorenter
    //   17: goto +10 -> 27
    //   20: return
    //   21: aload 4
    //   23: athrow
    //   24: goto -4 -> 20
    //   27: aload_0
    //   28: dup
    //   29: getfield 97	com/wowza/wms/stream/rtp/RTPPlayer:e	J
    //   32: lconst_0
    //   33: lcmp
    //   34: iflt +25 -> 59
    //   37: goto +26 -> 63
    //   40: putfield 95	com/wowza/wms/stream/rtp/RTPPlayer:d	J
    //   43: aload_0
    //   44: invokestatic 234	java/lang/System:currentTimeMillis	()J
    //   47: ldc2_w 235
    //   50: lsub
    //   51: putfield 93	com/wowza/wms/stream/rtp/RTPPlayer:c	J
    //   54: aload_3
    //   55: monitorexit
    //   56: goto -32 -> 24
    //   59: lload_1
    //   60: goto -20 -> 40
    //   63: aload_0
    //   64: getfield 97	com/wowza/wms/stream/rtp/RTPPlayer:e	J
    //   67: goto -27 -> 40
    // Line number table:
    //   Java source line #218	-> byte code offset #0
    //   Java source line #222	-> byte code offset #9
    //   Java source line #218	-> byte code offset #16
    //   Java source line #223	-> byte code offset #20
    //   Java source line #222	-> byte code offset #21
    //   Java source line #220	-> byte code offset #27
    //   Java source line #221	-> byte code offset #43
    //   Java source line #222	-> byte code offset #54
    //   Java source line #220	-> byte code offset #59
    // Exception table:
    //   from	to	target	type
    //   9	16	9	finally
    //   27	70	9	finally
  }
  
  /* Error */
  protected int playAll(IMediaStream arg1, OutputStream arg2, AMFObj arg3, AMFObj arg4, AMFObj arg5, long[] arg6)
  {
    // Byte code:
    //   0: iconst_0
    //   1: istore 7
    //   3: aload_0
    //   4: getfield 118	com/wowza/wms/stream/live/LivePlayer:stream	Lcom/wowza/wms/stream/IMediaStreamPlay;
    //   7: invokeinterface 124 1 0
    //   12: invokeinterface 243 1 0
    //   17: ifne +2352 -> 2369
    //   20: goto +2323 -> 2343
    //   23: goto +2293 -> 2316
    //   26: ldc2_w 86
    //   29: lstore 24
    //   31: bipush 7
    //   33: istore 26
    //   35: iconst_0
    //   36: istore 27
    //   38: lconst_0
    //   39: lstore 28
    //   41: aconst_null
    //   42: astore 30
    //   44: aconst_null
    //   45: astore 31
    //   47: aconst_null
    //   48: astore 32
    //   50: new 245	java/lang/StringBuilder
    //   53: dup
    //   54: invokespecial 246	java/lang/StringBuilder:<init>	()V
    //   57: bipush 55
    //   59: bipush 27
    //   61: swap
    //   62: imul
    //   63: ldc -8
    //   65: invokestatic 70	com/wowza/util/Base64:endsWith	(ILjava/lang/String;)Ljava/lang/String;
    //   68: invokevirtual 252	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   71: aload_0
    //   72: getfield 118	com/wowza/wms/stream/live/LivePlayer:stream	Lcom/wowza/wms/stream/IMediaStreamPlay;
    //   75: invokeinterface 124 1 0
    //   80: invokeinterface 255 1 0
    //   85: invokevirtual 258	java/lang/StringBuilder:append	(I)Ljava/lang/StringBuilder;
    //   88: invokevirtual 262	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   91: astore 33
    //   93: aconst_null
    //   94: astore 34
    //   96: lconst_0
    //   97: lstore 35
    //   99: iconst_0
    //   100: istore 37
    //   102: iconst_0
    //   103: istore 38
    //   105: iconst_1
    //   106: istore 39
    //   108: aload_0
    //   109: getfield 158	com/wowza/wms/stream/live/LivePlayer:lock	Ljava/lang/Object;
    //   112: dup
    //   113: astore 40
    //   115: goto +2241 -> 2356
    //   118: aload 9
    //   120: invokevirtual 137	com/wowza/wms/rtp/model/RTPStream:getVideoTrack	()Lcom/wowza/wms/rtp/model/RTPTrack;
    //   123: astore 19
    //   125: aload 9
    //   127: invokevirtual 140	com/wowza/wms/rtp/model/RTPStream:getAudioTrack	()Lcom/wowza/wms/rtp/model/RTPTrack;
    //   130: astore 20
    //   132: goto +2096 -> 2228
    //   135: aload 21
    //   137: astore 19
    //   139: aload 21
    //   141: astore 20
    //   143: goto +2085 -> 2228
    //   146: iload 7
    //   148: ireturn
    //   149: aload 44
    //   151: monitorexit
    //   152: goto +2201 -> 2353
    //   155: ldc2_w 86
    //   158: lstore 40
    //   160: iload 37
    //   162: istore 42
    //   164: goto +2152 -> 2316
    //   167: astore 56
    //   169: aload 40
    //   171: monitorexit
    //   172: goto +2188 -> 2360
    //   175: aload 9
    //   177: invokevirtual 265	com/wowza/wms/rtp/model/RTPStream:isResetPlayStream	()Z
    //   180: istore 41
    //   182: iload 41
    //   184: ifeq +531 -> 715
    //   187: goto +1021 -> 1208
    //   190: iload 13
    //   192: ifeq +929 -> 1121
    //   195: goto +1422 -> 1617
    //   198: aload_0
    //   199: getfield 268	com/wowza/wms/stream/live/LivePlayer:lastSeq	J
    //   202: ldc2_w 86
    //   205: lcmp
    //   206: ifeq +1633 -> 1839
    //   209: goto +130 -> 339
    //   212: iload 26
    //   214: bipush 7
    //   216: if_icmpeq +67 -> 283
    //   219: goto +1611 -> 1830
    //   222: aload_0
    //   223: lload 14
    //   225: putfield 271	com/wowza/wms/stream/live/LivePlayer:waitForBufferFillStarTime	J
    //   228: goto +458 -> 686
    //   231: goto +575 -> 806
    //   234: lconst_0
    //   235: lstore 44
    //   237: aload_0
    //   238: getfield 62	com/wowza/wms/stream/rtp/RTPPlayer:k	Lcom/wowza/wms/stream/rtp/RTPPlayer$PacketTimecodeDebug;
    //   241: getfield 273	com/wowza/wms/stream/rtp/RTPPlayer$PacketTimecodeDebug:i	J
    //   244: lconst_0
    //   245: lcmp
    //   246: iflt +1628 -> 1874
    //   249: goto +509 -> 758
    //   252: goto +1914 -> 2166
    //   255: aconst_null
    //   256: invokestatic 47	com/wowza/wms/logging/WMSLoggerFactory:getLogger	(Ljava/lang/Class;)Lcom/wowza/wms/logging/WMSLogger;
    //   259: aload 48
    //   261: invokevirtual 277	com/wowza/wms/logging/WMSLogger:info	(Ljava/lang/String;)V
    //   264: goto +1397 -> 1661
    //   267: aload_0
    //   268: iload 26
    //   270: putfield 281	com/wowza/wms/stream/live/LivePlayer:lastTCFilter	I
    //   273: aload_0
    //   274: getfield 284	com/wowza/wms/stream/live/LivePlayer:disableLowBandwidthThrottling	Z
    //   277: ifeq +130 -> 407
    //   280: goto +510 -> 790
    //   283: iconst_1
    //   284: istore 26
    //   286: aload_0
    //   287: iconst_1
    //   288: putfield 38	com/wowza/wms/stream/live/LivePlayer:waitForKeyFrame	Z
    //   291: goto +1364 -> 1655
    //   294: aload 12
    //   296: ifnonnull +1293 -> 1589
    //   299: goto +1123 -> 1422
    //   302: aload_1
    //   303: ifnonnull +759 -> 1062
    //   306: goto +491 -> 797
    //   309: aload 11
    //   311: iload 48
    //   313: iconst_1
    //   314: isub
    //   315: invokeinterface 290 2 0
    //   320: checkcast 292	com/wowza/wms/amf/AMFPacket
    //   323: invokevirtual 295	com/wowza/wms/amf/AMFPacket:getSeq	()J
    //   326: lstore 46
    //   328: goto +1603 -> 1931
    //   331: iload 47
    //   333: ifge +741 -> 1074
    //   336: goto +298 -> 634
    //   339: aload 11
    //   341: iload 37
    //   343: invokeinterface 290 2 0
    //   348: checkcast 292	com/wowza/wms/amf/AMFPacket
    //   351: astore 34
    //   353: aload 34
    //   355: invokevirtual 295	com/wowza/wms/amf/AMFPacket:getSeq	()J
    //   358: aload_0
    //   359: getfield 268	com/wowza/wms/stream/live/LivePlayer:lastSeq	J
    //   362: lconst_1
    //   363: ladd
    //   364: lcmp
    //   365: ifeq +1474 -> 1839
    //   368: goto +1611 -> 1979
    //   371: aload 44
    //   373: aload 33
    //   375: invokevirtual 301	com/wowza/wms/rtp/model/RTPResponseTracker:getInfo	(Ljava/lang/String;)Ljava/lang/Object;
    //   378: checkcast 12	com/wowza/wms/stream/live/LivePlayer$LiveTracker
    //   381: goto +1226 -> 1607
    //   384: istore 37
    //   386: iload 37
    //   388: ifge +1147 -> 1535
    //   391: goto +1096 -> 1487
    //   394: iload 50
    //   396: bipush 9
    //   398: if_icmpne +1237 -> 1635
    //   401: goto +69 -> 470
    //   404: goto +34 -> 438
    //   407: aload_0
    //   408: lload 28
    //   410: putfield 304	com/wowza/wms/stream/live/LivePlayer:lastTCOffset	J
    //   413: aload_0
    //   414: getfield 118	com/wowza/wms/stream/live/LivePlayer:stream	Lcom/wowza/wms/stream/IMediaStreamPlay;
    //   417: invokeinterface 124 1 0
    //   422: invokeinterface 307 1 0
    //   427: istore 44
    //   429: iload 44
    //   431: iconst_m1
    //   432: if_icmpge +1223 -> 1655
    //   435: goto +1321 -> 1756
    //   438: iinc 46 -1
    //   441: goto +444 -> 885
    //   444: aload 34
    //   446: invokevirtual 310	com/wowza/wms/amf/AMFPacket:getAbsTimecode	()J
    //   449: lstore 51
    //   451: aload 34
    //   453: invokevirtual 295	com/wowza/wms/amf/AMFPacket:getSeq	()J
    //   456: lstore 53
    //   458: lload 44
    //   460: ldc2_w 86
    //   463: lcmp
    //   464: ifne +1054 -> 1518
    //   467: goto +964 -> 1431
    //   470: aload 34
    //   472: invokestatic 316	com/wowza/util/FLVUtils:isVideoKeyFrame	(Lcom/wowza/wms/amf/AMFPacket;)Z
    //   475: istore 55
    //   477: iload 55
    //   479: ifeq +1156 -> 1635
    //   482: goto +1371 -> 1853
    //   485: iload 16
    //   487: ifeq +26 -> 513
    //   490: goto +1370 -> 1860
    //   493: aload_0
    //   494: getfield 193	com/wowza/wms/stream/live/LivePlayer:waitForBufferFill	Z
    //   497: ifeq +1426 -> 1923
    //   500: goto +447 -> 947
    //   503: aload_0
    //   504: getfield 319	com/wowza/wms/stream/live/LivePlayer:waitForBufferKeyFrame	Z
    //   507: ifeq +1082 -> 1589
    //   510: goto -216 -> 294
    //   513: aload 11
    //   515: iconst_0
    //   516: invokeinterface 290 2 0
    //   521: checkcast 292	com/wowza/wms/amf/AMFPacket
    //   524: astore 34
    //   526: aload_0
    //   527: getfield 193	com/wowza/wms/stream/live/LivePlayer:waitForBufferFill	Z
    //   530: ifeq +1059 -> 1589
    //   533: goto +665 -> 1198
    //   536: goto -205 -> 331
    //   539: iload 26
    //   541: bipush 7
    //   543: if_icmpne +363 -> 906
    //   546: goto +134 -> 680
    //   549: aload_0
    //   550: getfield 89	com/wowza/wms/stream/rtp/RTPPlayer:a	J
    //   553: lconst_0
    //   554: lcmp
    //   555: iflt +83 -> 638
    //   558: goto +60 -> 618
    //   561: invokevirtual 252	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   564: bipush 22
    //   566: bipush 52
    //   568: isub
    //   569: ldc_w 321
    //   572: invokestatic 70	com/wowza/util/Base64:endsWith	(ILjava/lang/String;)Ljava/lang/String;
    //   575: invokevirtual 252	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   578: lload 44
    //   580: invokevirtual 324	java/lang/StringBuilder:append	(J)Ljava/lang/StringBuilder;
    //   583: ldc_w 326
    //   586: sipush 772
    //   589: bipush 124
    //   591: idiv
    //   592: invokestatic 332	com/wowza/util/JSON:copyValueOf	(Ljava/lang/String;I)Ljava/lang/String;
    //   595: invokevirtual 252	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   598: lload 46
    //   600: invokevirtual 324	java/lang/StringBuilder:append	(J)Ljava/lang/StringBuilder;
    //   603: invokevirtual 262	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   606: astore 48
    //   608: aload_0
    //   609: getfield 56	com/wowza/wms/stream/live/LivePlayer:isDebugLog	Z
    //   612: ifeq -357 -> 255
    //   615: goto +88 -> 703
    //   618: lload 53
    //   620: aload_0
    //   621: getfield 89	com/wowza/wms/stream/rtp/RTPPlayer:a	J
    //   624: lcmp
    //   625: iflt -231 -> 394
    //   628: goto +271 -> 899
    //   631: goto +1535 -> 2166
    //   634: iconst_0
    //   635: goto +1131 -> 1766
    //   638: lload 44
    //   640: lload 51
    //   642: lsub
    //   643: lload 48
    //   645: lcmp
    //   646: ifle -252 -> 394
    //   649: goto +1267 -> 1916
    //   652: aload 32
    //   654: invokevirtual 338	com/wowza/wms/rtp/model/RTPWriteListener:getLastTracker	()Lcom/wowza/wms/rtp/model/RTPResponseTracker;
    //   657: astore 44
    //   659: aload 44
    //   661: ifnonnull -290 -> 371
    //   664: goto +1140 -> 1804
    //   667: aload_0
    //   668: getfield 268	com/wowza/wms/stream/live/LivePlayer:lastSeq	J
    //   671: lload 35
    //   673: lsub
    //   674: lconst_1
    //   675: ladd
    //   676: l2i
    //   677: goto -293 -> 384
    //   680: iconst_3
    //   681: istore 26
    //   683: goto +972 -> 1655
    //   686: iload 44
    //   688: ifeq +901 -> 1589
    //   691: goto +978 -> 1669
    //   694: iload 47
    //   696: iconst_m1
    //   697: if_icmpne -303 -> 394
    //   700: goto -151 -> 549
    //   703: aconst_null
    //   704: invokestatic 47	com/wowza/wms/logging/WMSLoggerFactory:getLogger	(Ljava/lang/Class;)Lcom/wowza/wms/logging/WMSLogger;
    //   707: aload 48
    //   709: invokevirtual 341	com/wowza/wms/logging/WMSLogger:debug	(Ljava/lang/String;)V
    //   712: goto +949 -> 1661
    //   715: aload 9
    //   717: invokevirtual 344	com/wowza/wms/rtp/model/RTPStream:isLive	()Z
    //   720: istore 13
    //   722: aload 9
    //   724: invokevirtual 347	com/wowza/wms/rtp/model/RTPStream:isPaused	()Z
    //   727: istore 42
    //   729: aload 9
    //   731: invokevirtual 350	com/wowza/wms/rtp/model/RTPStream:isStreamStarted	()Z
    //   734: istore 43
    //   736: iload 42
    //   738: ifne +1428 -> 2166
    //   741: goto +769 -> 1510
    //   744: lload 28
    //   746: aload_0
    //   747: getfield 353	com/wowza/wms/stream/live/LivePlayer:behindDropDFrames	I
    //   750: i2l
    //   751: lcmp
    //   752: ifle +1142 -> 1894
    //   755: goto +1069 -> 1824
    //   758: lload 14
    //   760: aload_0
    //   761: getfield 62	com/wowza/wms/stream/rtp/RTPPlayer:k	Lcom/wowza/wms/stream/rtp/RTPPlayer$PacketTimecodeDebug;
    //   764: getfield 273	com/wowza/wms/stream/rtp/RTPPlayer$PacketTimecodeDebug:i	J
    //   767: lsub
    //   768: lstore 44
    //   770: goto +1104 -> 1874
    //   773: aload 11
    //   775: invokeinterface 356 1 0
    //   780: istore 48
    //   782: iload 48
    //   784: ifle +1147 -> 1931
    //   787: goto -478 -> 309
    //   790: bipush 7
    //   792: istore 26
    //   794: goto -387 -> 407
    //   797: goto +1369 -> 2166
    //   800: iconst_1
    //   801: istore 27
    //   803: goto +900 -> 1703
    //   806: iload 48
    //   808: iconst_2
    //   809: if_icmple +780 -> 1589
    //   812: goto +626 -> 1438
    //   815: aload 44
    //   817: invokevirtual 359	com/wowza/wms/rtp/model/RTPResponseTracker:getSent	()J
    //   820: lstore 46
    //   822: aload 44
    //   824: invokevirtual 362	com/wowza/wms/rtp/model/RTPResponseTracker:getSize	()J
    //   827: lstore 48
    //   829: aload 45
    //   831: getfield 365	com/wowza/wms/stream/live/LivePlayer$LiveTracker:firstTC	J
    //   834: aload 45
    //   836: getfield 368	com/wowza/wms/stream/live/LivePlayer$LiveTracker:lastTC	J
    //   839: aload 45
    //   841: getfield 365	com/wowza/wms/stream/live/LivePlayer$LiveTracker:firstTC	J
    //   844: lsub
    //   845: lload 46
    //   847: lmul
    //   848: lload 48
    //   850: ldiv
    //   851: ladd
    //   852: lstore 50
    //   854: aload_0
    //   855: getfield 372	com/wowza/wms/stream/live/LivePlayer:lastSentLiveTracker	Lcom/wowza/wms/stream/live/LivePlayer$LiveTracker;
    //   858: getfield 368	com/wowza/wms/stream/live/LivePlayer$LiveTracker:lastTC	J
    //   861: lload 50
    //   863: lsub
    //   864: aload_0
    //   865: getfield 375	com/wowza/wms/stream/live/LivePlayer:trackerBufferTime	J
    //   868: lsub
    //   869: lstore 28
    //   871: lload 28
    //   873: aload_0
    //   874: getfield 378	com/wowza/wms/stream/live/LivePlayer:behindDropAudio	I
    //   877: i2l
    //   878: lcmp
    //   879: ifle +824 -> 1703
    //   882: goto -82 -> 800
    //   885: iload 46
    //   887: iflt -556 -> 331
    //   890: goto +26 -> 916
    //   893: iconst_0
    //   894: istore 26
    //   896: goto +998 -> 1894
    //   899: iload 46
    //   901: istore 47
    //   903: goto -509 -> 394
    //   906: iload 44
    //   908: bipush -3
    //   910: if_icmpne +745 -> 1655
    //   913: goto -701 -> 212
    //   916: aload 11
    //   918: iload 46
    //   920: invokeinterface 290 2 0
    //   925: checkcast 292	com/wowza/wms/amf/AMFPacket
    //   928: astore 34
    //   930: aload 34
    //   932: invokevirtual 381	com/wowza/wms/amf/AMFPacket:getType	()I
    //   935: istore 50
    //   937: iload 50
    //   939: bipush 9
    //   941: if_icmpeq -497 -> 444
    //   944: goto +1025 -> 1969
    //   947: aload_0
    //   948: getfield 196	com/wowza/wms/stream/live/LivePlayer:instantOn	Z
    //   951: ifeq +972 -> 1923
    //   954: goto +30 -> 984
    //   957: aload 11
    //   959: iload 49
    //   961: invokeinterface 290 2 0
    //   966: checkcast 292	com/wowza/wms/amf/AMFPacket
    //   969: astore 50
    //   971: aload 50
    //   973: invokevirtual 381	com/wowza/wms/amf/AMFPacket:getType	()I
    //   976: bipush 9
    //   978: if_icmpne +581 -> 1559
    //   981: goto +710 -> 1691
    //   984: aload_0
    //   985: getfield 384	com/wowza/wms/stream/live/LivePlayer:sendFirstKeyFrame	Z
    //   988: ifeq +935 -> 1923
    //   991: goto +788 -> 1779
    //   994: aload_0
    //   995: getfield 387	com/wowza/wms/stream/live/LivePlayer:bufferEmptyOnce	Z
    //   998: ifeq -51 -> 947
    //   1001: goto -508 -> 493
    //   1004: aload 45
    //   1006: getfield 390	com/wowza/wms/stream/live/LivePlayer$LiveTracker:trackerSeq	J
    //   1009: aload_0
    //   1010: getfield 393	com/wowza/wms/stream/live/LivePlayer:trackerStartSeq	J
    //   1013: lcmp
    //   1014: iflt -607 -> 407
    //   1017: goto -202 -> 815
    //   1020: aload_1
    //   1021: invokeinterface 396 1 0
    //   1026: goto -465 -> 561
    //   1029: aload_0
    //   1030: lload 14
    //   1032: putfield 93	com/wowza/wms/stream/rtp/RTPPlayer:c	J
    //   1035: goto -845 -> 190
    //   1038: lload 28
    //   1040: aload_0
    //   1041: getfield 399	com/wowza/wms/stream/live/LivePlayer:behindDropPFrames	I
    //   1044: i2l
    //   1045: lcmp
    //   1046: ifle -302 -> 744
    //   1049: goto +769 -> 1818
    //   1052: aload_0
    //   1053: getfield 62	com/wowza/wms/stream/rtp/RTPPlayer:k	Lcom/wowza/wms/stream/rtp/RTPPlayer$PacketTimecodeDebug;
    //   1056: ifnull +605 -> 1661
    //   1059: goto -825 -> 234
    //   1062: aload_0
    //   1063: getfield 93	com/wowza/wms/stream/rtp/RTPPlayer:c	J
    //   1066: lconst_0
    //   1067: lcmp
    //   1068: ifge -878 -> 190
    //   1071: goto -42 -> 1029
    //   1074: iload 47
    //   1076: goto +690 -> 1766
    //   1079: iconst_1
    //   1080: istore 44
    //   1082: aload_0
    //   1083: getfield 118	com/wowza/wms/stream/live/LivePlayer:stream	Lcom/wowza/wms/stream/IMediaStreamPlay;
    //   1086: invokeinterface 124 1 0
    //   1091: invokeinterface 402 1 0
    //   1096: i2l
 
1 2 3 4

Further reading...

For more information on Java 1.5 Tiger, you may find Java 1.5 Tiger, A developer's Notebook by D. Flanagan and B. McLaughlin from O'Reilly of interest.

New!JAR listings


Copyright 2006-2019. Infinite Loop Ltd