wms-stream-file

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

import com.wowza.util.JSON;
import com.wowza.util.URLUtils;
import com.wowza.wms.amf.AMFObj;
import com.wowza.wms.application.IApplicationInstance;
import com.wowza.wms.logging.WMSLogger;
import com.wowza.wms.logging.WMSLoggerFactory;
import com.wowza.wms.stream.IMediaStream;
import com.wowza.wms.stream.MediaStreamMap;
import com.wowza.wms.stream.MediaStreamPlay;
import java.io.OutputStream;
import java.net.URL;

public class MediaStreamFilePlay
  extends MediaStreamPlay
{
  private Playlist a = null;
  private PlaylistPlayer b = null;
  private boolean c = true;
  
  public Playlist getPlaylist()
  {
    return a;
  }
  
  public void init(IMediaStream paramIMediaStream, MediaStreamMap paramMediaStreamMap)
  {
    super.init(paramIMediaStream, paramMediaStreamMap);
    a = new Playlist();
    b = new PlaylistPlayer(a, paramIMediaStream);
  }
  
  public void switchName(String paramString1, String paramString2, String paramString3, String paramString4, double paramDouble1, double paramDouble2, int paramInt)
  {
    if (b == null) {}
    for (;; b.switchName(paramString1, paramString2, paramString3, paramString4, paramDouble1, paramDouble2, paramInt)) {
      return;
    }
  }
  
  public void stopName(String paramString1, String paramString2, String paramString3, String paramString4, double paramDouble1, double paramDouble2, int paramInt) {}
  
  public void setName(String paramString1, String paramString2, String paramString3, String paramString4, double paramDouble1, double paramDouble2, int paramInt)
  {
    if (a == null) {
      break label212;
    }
    for (;;)
    {
      return;
      try
      {
        PlaylistNode localPlaylistNode;
        if (paramInt != 1)
        {
          break label193;
          localPlaylistNode = new PlaylistNode();
          
          localPlaylistNode.setName(paramString1);
          localPlaylistNode.setPlayStart(paramDouble1);
          localPlaylistNode.setPlayLen(paramDouble2);
          localPlaylistNode.setPlayReset(paramInt);
          localPlaylistNode.setStreamExt(paramString3);
          localPlaylistNode.setQueryStr(paramString4);
          
          String str1 = parent.getStreams().getAppInstance().getStreamStoragePath();
          
          str1 = URLUtils.pathToFileURL(str1);
          String str2 = str1 + "/" + paramString1 + "." + localPlaylistNode.getStreamExt();
          URL localURL = new URL(str2);
          localPlaylistNode.setURL(localURL);
          if (a.size() == 0) {
            break label202;
          }
        }
        for (;;)
        {
          a.add(localPlaylistNode); break;
          label193:
          for (;; paramInt != 3)
          {
            reset(true);
            a.clear(); break;
          }
          label202:
          b.playStart();
        }
        label212:
        return;
      }
      catch (Exception localException) {}
      WMSLoggerFactory.getLogger(MediaStreamFilePlay.class).error(JSON.copyValueOf("w`rIido+", 55 + 109), localException);
    }
  }
  
  public void seek(int paramInt)
  {
    if (b == null) {}
    for (;; b.seek(paramInt)) {
      return;
    }
  }
  
  public void pause(int paramInt, long paramLong)
  {
    if (b == null) {}
    for (;; b.pause(paramInt, paramLong)) {
      return;
    }
  }
  
  public void pauseRaw(int paramInt, long paramLong)
  {
    if (b == null) {}
    for (;; b.pauseRaw(paramInt, paramLong)) {
      return;
    }
  }
  
  public int play(OutputStream paramOutputStream, AMFObj paramAMFObj1, AMFObj paramAMFObj2, AMFObj paramAMFObj3, long[] paramArrayOfLong)
  {
    if (!parent.isOpen())
    {
      break label46;
      return 0;
    }
    else
    {
      for (;; b == null) {
        return b.play(parent, paramOutputStream, paramAMFObj1, paramAMFObj2, paramAMFObj3, paramArrayOfLong);
      }
    }
    label46:
    return 0;
  }
  
  /* Error */
  public boolean play()
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 70	com/wowza/wms/stream/MediaStreamPlay:parent	Lcom/wowza/wms/stream/IMediaStream;
    //   4: invokeinterface 178 1 0
    //   9: ifne +11 -> 20
    //   12: goto +18 -> 30
    //   15: ireturn
    //   16: iconst_0
    //   17: goto -2 -> 15
    //   20: aload_0
    //   21: getfield 19	com/wowza/wms/stream/file/MediaStreamFilePlay:b	Lcom/wowza/wms/stream/file/PlaylistPlayer;
    //   24: ifnull -8 -> 16
    //   27: goto +5 -> 32
    //   30: iconst_0
    //   31: ireturn
    //   32: iconst_1
    //   33: goto -18 -> 15
    // Line number table:
    //   Java source line #117	-> byte code offset #0
    //   Java source line #119	-> byte code offset #15
    //   Java source line #118	-> byte code offset #30
    //   Java source line #119	-> byte code offset #32
  }
  
  public void setBufferTime(int paramInt)
  {
    super.setBufferTime(paramInt);
    if (b == null) {}
    for (;; b.setBufferTime(paramInt)) {
      return;
    }
  }
  
  public void resetNoLookup()
  {
    reset(true);
  }
  
  public void reset(boolean paramBoolean)
  {
    if (b == null) {}
    for (;; b.reset(paramBoolean)) {
      return;
    }
  }
  
  public void shutdown()
  {
    if (b != null) {
      break label20;
    }
    for (;;)
    {
      a.clear();
      break label30;
      label20:
      b.shutdown();
      label30:
      do
      {
        a = null;
        return;b = null;
      } while (a == null);
    }
  }
  
  public void close() {}
  
  public void interruptPlay()
  {
    if (b == null) {}
    for (;; b.interruptPlay()) {
      return;
    }
  }
  
  public void startPlay()
  {
    if (b == null) {}
    for (;; b.startPlay()) {
      return;
    }
  }
  
  public void switchPlay()
  {
    if (b == null) {}
    for (;; b.switchPlay()) {
      return;
    }
  }
  
  public boolean isThrottled()
  {
    return c;
  }
  
  public void setThrottled(boolean paramBoolean)
  {
    c = paramBoolean;
  }
  
  public void updateLoggingValues()
  {
    if (b == null) {}
    for (;; b.updateLoggingValues()) {
      return;
    }
  }
  
  public double length()
  {
    double d = 0.0D;
    if (b == null) {}
    for (;; d = b.length()) {
      return d;
    }
  }
  
  public long size()
  {
    long l = 0L;
    if (b == null) {}
    for (;; l = b.size()) {
      return l;
    }
  }
}

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

import com.wowza.util.Base64;
import com.wowza.util.JSON;
import com.wowza.wms.logging.WMSLogger;
import com.wowza.wms.logging.WMSLoggerFactory;

public class MediaStreamIndex
{
  private long[] a = null;
  private int b = 0;
  private boolean c = false;
  
  public void reset()
  {
    a = null;
    b = 0;
    c = false;
  }
  
  public MediaStreamIndex clone()
  {
    MediaStreamIndex localMediaStreamIndex = new MediaStreamIndex();
    
    b = 0;
    c = c;
    if (a == null) {}
    for (;;)
    {
      return localMediaStreamIndex;a = new long[a.length];System.arraycopy(a, 0, a, 0, a.length); MediaStreamIndex tmp63_62 = localMediaStreamIndex;6362b = 6362a.length;
    }
  }
  
  public void indexFileDump()
  {
    WMSLoggerFactory.getLogger(MediaStreamIndex.class).info(Base64.endsWith(18 + 19, "qnn{'lb`hGattj_q{,7") + b);
    int i = 0;
    break label104;
    return;
    for (;;)
    {
      WMSLoggerFactory.getLogger(MediaStreamIndex.class).info(JSON.copyValueOf("#$^", '?' / 116) + i + JSON.copyValueOf("\013w", 4 + 114) + a[i]);i++;
      label104:
      if (i >= b) {
        break;
      }
    }
  }
  
  /* Error */
  public void indexFileIncSize(int arg1)
  {
    // Byte code:
    //   0: iload_1
    //   1: aload_0
    //   2: getfield 17	com/wowza/wms/stream/file/MediaStreamIndex:a	[J
    //   5: ifnonnull +6 -> 11
    //   8: goto +34 -> 42
    //   11: aload_0
    //   12: getfield 17	com/wowza/wms/stream/file/MediaStreamIndex:a	[J
    //   15: arraylength
    //   16: goto +48 -> 64
    //   19: iload_1
    //   20: newarray <illegal type>
    //   22: astore_2
    //   23: aload_0
    //   24: getfield 17	com/wowza/wms/stream/file/MediaStreamIndex:a	[J
    //   27: ifnull +7 -> 34
    //   30: goto +16 -> 46
    //   33: return
    //   34: aload_0
    //   35: aload_2
    //   36: putfield 17	com/wowza/wms/stream/file/MediaStreamIndex:a	[J
    //   39: goto -6 -> 33
    //   42: iconst_0
    //   43: goto +21 -> 64
    //   46: aload_0
    //   47: getfield 17	com/wowza/wms/stream/file/MediaStreamIndex:a	[J
    //   50: iconst_0
    //   51: aload_2
    //   52: iconst_0
    //   53: aload_0
    //   54: getfield 17	com/wowza/wms/stream/file/MediaStreamIndex:a	[J
    //   57: arraylength
    //   58: invokestatic 31	java/lang/System:arraycopy	(Ljava/lang/Object;ILjava/lang/Object;II)V
    //   61: goto -27 -> 34
    //   64: if_icmple -31 -> 33
    //   67: goto -48 -> 19
    // Line number table:
    //   Java source line #49	-> byte code offset #0
    //   Java source line #51	-> byte code offset #19
    //   Java source line #52	-> byte code offset #23
    //   Java source line #56	-> byte code offset #33
    //   Java source line #54	-> byte code offset #34
    //   Java source line #49	-> byte code offset #42
    //   Java source line #53	-> byte code offset #46
    //   Java source line #49	-> byte code offset #64
  }
  
  public void indexFileShrink()
  {
    if (a == null) {
      break label35;
    }
    for (; b != 0; goto 43) {
      if (b == a.length) {
        break;
      }
    }
    break label37;
    label35:
    return;
    for (;;)
    {
      return;
      label37:
      a = null;
      return;
      
      long[] arrayOfLong = new long[b];
      System.arraycopy(a, 0, arrayOfLong, 0, b);
      a = arrayOfLong;
    }
  }
  
  /* Error */
  public void indexFileSet(int arg1, long arg2)
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 17	com/wowza/wms/stream/file/MediaStreamIndex:a	[J
    //   4: ifnonnull +51 -> 55
    //   7: goto +69 -> 76
    //   10: iload 4
    //   12: sipush 3600
    //   15: iadd
    //   16: istore 5
    //   18: aload_0
    //   19: iload 5
    //   21: invokevirtual 87	com/wowza/wms/stream/file/MediaStreamIndex:indexFileIncSize	(I)V
    //   24: goto +40 -> 64
    //   27: aload_0
    //   28: getfield 17	com/wowza/wms/stream/file/MediaStreamIndex:a	[J
    //   31: iload_1
    //   32: lload_2
    //   33: lastore
    //   34: aload_0
    //   35: iload_1
    //   36: iconst_1
    //   37: iadd
    //   38: putfield 19	com/wowza/wms/stream/file/MediaStreamIndex:b	I
    //   41: goto +22 -> 63
    //   44: istore 4
    //   46: iload_1
    //   47: iload 4
    //   49: if_icmplt +15 -> 64
    //   52: goto -42 -> 10
    //   55: aload_0
    //   56: getfield 17	com/wowza/wms/stream/file/MediaStreamIndex:a	[J
    //   59: arraylength
    //   60: goto -16 -> 44
    //   63: return
    //   64: iload_1
    //   65: aload_0
    //   66: getfield 17	com/wowza/wms/stream/file/MediaStreamIndex:a	[J
    //   69: arraylength
    //   70: if_icmpge -7 -> 63
    //   73: goto -46 -> 27
    //   76: iconst_0
    //   77: goto -33 -> 44
    // Line number table:
    //   Java source line #79	-> byte code offset #0
    //   Java source line #82	-> byte code offset #10
    //   Java source line #83	-> byte code offset #18
    //   Java source line #87	-> byte code offset #27
    //   Java source line #88	-> byte code offset #34
    //   Java source line #79	-> byte code offset #44
    //   Java source line #80	-> byte code offset #46
    //   Java source line #79	-> byte code offset #55
    //   Java source line #90	-> byte code offset #63
    //   Java source line #85	-> byte code offset #64
    //   Java source line #79	-> byte code offset #76
  }
  
  /* Error */
  public long indexFileGet(long arg1)
  {
    // Byte code:
    //   0: lload_1
    //   1: lconst_0
    //   2: lcmp
    //   3: ifge +23 -> 26
    //   6: goto +47 -> 53
    //   9: ldc2_w 90
    //   12: lreturn
    //   13: aload_0
    //   14: getfield 19	com/wowza/wms/stream/file/MediaStreamIndex:b	I
    //   17: iconst_1
    //   18: isub
    //   19: goto +24 -> 43
    //   22: iload_3
    //   23: goto +20 -> 43
    //   26: lload_1
    //   27: ldc2_w 92
    //   30: ldiv
    //   31: l2i
    //   32: istore_3
    //   33: aload_0
    //   34: getfield 17	com/wowza/wms/stream/file/MediaStreamIndex:a	[J
    //   37: ifnull -28 -> 9
    //   40: goto +18 -> 58
    //   43: istore 4
    //   45: aload_0
    //   46: getfield 17	com/wowza/wms/stream/file/MediaStreamIndex:a	[J
    //   49: iload 4
    //   51: laload
    //   52: lreturn
    //   53: lconst_0
    //   54: lstore_1
    //   55: goto -29 -> 26
    //   58: iload_3
    //   59: aload_0
    //   60: getfield 19	com/wowza/wms/stream/file/MediaStreamIndex:b	I
    //   63: if_icmpge -50 -> 13
    //   66: goto -44 -> 22
    // Line number table:
    //   Java source line #95	-> byte code offset #0
    //   Java source line #106	-> byte code offset #9
    //   Java source line #102	-> byte code offset #13
    //   Java source line #98	-> byte code offset #26
    //   Java source line #100	-> byte code offset #33
    //   Java source line #102	-> byte code offset #43
    //   Java source line #104	-> byte code offset #45
    //   Java source line #96	-> byte code offset #53
    //   Java source line #102	-> byte code offset #58
  }
  
  public long indexFileLast()
  {
    if (a == null) {
      return -1L;
    }
    return a[(b - 1)];
  }
  
  public long get(int paramInt)
  {
    return a[paramInt];
  }
  
  public boolean isHitEnd()
  {
    return c;
  }
  
  public void setHitEnd(boolean paramBoolean)
  {
    c = paramBoolean;
  }
  
  public long[] getIndex()
  {
    return a;
  }
  
  public void setIndex(long[] paramArrayOfLong)
  {
    a = paramArrayOfLong;
  }
  
  public int getLength()
  {
    return b;
  }
  
  public void setLength(int paramInt)
  {
    b = paramInt;
  }
}

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

import java.util.ArrayList;
import java.util.List;

public class Playlist
{
  List a = null;
  
  public Playlist()
  {
    a = new ArrayList();
  }
  
  /* Error */
  public int size()
  {
    // Byte code:
    //   0: iconst_0
    //   1: istore_1
    //   2: aload_0
    //   3: getfield 13	com/wowza/wms/stream/file/Playlist:a	Ljava/util/List;
    //   6: dup
    //   7: astore_2
    //   8: goto +20 -> 28
    //   11: aload_0
    //   12: getfield 13	com/wowza/wms/stream/file/Playlist:a	Ljava/util/List;
    //   15: invokeinterface 22 1 0
    //   20: istore_1
    //   21: aload_2
    //   22: monitorexit
    //   23: goto +9 -> 32
    //   26: aload_3
    //   27: athrow
    //   28: monitorenter
    //   29: goto -18 -> 11
    //   32: nop
    //   33: iload_1
    //   34: ireturn
    //   35: astore_3
    //   36: aload_2
    //   37: monitorexit
    //   38: goto -12 -> 26
    // Line number table:
    //   Java source line #15	-> byte code offset #0
    //   Java source line #16	-> byte code offset #2
    //   Java source line #18	-> byte code offset #11
    //   Java source line #19	-> byte code offset #21
    //   Java source line #16	-> byte code offset #28
    //   Java source line #19	-> byte code offset #32
    //   Java source line #20	-> byte code offset #33
    //   Java source line #19	-> byte code offset #35
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	41	0	this	Playlist
    //   1	33	1	i	int
    //   7	30	2	localList	List
    //   26	1	3	localObject1	Object
    //   35	1	3	localObject2	Object
    // Exception table:
    //   from	to	target	type
    //   11	26	35	finally
    //   35	41	35	finally
  }
  
  /* Error */
  public PlaylistNode get(int arg1)
  {
    // Byte code:
    //   0: aconst_null
    //   1: astore_2
    //   2: aload_0
    //   3: getfield 13	com/wowza/wms/stream/file/Playlist:a	Ljava/util/List;
    //   6: dup
    //   7: astore_3
    //   8: goto +53 -> 61
    //   11: aload_2
    //   12: areturn
    //   13: astore 4
    //   15: aload_3
    //   16: monitorexit
    //   17: goto +41 -> 58
    //   20: iload_1
    //   21: aload_0
    //   22: getfield 13	com/wowza/wms/stream/file/Playlist:a	Ljava/util/List;
    //   25: invokeinterface 22 1 0
    //   30: if_icmpge +6 -> 36
    //   33: goto +8 -> 41
    //   36: aload_3
    //   37: monitorexit
    //   38: goto +27 -> 65
    //   41: aload_0
    //   42: getfield 13	com/wowza/wms/stream/file/Playlist:a	Ljava/util/List;
    //   45: iload_1
    //   46: invokeinterface 29 2 0
    //   51: checkcast 31	com/wowza/wms/stream/file/PlaylistNode
    //   54: astore_2
    //   55: goto -19 -> 36
    //   58: aload 4
    //   60: athrow
    //   61: monitorenter
    //   62: goto -42 -> 20
    //   65: goto -54 -> 11
    // Line number table:
    //   Java source line #26	-> byte code offset #0
    //   Java source line #28	-> byte code offset #2
    //   Java source line #34	-> byte code offset #11
    //   Java source line #32	-> byte code offset #13
    //   Java source line #30	-> byte code offset #20
    //   Java source line #32	-> byte code offset #36
    //   Java source line #31	-> byte code offset #41
    //   Java source line #32	-> byte code offset #58
    //   Java source line #28	-> byte code offset #61
    //   Java source line #32	-> byte code offset #65
    // Exception table:
    //   from	to	target	type
    //   13	20	13	finally
    //   20	58	13	finally
  }
  
  /* Error */
  public void remove(int paramInt)
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 13	com/wowza/wms/stream/file/Playlist:a	Ljava/util/List;
    //   4: dup
    //   5: astore_2
    //   6: goto +10 -> 16
    //   9: return
    //   10: astore_3
    //   11: aload_2
    //   12: monitorexit
    //   13: goto +7 -> 20
    //   16: monitorenter
    //   17: goto +8 -> 25
    //   20: aload_3
    //   21: athrow
    //   22: goto -13 -> 9
    //   25: iload_1
    //   26: aload_0
    //   27: getfield 13	com/wowza/wms/stream/file/Playlist:a	Ljava/util/List;
    //   30: invokeinterface 22 1 0
    //   35: if_icmpge +6 -> 41
    //   38: goto +8 -> 46
    //   41: aload_2
    //   42: monitorexit
    //   43: goto -21 -> 22
    //   46: aload_0
    //   47: getfield 13	com/wowza/wms/stream/file/Playlist:a	Ljava/util/List;
    //   50: iload_1
    //   51: invokeinterface 35 2 0
    //   56: pop
    //   57: goto -16 -> 41
    // Line number table:
    //   Java source line #39	-> byte code offset #0
    //   Java source line #44	-> byte code offset #9
    //   Java source line #43	-> byte code offset #10
    //   Java source line #39	-> byte code offset #16
    //   Java source line #43	-> byte code offset #20
    //   Java source line #41	-> byte code offset #25
    //   Java source line #43	-> byte code offset #41
    //   Java source line #42	-> byte code offset #46
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	60	0	this	Playlist
    //   0	60	1	paramInt	int
    //   5	37	2	localList	List
    //   10	11	3	localObject	Object
    // Exception table:
    //   from	to	target	type
    //   10	16	10	finally
    //   25	60	10	finally
  }
  
  /* Error */
  public void add(PlaylistNode paramPlaylistNode)
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 13	com/wowza/wms/stream/file/Playlist:a	Ljava/util/List;
    //   4: dup
    //   5: astore_2
    //   6: goto +31 -> 37
    //   9: return
    //   10: aload_3
    //   11: athrow
    //   12: astore_3
    //   13: aload_2
    //   14: monitorexit
    //   15: goto -5 -> 10
    //   18: goto -9 -> 9
    //   21: aload_0
    //   22: getfield 13	com/wowza/wms/stream/file/Playlist:a	Ljava/util/List;
    //   25: aload_1
    //   26: invokeinterface 40 2 0
    //   31: pop
    //   32: aload_2
    //   33: monitorexit
    //   34: goto -16 -> 18
    //   37: monitorenter
    //   38: goto -17 -> 21
    // Line number table:
    //   Java source line #48	-> byte code offset #0
    //   Java source line #52	-> byte code offset #9
    //   Java source line #51	-> byte code offset #10
    //   Java source line #50	-> byte code offset #21
    //   Java source line #51	-> byte code offset #32
    //   Java source line #48	-> byte code offset #37
    // Local variable table:
    //   start	length	slot	name	signature
    //   0	41	0	this	Playlist
    //   0	41	1	paramPlaylistNode	PlaylistNode
    //   5	28	2	localList	List
    //   10	1	3	localObject1	Object
    //   12	1	3	localObject2	Object
    // Exception table:
    //   from	to	target	type
    //   12	18	12	finally
    //   21	37	12	finally
  }
  
  public void clear()
  {
    Object Ljava/lang/Object;;
    break label13;
    for (;;)
    {
      return;
    }
    for (;;)
    {
      label13:
      Object localObject1;
      throw ((Throwable)localObject1);
      try
      {
        a.clear();
        break;
      }
      finally {}
    }
  }
}

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

import com.wowza.wms.stream.FastPlaySettings;
import com.wowza.wms.stream.IMediaReaderStreamPosition;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class PlaylistCursor
{
  private long a = 0L;
  private long b = 0L;
  private long c = 0L;
  private long d = 0L;
  private long e = 0L;
  private long f = 0L;
  private long g = 0L;
  private boolean h = false;
  private boolean i = false;
  private boolean j = false;
  private long k = 0L;
  private long l = 0L;
  private IMediaReaderStreamPosition m = null;
  private long n = -1L;
  private boolean o = false;
  private int p = 0;
  private boolean q = false;
  private boolean r = false;
  private boolean s = false;
  private int t = 0;
  private List<Integer> u = new ArrayList();
  private boolean v = false;
  private boolean w = true;
  private long x = 0L;
  private long y;
  private FastPlaySettings z = null;
  private boolean _ = false;
  private boolean aa = false;
  private boolean ab = false;
  private PlaylistWriteControl ac = new PlaylistWriteControl();
  private PlaylistReaderWriteResults ad = new PlaylistReaderWriteResults();
  private boolean ae = false;
  private long af = 0L;
  private boolean ag = false;
  private int ah = 0;
  private int ai = 0;
  private PlaylistNode aj = null;
  private int ak = 1;
  private int al = 3;
  private IMediaReaderStreamPosition am = null;
  private long an = 0L;
  private long ao = 0L;
  private long ap = 0L;
  private boolean aq = false;
  private long ar = -1L;
  private long as = -1L;
  private byte[] at = null;
  private byte[] au = null;
  
  public void reset()
  {
    a = 0L;
    b = 0L;
    c = 0L;
    d = 0L;
    e = 0L;
    f = 0L;
    af = 0L;
    h = false;
    i = false;
    j = false;
    k = 0L;
    l = 0L;
    
    m = null;
    z = null;
    _ = false;
    aa = false;
    ab = false;
    ae = false;
    n = -1L;
    ag = false;
    ah = 0;
    ai = 0;
    ar = -1L;
    as = -1L;
    at = null;
    au = null;
  }
  
  public void resetSampleDesc()
  {
    ar = -1L;
    as = -1L;
  }
  
  public boolean isStartPlaying()
  {
    return r;
  }
  
  public void setStartPlaying(boolean paramBoolean)
  {
    r = paramBoolean;
  }
  
  public long getSeekReqLocation()
  {
    return k;
  }
  
  public void setSeekReqLocation(long paramLong)
  {
    k = paramLong;
  }
  
  public long getSeekResLocation()
  {
    return l;
  }
  
  public void setSeekResLocation(long paramLong)
  {
    l = paramLong;
  }
  
  public long getLastAudioTC()
  {
    return d;
  }
  
  public void setLastAudioTC(long paramLong)
  {
    d = paramLong;
    e = Math.max(paramLong, e);
  }
  
  public long getLastTC()
  {
    return e;
  }
  
  public long getLastTCAdj()
  {
    Object localObject;
    long l2;
    if (z == null)
    {
      break label80;
      long tmp11_10 = localObject;l2 = tmp11_10 + Math.round((float)(tmp11_10 - e) / z.getMultiplier());
    }
    for (;;)
    {
      l2 = localObject + Math.round((float)(e - localObject) / z.getMultiplier());
      
      return l2;long l1 = z.getStartTC();
      if (z.getDirection() <= 0) {
        break;
      }
    }
    label80:
    return e;
  }
  
  public long calcTCAdj(long paramLong)
  {
    if (z == null) {
      break label57;
    }
    for (;;)
    {
      Object localObject2;
      return localObject2;
      long l1;
      do
      {
        Object localObject1;
        long tmp14_13 = localObject1;l2 = tmp14_13 + Math.round((float)(tmp14_13 - paramLong) / z.getMultiplier()); break;l1 = z.getStartTC();
      } while (z.getDirection() <= 0);
      break label59;
      label57:
      return paramLong;
      label59:
      long l2 = l1 + Math.round((float)(paramLong - l1) / z.getMultiplier());
    }
  }
  
  public void setLastTC(long paramLong)
  {
    e = paramLong;
  }
  
  public long getLastVideoTC()
  {
    return a;
  }
  
  public void setLastVideoTC(long paramLong)
  {
    a = paramLong;
    e = Math.max(paramLong, e);
  }
  
  public long getLastBroadcastTC()
  {
    return b;
  }
  
  public void setLastBroadcastTC(long paramLong)
  {
    b = paramLong;
    e = Math.max(paramLong, e);
  }
  
  public long getLastVideoFastTC()
  {
    return c;
  }
  
  public void setLastVideoFastTC(long paramLong)
  {
    c = paramLong;
  }
  
  public void incLastVideoFastTC(long paramLong)
  {
    c += paramLong;
  }
  
  public boolean isSendAbsAudioTC()
  {
    return j;
  }
  
  public void setSendAbsAudioTC(boolean paramBoolean)
  {
    j = paramBoolean;
  }
  
  public boolean isSendAbsVideoTC()
  {
    return h;
  }
  
  public void setSendAbsVideoTC(boolean paramBoolean)
  {
    h = paramBoolean;
  }
  
  public boolean isSendAbsBroadcastTC()
  {
    return i;
  }
  
  public void setSendAbsBroadcastTC(boolean paramBoolean)
  {
    i = paramBoolean;
  }
  
  public boolean isSeeking()
  {
    return o;
  }
  
  public void setSeeking(boolean paramBoolean)
  {
    o = paramBoolean;
  }
  
  public void enterReader()
  {
    p += 1;
  }
  
  public void leaveReader()
  {
    p -= 1;
    if (p != 0) {}
    for (;; q = false) {
      return;
    }
  }
  
  public boolean isInterruptPlay()
  {
    return q;
  }
  
  /* Error */
  public boolean isBreakLoop()
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 100	com/wowza/wms/stream/file/PlaylistCursor:o	Z
    //   4: ifne +11 -> 15
    //   7: goto +12 -> 19
    //   10: ireturn
    //   11: iconst_0
    //   12: goto -2 -> 10
    //   15: iconst_1
    //   16: goto -6 -> 10
    //   19: aload_0
    //   20: getfield 104	com/wowza/wms/stream/file/PlaylistCursor:q	Z
    //   23: ifeq -12 -> 11
    //   26: goto -11 -> 15
    // Line number table:
    //   Java source line #263	-> byte code offset #0
  }
  
  public void setInterruptPlay()
  {
    if (p <= 0) {}
    for (;; q = true) {
      return;
    }
  }
  
  public int getSeekType()
  {
    return t;
  }
  
  public void setSeekType(int paramInt)
  {
    t = paramInt;
  }
  
  public void addSeekType(int paramInt)
  {
    Integer localInteger = new Integer(paramInt);
    if (!u.contains(localInteger)) {}
    for (;; u.remove(localInteger))
    {
      u.add(Integer.valueOf(paramInt)); return;
    }
  }
  
  public List<Integer> getSeekTypes()
  {
    return new ArrayList(u);
  }
  
  public void clearSeekTypes()
  {
    u.clear();
  }
  
  public boolean isPlaylistReset()
  {
    return v;
  }
  
  public void setPlaylistReset(boolean paramBoolean)
  {
    v = paramBoolean;
  }
  
  public boolean isFirstStream()
  {
    return w;
  }
  
  public void setFirstStream(boolean paramBoolean)
  {
    w = paramBoolean;
  }
  
  public long getStartTC()
  {
    return f;
  }
  
  public void setStartTC(long paramLong)
  {
    f = paramLong;
  }
  
  public void incStartTC(long paramLong)
  {
    f += paramLong;
  }
  
  public long getEndTC()
  {
    return g;
  }
  
  public void setEndTC(long paramLong)
  {
    g = paramLong;
  }
  
  public long getRealStartTC()
  {
    return y;
  }
  
  public void setRealStartTC(long paramLong)
  {
    y = paramLong;
  }
  
  public long getRealStartTime()
  {
    return x;
  }
  
  public void setRealStartTime(long paramLong)
  {
    x = paramLong;
  }
  
  public boolean isFillBuffer()
  {
    return s;
  }
  
  public void setFillBuffer(boolean paramBoolean)
  {
    s = paramBoolean;
  }
  
  public FastPlaySettings getFastPlaySettings()
  {
    return z;
  }
  
  public void setFastPlaySettings(FastPlaySettings paramFastPlaySettings)
  {
    z = paramFastPlaySettings;
  }
  
  public boolean isVideoCanPFrame()
  {
    return _;
  }
  
  public void setVideoCanPFrame(boolean paramBoolean)
  {
    _ = paramBoolean;
  }
  
  public boolean isVideoCanDFrame()
  {
    return aa;
  }
  
  public void setVideoCanDFrame(boolean paramBoolean)
  {
    aa = paramBoolean;
  }
  
  public boolean isRealTimeSet()
  {
    return ab;
  }
  
  public void setRealTimeSet(boolean paramBoolean)
  {
    ab = paramBoolean;
  }
  
  public PlaylistWriteControl getWriteControl()
  {
    return ac;
  }
  
  public PlaylistReaderWriteResults getWriteResults()
  {
    ad.reset();
    return ad;
  }
  
  public boolean isDelayedFillBuffer()
  {
    return ae;
  }
  
  public void setDelayedFillBuffer(boolean paramBoolean)
  {
    ae = paramBoolean;
  }
  
  public long getStartTCOffset()
  {
    return af;
  }
  
  public void setStartTCOffset(long paramLong)
  {
    af = paramLong;
  }
  
  public IMediaReaderStreamPosition getSeekVideoStreamPos()
  {
    return m;
  }
  
  public void setSeekVideoStreamPos(IMediaReaderStreamPosition paramIMediaReaderStreamPosition)
  {
    m = paramIMediaReaderStreamPosition;
  }
  
  public long getForceVideoTC()
  {
    return n;
  }
  
  public void setForceVideoTC(long paramLong)
  {
    n = paramLong;
  }
  
  public boolean isWaitForKeyFrame()
  {
    return ag;
  }
  
  public void setWaitForKeyFrame(boolean paramBoolean)
  {
    ag = paramBoolean;
  }
  
  public int getLastSendBufferTime()
  {
    return ah;
  }
  
  public void setLastSendBufferTime(int paramInt)
  {
    ah = paramInt;
  }
  
  public int incSendSeqCount()
  {
    return ++ai;
  }
  
  public int decSendSeqCount()
  {
    return --ai;
  }
  
  public int getSendSeqCount()
  {
    return ai;
  }
  
  public void setSendSeqCount(int paramInt)
  {
    ai = paramInt;
  }
  
  public PlaylistNode getNode()
  {
    return aj;
  }
  
  public void setNode(PlaylistNode paramPlaylistNode)
  {
    aj = paramPlaylistNode;
  }
  
  public int getSeekTarget()
  {
    return ak;
  }
  
  public void setSeekTarget(int paramInt)
  {
    ak = paramInt;
  }
  
  public int getSeekVideoTarget()
  {
    return al;
  }
  
  public void setSeekVideoTarget(int paramInt)
  {
    al = paramInt;
  }
  
  public IMediaReaderStreamPosition getSeekStartStreamPos()
  {
    return am;
  }
  
  public void setSeekStartStreamPos(IMediaReaderStreamPosition paramIMediaReaderStreamPosition)
  {
    am = paramIMediaReaderStreamPosition;
  }
  
  public long getAudioPacketCount()
  {
    return an;
  }
  
  public void setAudioPacketCount(long paramLong)
  {
    an = paramLong;
  }
  
  public void incAudioPacketCount()
  {
    an += 1L;
  }
  
  public long getVideoPacketCount()
  {
    return ao;
  }
  
  public void setVideoPacketCount(long paramLong)
  {
    ao = paramLong;
  }
  
  public void incVideoPacketCount()
  {
    ao += 1L;
  }
  
  public long getDataPacketCount()
  {
    return ap;
  }
  
  public void setDataPacketCount(long paramLong)
  {
    ap = paramLong;
  }
  
  public void incDataPacketCount()
  {
    ap += 1L;
  }
  
  public void resetPacketCounts()
  {
    an = 0L;
    ap = 0L;
    ao = 0L;
  }
  
  public boolean isLastAudioWasZero()
  {
    return aq;
  }
  
  public void setLastAudioWasZero(boolean paramBoolean)
  {
    aq = paramBoolean;
  }
  
  public long getAudioSampleDesc()
  {
    return ar;
  }
  
  public void setAudioSampleDesc(long paramLong)
  {
    ar = paramLong;
  }
  
  public long getVideoSampleDesc()
  {
    return as;
  }
  
  public void setVideoSampleDesc(long paramLong)
  {
    as = paramLong;
  }
  
  public byte[] getLastAudioCodecConfig()
  {
    return at;
  }
  
  public void setLastAudioCodecConfig(byte[] paramArrayOfByte)
  {
    at = paramArrayOfByte;
  }
  
  public byte[] getLastVideoCodecConfig()
  {
    return au;
  }
  
  public void setLastVideoCodecConfig(byte[] paramArrayOfByte)
  {
    au = paramArrayOfByte;
  }
  
  public boolean compareAndSetAudioCodecConfig(byte[] paramArrayOfByte)
  {
    boolean bool = false;
    
    bool = Arrays.equals(paramArrayOfByte, at);
    at = paramArrayOfByte;
    
    return bool;
  }
  
  public boolean compareAndSetVideoCodecConfig(byte[] paramArrayOfByte)
  {
    boolean bool = false;
    
    bool = Arrays.equals(paramArrayOfByte, au);
    au = paramArrayOfByte;
    
    return bool;
  }
}

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

import com.wowza.wms.stream.MediaStream;
import java.net.URL;

public class PlaylistNode
{
  private URL a;
  private String b;
  private String c;
  private int d = 0;
  private int e = 0;
  private Object f = null;
  private double g = -2.0D;
  private double h = -1.0D;
  private int i = 1;
  private String j = MediaStream.BASE_STREAM_EXT;
  private String k = "";
  private Object l = null;
  private long m = -1L;
  private long n = -1L;
  private boolean o = false;
  
  public PlaylistNode()
  {
    f = null;
    l = null;
  }
  
  public Object getExtra()
  {
    return f;
  }
  
  public void setExtra(Object paramObject)
  {
    f = paramObject;
  }
  
  public int getDuration()
  {
    return d;
  }
  
  public void setDuration(int paramInt)
  {
    d = paramInt;
  }
  
  public int getSize()
  {
    return e;
  }
  
  public void setSize(int paramInt)
  {
    e = paramInt;
  }
  
  public String getID()
  {
    return c;
  }
  
  public void setID(String paramString)
  {
    c = paramString;
  }
  
  public String getName()
  {
    return b;
  }
  
  public void setName(String paramString)
  {
    b = paramString;
  }
  
  public URL getURL()
  {
    return a;
  }
  
  public void setURL(URL paramURL)
  {
    a = paramURL;
  }
  
  public double getPlayLen()
  {
    return h;
  }
  
  public void setPlayLen(double paramDouble)
  {
    h = paramDouble;
  }
  
  public int getPlayReset()
  {
    return i;
  }
  
  public void setPlayReset(int paramInt)
  {
    i = paramInt;
  }
  
  public double getPlayStart()
  {
    return g;
  }
  
  public void setPlayStart(double paramDouble)
  {
    g = paramDouble;
  }
  
  public String getStreamExt()
  {
    return j;
  }
  
  public void setStreamExt(String paramString)
  {
    j = paramString;
  }
  
  public String getQueryStr()
  {
    return k;
  }
  
  public void setQueryStr(String paramString)
  {
    k = paramString;
  }
  
  public Object getReaderData()
  {
    return l;
  }
  
  public void setReaderData(Object paramObject)
  {
    l = paramObject;
  }
  
  public long getStartTC()
  {
    return m;
  }
  
  /* Error */
  public boolean isStartTCValid()
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 64	com/wowza/wms/stream/file/PlaylistNode:m	J
    //   4: ldc2_w 61
    //   7: lcmp
    //   8: ifeq +7 -> 15
    //   11: goto +8 -> 19
    //   14: ireturn
    //   15: iconst_0
    //   16: goto -2 -> 14
    //   19: iconst_1
    //   20: goto -6 -> 14
    // Line number table:
    //   Java source line #140	-> byte code offset #0
  }
  
  public void setStartTC(long paramLong)
  {
    m = paramLong;
  }
  
  public long getStopTC()
  {
    return n;
  }
  
  public void setStopTC(long paramLong)
  {
    n = paramLong;
  }
  
  /* Error */
  public boolean isStopTCValid()
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 66	com/wowza/wms/stream/file/PlaylistNode:n	J
    //   4: ldc2_w 61
    //   7: lcmp
    //   8: ifeq +7 -> 15
    //   11: goto +8 -> 19
    //   14: ireturn
    //   15: iconst_0
    //   16: goto -2 -> 14
    //   19: iconst_1
    //   20: goto -6 -> 14
    // Line number table:
    //   Java source line #160	-> byte code offset #0
  }
  
  public boolean isSentStreamNotFound()
  {
    return o;
  }
  
  public void setSentStreamNotFound(boolean paramBoolean)
  {
    o = paramBoolean;
  }
}

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

import com.wowza.wms.application.IApplicationInstance;

public abstract class PlaylistParser
{
  public abstract Playlist getPlaylist(IApplicationInstance paramIApplicationInstance, String paramString);
}

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

import com.wowza.util.JSON;
import com.wowza.wms.logging.WMSLogger;
import com.wowza.wms.logging.WMSLoggerFactory;

public class PlaylistParserFactory
{
  public static PlaylistParser getInstance(String paramString)
  {
    PlaylistParser localPlaylistParser = null;
    for (;;)
    {
      return localPlaylistParser;
      Class localClass;
      for (;; ) {
        break;
      }
      WMSLoggerFactory.getLogger(PlaylistParserFactory.class).error(JSON.copyValueOf("ijdX|``txt}#:3", 125 + 17) + paramString + JSON.copyValueOf("`j", 95 + -22), localException);
    }
  }
}

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

import com.wowza.util.Base64;
import com.wowza.util.IFasterByteArrayOutputStream;
import com.wowza.util.JSON;
import com.wowza.wms.amf.AMFDataItem;
import com.wowza.wms.amf.AMFDataObj;
import com.wowza.wms.amf.AMFObj;
import com.wowza.wms.application.IApplicationInstance;
import com.wowza.wms.logging.WMSLogger;
import com.wowza.wms.logging.WMSLoggerFactory;
import com.wowza.wms.module.ModuleCore;
import com.wowza.wms.protocol.wowz.WOWZSession;
import com.wowza.wms.response.ResponseFunction;
import com.wowza.wms.stream.IMediaReader;
import com.wowza.wms.stream.IMediaStream;
import com.wowza.wms.stream.MediaReaderFactory;
import com.wowza.wms.stream.MediaStreamMap;
import com.wowza.wms.stream.PlaylistSeekResult;
import com.wowza.wms.util.StreamUtils;
import com.wowza.wms.vhost.IVHost;
import java.io.OutputStream;
import java.nio.ByteBuffer;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.atomic.AtomicReference;

public class PlaylistPlayer
{
  public static final String DEFAULT_SEEKTARGETSTR = "";
  public static final String DEFAULT_SEEKVIDEOTARGETSTR = "";
  public static final int SEEKTYPE_NONE = 0;
  public static final int SEEKTYPE_SEEK = 1;
  public static final int SEEKTYPE_UNPAUSE = 2;
  private Playlist a;
  private IMediaReader b;
  private PlaylistCursor c;
  private IMediaStream d;
  private int e;
  private boolean f;
  private byte[] g;
  private int[] h;
  private Object i;
  private int j;
  private boolean k;
  private boolean l;
  private boolean m;
  private boolean n;
  private int o;
  private int p;
  private int q;
  private int r;
  private int s;
  private int t;
  private int u;
  private int v;
  private int w;
  private int x;
  private int y;
  private int z;
  private long _;
  private long aa;
  private PlaylistTracker ab;
  private int ac;
  private long ad;
  private int ae;
  private AtomicRefe
1 2 3 4 5 6 7 8 9 10

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