wms-httpstreamer-mpegdashstreaming

16:54:04.113 INFO  jd.cli.Main - Decompiling wms-httpstreamer-mpegdashstreaming.jar
package com.wowza.wms.httpstreamer.mpegdashstreaming.file;

import com.wowza.util.Base64;
import com.wowza.util.JSON;
import com.wowza.util.SystemUtils;
import com.wowza.wms.application.IApplicationInstance;
import com.wowza.wms.logging.WMSLogger;
import com.wowza.wms.logging.WMSLoggerFactory;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.SortedMap;
import java.util.TreeMap;
import org.apache.commons.lang.time.FastDateFormat;

public class HTTPStreamerMPEGDashIndex
  extends HTTPStreamerMPEGDashIndexBase
{
  protected static final Class<HTTPStreamerMPEGDashIndex> CLASS = HTTPStreamerMPEGDashIndex.class;
  protected static final String CLASSNAME = "HTTPStreamerMPEGDashIndex";
  public static final String DATEFORMAT = "yyyy-MM-dd'T'HH:mm:ss";
  public static final int BITRATE_DEFAULT_AUDIO = 96000;
  public static final int BITRATE_DEFAULT_VIDEO = 500000;
  public static final String MANIFEST_FILENAME_PLACEHOLDERS = "{sessionid}{playStart}{playDuration}{playSeek}{query-encoded}{secureToken}";
  protected FastDateFormat fastDateFormat = FastDateFormat.getInstance(Base64.endsWith(41 - 38, "z}|*ED'oh*Z(XY(~y/ed"), SystemUtils.gmtTimeZone, Locale.US);
  protected int minBufferTime = 1500;
  protected Comparator<Map<String, String>> renditionComparator = new Comparator()
  {
    /* Error */
    public int compare(Map<String, String> arg1, Map<String, String> arg2)
    {
      // Byte code:
      //   0: aload_1
      //   1: aload_2
      //   2: invokevirtual 25	java/lang/Object:equals	(Ljava/lang/Object;)Z
      //   5: ifeq +6 -> 11
      //   8: goto +12 -> 20
      //   11: iconst_1
      //   12: goto +141 -> 153
      //   15: aload 4
      //   17: goto +11 -> 28
      //   20: iconst_0
      //   21: goto +132 -> 153
      //   24: istore_3
      //   25: goto +136 -> 161
      //   28: astore 4
      //   30: aload 4
      //   32: invokestatic 31	java/lang/Long:valueOf	(Ljava/lang/String;)Ljava/lang/Long;
      //   35: astore 6
      //   37: aload 5
      //   39: aload 6
      //   41: invokevirtual 35	java/lang/Long:compareTo	(Ljava/lang/Long;)I
      //   44: istore 7
      //   46: iload 7
      //   48: ifne +6 -> 54
      //   51: goto +112 -> 163
      //   54: iload 7
      //   56: goto -32 -> 24
      //   59: aload 4
      //   61: goto +54 -> 115
      //   64: aload_1
      //   65: bipush 47
      //   67: bipush 49
      //   69: imul
      //   70: ldc 37
      //   72: invokestatic 43	com/wowza/util/Base64:endsWith	(ILjava/lang/String;)Ljava/lang/String;
      //   75: invokeinterface 49 2 0
      //   80: checkcast 51	java/lang/String
      //   83: goto +32 -> 115
      //   86: aload_1
      //   87: bipush 81
      //   89: bipush 64
      //   91: iadd
      //   92: ldc 53
      //   94: invokestatic 43	com/wowza/util/Base64:endsWith	(ILjava/lang/String;)Ljava/lang/String;
      //   97: invokeinterface 49 2 0
      //   102: checkcast 51	java/lang/String
      //   105: astore 4
      //   107: aload 4
      //   109: ifnonnull -50 -> 59
      //   112: goto -48 -> 64
      //   115: astore 4
      //   117: aload 4
      //   119: invokestatic 31	java/lang/Long:valueOf	(Ljava/lang/String;)Ljava/lang/Long;
      //   122: astore 5
      //   124: aload_2
      //   125: bipush 33
      //   127: bipush 105
      //   129: iadd
      //   130: ldc 55
      //   132: invokestatic 43	com/wowza/util/Base64:endsWith	(ILjava/lang/String;)Ljava/lang/String;
      //   135: invokeinterface 49 2 0
      //   140: checkcast 51	java/lang/String
      //   143: astore 4
      //   145: aload 4
      //   147: ifnonnull -132 -> 15
      //   150: goto +17 -> 167
      //   153: istore_3
      //   154: iload_3
      //   155: ifeq +6 -> 161
      //   158: goto -72 -> 86
      //   161: iload_3
      //   162: ireturn
      //   163: iconst_1
      //   164: goto -140 -> 24
      //   167: aload_2
      //   168: ldc 57
      //   170: bipush 33
      //   172: bipush 43
      //   174: imul
      //   175: invokestatic 63	com/wowza/util/JSON:copyValueOf	(Ljava/lang/String;I)Ljava/lang/String;
      //   178: invokeinterface 49 2 0
      //   183: checkcast 51	java/lang/String
      //   186: goto -158 -> 28
      // Line number table:
      //   Java source line #52	-> byte code offset #0
      //   Java source line #63	-> byte code offset #15
      //   Java source line #52	-> byte code offset #20
      //   Java source line #67	-> byte code offset #24
      //   Java source line #63	-> byte code offset #28
      //   Java source line #64	-> byte code offset #30
      //   Java source line #66	-> byte code offset #37
      //   Java source line #67	-> byte code offset #46
      //   Java source line #59	-> byte code offset #59
      //   Java source line #58	-> byte code offset #86
      //   Java source line #59	-> byte code offset #107
      //   Java source line #60	-> byte code offset #117
      //   Java source line #62	-> byte code offset #124
      //   Java source line #63	-> byte code offset #145
      //   Java source line #52	-> byte code offset #153
      //   Java source line #54	-> byte code offset #154
      //   Java source line #69	-> byte code offset #161
      //   Java source line #67	-> byte code offset #163
      //   Java source line #63	-> byte code offset #167
    }
  };
  protected SortedMap<Map<String, String>, HTTPStreamerMPEGDashIndexItem> items = new TreeMap(renditionComparator);
  protected SortedMap<Map<String, String>, HTTPStreamerMPEGDashIndexItem> itemsAudio = new TreeMap(renditionComparator);
  protected SortedMap<Map<String, String>, HTTPStreamerMPEGDashIndexItem> itemsVideo = new TreeMap(renditionComparator);
  protected List<HTTPStreamerMPEGDashIndexItem> order = new ArrayList();
  
  /* Error */
  public void init(com.wowza.wms.httpstreamer.model.IHTTPStreamerApplicationContext arg1, com.wowza.wms.httpstreamer.model.IHTTPStreamerSession arg2, String arg3, String arg4, String arg5, long arg6, long arg8, long arg10, com.wowza.wms.timedtext.model.TimedTextRequest arg12, String arg13)
  {
    // Byte code:
    //   0: aload_0
    //   1: aload_1
    //   2: aload_2
    //   3: aload_3
    //   4: aload 4
    //   6: aload 5
    //   8: lload 6
    //   10: lload 8
    //   12: lload 10
    //   14: aload 12
    //   16: aload 13
    //   18: invokespecial 98	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:init	(Lcom/wowza/wms/httpstreamer/model/IHTTPStreamerApplicationContext;Lcom/wowza/wms/httpstreamer/model/IHTTPStreamerSession;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JJJLcom/wowza/wms/timedtext/model/TimedTextRequest;Ljava/lang/String;)V
    //   21: aload_0
    //   22: getfield 102	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:appInstance	Lcom/wowza/wms/application/IApplicationInstance;
    //   25: invokeinterface 108 1 0
    //   30: astore 14
    //   32: aload_0
    //   33: new 110	com/wowza/wms/stream/MediaStreamDisconnected
    //   36: dup
    //   37: invokespecial 111	com/wowza/wms/stream/MediaStreamDisconnected:<init>	()V
    //   40: putfield 115	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:stream	Lcom/wowza/wms/stream/IMediaStream;
    //   43: aload_0
    //   44: getfield 115	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:stream	Lcom/wowza/wms/stream/IMediaStream;
    //   47: aload 14
    //   49: iconst_0
    //   50: new 117	com/wowza/wms/application/WMSProperties
    //   53: dup
    //   54: invokespecial 118	com/wowza/wms/application/WMSProperties:<init>	()V
    //   57: invokeinterface 123 4 0
    //   62: aload_0
    //   63: getfield 115	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:stream	Lcom/wowza/wms/stream/IMediaStream;
    //   66: aload 5
    //   68: aconst_null
    //   69: aload 4
    //   71: aconst_null
    //   72: dconst_0
    //   73: ldc2_w 124
    //   76: iconst_1
    //   77: invokeinterface 129 10 0
    //   82: aload_0
    //   83: getfield 115	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:stream	Lcom/wowza/wms/stream/IMediaStream;
    //   86: aload_2
    //   87: invokeinterface 133 2 0
    //   92: aload_0
    //   93: getfield 102	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:appInstance	Lcom/wowza/wms/application/IApplicationInstance;
    //   96: aload 4
    //   98: invokeinterface 137 2 0
    //   103: iconst_2
    //   104: if_icmpne +24 -> 128
    //   107: goto +7 -> 114
    //   110: return
    //   111: goto -1 -> 110
    //   114: aload_0
    //   115: invokevirtual 140	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:indexPlaylist	()V
    //   118: goto -8 -> 110
    //   121: aload 17
    //   123: athrow
    //   124: monitorenter
    //   125: goto +97 -> 222
    //   128: new 142	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem
    //   131: dup
    //   132: aload_0
    //   133: invokespecial 143	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:<init>	(Lcom/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex;)V
    //   136: astore 15
    //   138: aload 15
    //   140: new 145	java/lang/StringBuilder
    //   143: dup
    //   144: invokespecial 146	java/lang/StringBuilder:<init>	()V
    //   147: aload 4
    //   149: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   152: ldc -104
    //   154: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   157: aload 5
    //   159: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   162: invokevirtual 156	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   165: invokevirtual 160	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:setStreamName	(Ljava/lang/String;)V
    //   168: aload 15
    //   170: aload_0
    //   171: invokevirtual 164	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:getPlayStart	()J
    //   174: invokevirtual 168	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:setPlayStart	(J)V
    //   177: aload 15
    //   179: aload_0
    //   180: invokevirtual 171	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:getPlayDuration	()J
    //   183: invokevirtual 174	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:setPlayDuration	(J)V
    //   186: aload 15
    //   188: aload_0
    //   189: invokevirtual 177	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:getPlaySeek	()J
    //   192: invokevirtual 180	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:setPlaySeek	(J)V
    //   195: aload 15
    //   197: aload_0
    //   198: invokevirtual 183	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:getVODTranscodeNGRP	()Ljava/lang/String;
    //   201: invokevirtual 186	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:setVODTranscodeNGRP	(Ljava/lang/String;)V
    //   204: aload_0
    //   205: getfield 85	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:items	Ljava/util/SortedMap;
    //   208: dup
    //   209: astore 16
    //   211: goto -87 -> 124
    //   214: astore 17
    //   216: aload 16
    //   218: monitorexit
    //   219: goto -98 -> 121
    //   222: aload_0
    //   223: getfield 94	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:order	Ljava/util/List;
    //   226: aload 15
    //   228: invokeinterface 192 2 0
    //   233: pop
    //   234: aload 16
    //   236: monitorexit
    //   237: goto -126 -> 111
    // Line number table:
    //   Java source line #79	-> byte code offset #0
    //   Java source line #81	-> byte code offset #21
    //   Java source line #83	-> byte code offset #32
    //   Java source line #84	-> byte code offset #43
    //   Java source line #85	-> byte code offset #62
    //   Java source line #86	-> byte code offset #82
    //   Java source line #88	-> byte code offset #92
    //   Java source line #104	-> byte code offset #110
    //   Java source line #101	-> byte code offset #111
    //   Java source line #89	-> byte code offset #114
    //   Java source line #101	-> byte code offset #121
    //   Java source line #98	-> byte code offset #124
    //   Java source line #92	-> byte code offset #128
    //   Java source line #93	-> byte code offset #138
    //   Java source line #94	-> byte code offset #168
    //   Java source line #95	-> byte code offset #177
    //   Java source line #96	-> byte code offset #186
    //   Java source line #97	-> byte code offset #195
    //   Java source line #98	-> byte code offset #204
    //   Java source line #101	-> byte code offset #214
    //   Java source line #100	-> byte code offset #222
    //   Java source line #101	-> byte code offset #234
    // Exception table:
    //   from	to	target	type
    //   214	222	214	finally
    //   222	240	214	finally
  }
  
  public int getNumStreams()
  {
    int i = 0;
    
    List localList = a();
    i = localList.size();
    return i;
  }
  
  public List<String> getStreamNamesRaw()
  {
    ArrayList localArrayList = new ArrayList();
    
    List localList = a();
    Iterator localIterator = localList.iterator();
    break label48;
    return localArrayList;
    label48:
    for (;; !localIterator.hasNext())
    {
      HTTPStreamerMPEGDashIndexItem localHTTPStreamerMPEGDashIndexItem = (HTTPStreamerMPEGDashIndexItem)localIterator.next();
      localArrayList.add(localHTTPStreamerMPEGDashIndexItem.getStreamName());
    }
  }
  
  public List<String> getStreamNames()
  {
    ArrayList localArrayList = new ArrayList();
    List localList = a();
    Iterator localIterator = localList.iterator();
    break label58;
    return localArrayList;
    for (;;)
    {
      label25:
      String str;
      label58:
      for (;; !localIterator.hasNext())
      {
        HTTPStreamerMPEGDashIndexItem localHTTPStreamerMPEGDashIndexItem = (HTTPStreamerMPEGDashIndexItem)localIterator.next();
        str = adjustStreamName(localHTTPStreamerMPEGDashIndexItem.getStreamName());
        if (str == null) {
          break label25;
        }
        break label70;
      }
      label70:
      localArrayList.add(str);
    }
  }
  
  public List<Long> getBitratesLongs()
  {
    ArrayList localArrayList = new ArrayList();
    List localList = a();
    Iterator localIterator = localList.iterator();
    if (!localIterator.hasNext()) {
      return localArrayList;
    }
    for (;;)
    {
      localArrayList.add(localObject); break;HTTPStreamerMPEGDashIndexItem localHTTPStreamerMPEGDashIndexItem = (HTTPStreamerMPEGDashIndexItem)localIterator.next();Object localObject = new Long(localHTTPStreamerMPEGDashIndexItem.getBitrate() + "");
      if (localArrayList.contains(localObject)) {
        break;
      }
    }
  }
  
  public List<String> getBitratesStrings()
  {
    ArrayList localArrayList = new ArrayList();
    List localList = a();
    Iterator localIterator = localList.iterator();
    break label90;
    Object localObject;
    localArrayList.add(localObject);
    break label37;
    return localArrayList;
    label37:
    label90:
    for (;; !localIterator.hasNext())
    {
      HTTPStreamerMPEGDashIndexItem localHTTPStreamerMPEGDashIndexItem = (HTTPStreamerMPEGDashIndexItem)localIterator.next();
      localObject = localHTTPStreamerMPEGDashIndexItem.getBitrate() + "";
      if (localArrayList.contains(localObject)) {
        break label37;
      }
      break;
    }
  }
  
  public List<String> getBitratesAudio()
  {
    ArrayList localArrayList = new ArrayList();
    
    List localList = a();
    Iterator localIterator = localList.iterator();
    break label75;
    return localArrayList;
    String str;
    label75:
    for (;; !localIterator.hasNext())
    {
      HTTPStreamerMPEGDashIndexItem localHTTPStreamerMPEGDashIndexItem = (HTTPStreamerMPEGDashIndexItem)localIterator.next();
      str = localHTTPStreamerMPEGDashIndexItem.getBitrateAudio() + "";
      if (localArrayList.contains(str)) {
        break;
      }
      break label90;
    }
    for (;;)
    {
      break label75;
      break;
      label90:
      localArrayList.add(str);
    }
  }
  
  public HTTPStreamerMPEGDashIndexItem getItemForRepresentationId(int paramInt1, int paramInt2)
  {
    HTTPStreamerMPEGDashIndexItem localHTTPStreamerMPEGDashIndexItem = null;
    
    List localList = a(paramInt2);
    if (paramInt1 < 0) {
      return localHTTPStreamerMPEGDashIndexItem;
    }
    for (;; paramInt1 >= localList.size())
    {
      localHTTPStreamerMPEGDashIndexItem = (HTTPStreamerMPEGDashIndexItem)localList.get(paramInt1); break;
    }
  }
  
  public List<String> getBitratesVideo()
  {
    ArrayList localArrayList = new ArrayList();
    
    List localList = a();
    Iterator localIterator = localList.iterator();
    break label78;
    return localArrayList;
    for (;;)
    {
      label25:
      String str;
      label78:
      for (;; !localIterator.hasNext())
      {
        HTTPStreamerMPEGDashIndexItem localHTTPStreamerMPEGDashIndexItem = (HTTPStreamerMPEGDashIndexItem)localIterator.next();
        str = localHTTPStreamerMPEGDashIndexItem.getBitrateVideo() + "";
        if (localArrayList.contains(str)) {
          break label25;
        }
        break label90;
      }
      label90:
      localArrayList.add(str);
    }
  }
  
  public String bitrateStrToStreamName(String paramString)
  {
    String str = null;
    
    HTTPStreamerMPEGDashIndexItem localHTTPStreamerMPEGDashIndexItem = null;
    SortedMap localSortedMap;
    for (;;)
    {
      try
      {
        localHTTPStreamerMPEGDashIndexItem = (HTTPStreamerMPEGDashIndexItem)items.get(paramString);
      }
      finally
      {
        continue;
        break label68;
      }
      str = localHTTPStreamerMPEGDashIndexItem.getStreamName();
      str = adjustStreamName(str);
      break label66;
      continue;
      label66:
      label68:
      do
      {
        return str;
      } while (localHTTPStreamerMPEGDashIndexItem == null);
    }
  }
  
  public String bitrateAudioStrToStreamName(String paramString)
  {
    String str = null;
    
    HTTPStreamerMPEGDashIndexItem localHTTPStreamerMPEGDashIndexItem = (HTTPStreamerMPEGDashIndexItem)itemsAudio.get(paramString);
    if (localHTTPStreamerMPEGDashIndexItem == null) {}
    for (;;)
    {
      return str;str = localHTTPStreamerMPEGDashIndexItem.getStreamName();str = adjustStreamName(str);
    }
  }
  
  public String bitrateVideoStrToStreamName(String paramString)
  {
    String str = null;
    
    HTTPStreamerMPEGDashIndexItem localHTTPStreamerMPEGDashIndexItem = (HTTPStreamerMPEGDashIndexItem)itemsVideo.get(paramString);
    if (localHTTPStreamerMPEGDashIndexItem == null) {}
    for (;;)
    {
      return str;str = localHTTPStreamerMPEGDashIndexItem.getStreamName();str = adjustStreamName(str);
    }
  }
  
  /* Error */
  public void indexPlaylist()
  {
    // Byte code:
    //   0: new 145	java/lang/StringBuilder
    //   3: dup
    //   4: invokespecial 146	java/lang/StringBuilder:<init>	()V
    //   7: aload_0
    //   8: getfield 102	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:appInstance	Lcom/wowza/wms/application/IApplicationInstance;
    //   11: invokeinterface 284 1 0
    //   16: invokeinterface 289 1 0
    //   21: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   24: ldc_w 291
    //   27: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   30: aload_0
    //   31: getfield 102	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:appInstance	Lcom/wowza/wms/application/IApplicationInstance;
    //   34: invokeinterface 292 1 0
    //   39: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   42: ldc_w 291
    //   45: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   48: aload_0
    //   49: getfield 295	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:streamExt	Ljava/lang/String;
    //   52: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   55: ldc -104
    //   57: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   60: aload_0
    //   61: getfield 298	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:streamName	Ljava/lang/String;
    //   64: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   67: invokevirtual 156	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   70: astore_1
    //   71: goto +7 -> 78
    //   74: return
    //   75: goto -1 -> 74
    //   78: aload_0
    //   79: getfield 102	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:appInstance	Lcom/wowza/wms/application/IApplicationInstance;
    //   82: aload_0
    //   83: getfield 298	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:streamName	Ljava/lang/String;
    //   86: aload_0
    //   87: getfield 295	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:streamExt	Ljava/lang/String;
    //   90: aload_0
    //   91: getfield 302	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:httpStreamerSession	Lcom/wowza/wms/httpstreamer/model/IHTTPStreamerSession;
    //   94: invokestatic 308	com/wowza/wms/util/MediaListUtils:parseMediaList	(Lcom/wowza/wms/application/IApplicationInstance;Ljava/lang/String;Ljava/lang/String;Lcom/wowza/wms/httpstreamer/model/IHTTPStreamerSession;)Lcom/wowza/wms/medialist/MediaList;
    //   97: astore_2
    //   98: aload_2
    //   99: ifnonnull +52 -> 151
    //   102: goto +346 -> 448
    //   105: aload 6
    //   107: invokevirtual 311	com/wowza/wms/medialist/MediaListRendition:getPlaySeek	()J
    //   110: goto +192 -> 302
    //   113: aload_0
    //   114: invokevirtual 164	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:getPlayStart	()J
    //   117: goto +485 -> 602
    //   120: lload 8
    //   122: lload 10
    //   124: ladd
    //   125: goto +398 -> 523
    //   128: aload 6
    //   130: invokevirtual 312	com/wowza/wms/medialist/MediaListRendition:getPlayStart	()J
    //   133: goto +469 -> 602
    //   136: aload_0
    //   137: invokevirtual 171	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:getPlayDuration	()J
    //   140: goto +23 -> 163
    //   143: astore 16
    //   145: aload 15
    //   147: monitorexit
    //   148: goto +79 -> 227
    //   151: aload_2
    //   152: invokevirtual 318	com/wowza/wms/medialist/MediaList:getFirstSegment	()Lcom/wowza/wms/medialist/MediaListSegment;
    //   155: astore_3
    //   156: aload_3
    //   157: ifnonnull +426 -> 583
    //   160: goto +172 -> 332
    //   163: invokevirtual 174	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:setPlayDuration	(J)V
    //   166: aload 14
    //   168: aload_0
    //   169: invokevirtual 177	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:getPlaySeek	()J
    //   172: lconst_0
    //   173: lcmp
    //   174: ifle -69 -> 105
    //   177: goto +121 -> 298
    //   180: aload_0
    //   181: getfield 94	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:order	Ljava/util/List;
    //   184: aload 14
    //   186: invokeinterface 192 2 0
    //   191: pop
    //   192: aload 15
    //   194: monitorexit
    //   195: goto +312 -> 507
    //   198: monitorenter
    //   199: goto -19 -> 180
    //   202: aload 5
    //   204: invokeinterface 226 1 0
    //   209: checkcast 310	com/wowza/wms/medialist/MediaListRendition
    //   212: astore 6
    //   214: aload 6
    //   216: invokevirtual 321	com/wowza/wms/medialist/MediaListRendition:getType	()I
    //   219: bipush 9
    //   221: if_icmpeq +169 -> 390
    //   224: goto +395 -> 619
    //   227: aload 16
    //   229: athrow
    //   230: aload_0
    //   231: iconst_1
    //   232: putfield 325	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:reloadMediaList	Z
    //   235: getstatic 327	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:CLASS	Ljava/lang/Class;
    //   238: invokestatic 333	com/wowza/wms/logging/WMSLoggerFactory:getLogger	(Ljava/lang/Class;)Lcom/wowza/wms/logging/WMSLogger;
    //   241: new 145	java/lang/StringBuilder
    //   244: dup
    //   245: invokespecial 146	java/lang/StringBuilder:<init>	()V
    //   248: ldc_w 335
    //   251: sipush 821
    //   254: sipush 193
    //   257: idiv
    //   258: invokestatic 341	com/wowza/util/JSON:copyValueOf	(Ljava/lang/String;I)Ljava/lang/String;
    //   261: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   264: aload_1
    //   265: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   268: ldc_w 343
    //   271: bipush 42
    //   273: iconst_2
    //   274: isub
    //   275: invokestatic 341	com/wowza/util/JSON:copyValueOf	(Ljava/lang/String;I)Ljava/lang/String;
    //   278: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   281: invokevirtual 156	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   284: invokevirtual 348	com/wowza/wms/logging/WMSLogger:warn	(Ljava/lang/String;)V
    //   287: goto -212 -> 75
    //   290: aload 6
    //   292: invokevirtual 349	com/wowza/wms/medialist/MediaListRendition:getPlayDuration	()J
    //   295: goto -132 -> 163
    //   298: aload_0
    //   299: invokevirtual 177	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:getPlaySeek	()J
    //   302: invokevirtual 180	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:setPlaySeek	(J)V
    //   305: aload 14
    //   307: dup
    //   308: invokevirtual 350	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:getVODTranscodeNGRP	()Ljava/lang/String;
    //   311: invokevirtual 186	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:setVODTranscodeNGRP	(Ljava/lang/String;)V
    //   314: aload_0
    //   315: getfield 85	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:items	Ljava/util/SortedMap;
    //   318: dup
    //   319: astore 15
    //   321: goto -123 -> 198
    //   324: goto +186 -> 510
    //   327: lload 12
    //   329: goto +194 -> 523
    //   332: aload_0
    //   333: iconst_1
    //   334: putfield 325	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:reloadMediaList	Z
    //   337: getstatic 327	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:CLASS	Ljava/lang/Class;
    //   340: invokestatic 333	com/wowza/wms/logging/WMSLoggerFactory:getLogger	(Ljava/lang/Class;)Lcom/wowza/wms/logging/WMSLogger;
    //   343: new 145	java/lang/StringBuilder
    //   346: dup
    //   347: invokespecial 146	java/lang/StringBuilder:<init>	()V
    //   350: iconst_m1
    //   351: bipush 57
    //   353: isub
    //   354: ldc_w 352
    //   357: invokestatic 51	com/wowza/util/Base64:endsWith	(ILjava/lang/String;)Ljava/lang/String;
    //   360: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   363: aload_1
    //   364: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   367: ldc_w 354
    //   370: bipush 107
    //   372: bipush -101
    //   374: iadd
    //   375: invokestatic 341	com/wowza/util/JSON:copyValueOf	(Ljava/lang/String;I)Ljava/lang/String;
    //   378: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   381: invokevirtual 156	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   384: invokevirtual 348	com/wowza/wms/logging/WMSLogger:warn	(Ljava/lang/String;)V
    //   387: goto -312 -> 75
    //   390: aload 6
    //   392: invokevirtual 355	com/wowza/wms/medialist/MediaListRendition:getName	()Ljava/lang/String;
    //   395: astore 7
    //   397: aload 6
    //   399: invokevirtual 357	com/wowza/wms/medialist/MediaListRendition:getBitrateAudio	()I
    //   402: i2l
    //   403: lstore 8
    //   405: aload 6
    //   407: invokevirtual 359	com/wowza/wms/medialist/MediaListRendition:getBitrateVideo	()I
    //   410: i2l
    //   411: lstore 10
    //   413: aload 6
    //   415: invokevirtual 362	com/wowza/wms/medialist/MediaListRendition:getBitrateTotal	()I
    //   418: i2l
    //   419: lstore 12
    //   421: lload 12
    //   423: lconst_0
    //   424: lcmp
    //   425: ifle -305 -> 120
    //   428: goto -101 -> 327
    //   431: aload_0
    //   432: iconst_0
    //   433: putfield 325	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:reloadMediaList	Z
    //   436: aload 4
    //   438: invokeinterface 220 1 0
    //   443: astore 5
    //   445: goto +65 -> 510
    //   448: aload_0
    //   449: iconst_1
    //   450: putfield 325	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexBase:reloadMediaList	Z
    //   453: getstatic 327	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:CLASS	Ljava/lang/Class;
    //   456: invokestatic 333	com/wowza/wms/logging/WMSLoggerFactory:getLogger	(Ljava/lang/Class;)Lcom/wowza/wms/logging/WMSLogger;
    //   459: new 145	java/lang/StringBuilder
    //   462: dup
    //   463: invokespecial 146	java/lang/StringBuilder:<init>	()V
    //   466: bipush -11
    //   468: bipush 49
    //   470: isub
    //   471: ldc_w 364
    //   474: invokestatic 51	com/wowza/util/Base64:endsWith	(ILjava/lang/String;)Ljava/lang/String;
    //   477: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   480: aload_1
    //   481: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   484: ldc_w 366
    //   487: bipush -50
    //   489: bipush -6
    //   491: isub
    //   492: invokestatic 341	com/wowza/util/JSON:copyValueOf	(Ljava/lang/String;I)Ljava/lang/String;
    //   495: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   498: invokevirtual 156	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   501: invokevirtual 348	com/wowza/wms/logging/WMSLogger:warn	(Ljava/lang/String;)V
    //   504: goto -429 -> 75
    //   507: goto -183 -> 324
    //   510: aload 5
    //   512: invokeinterface 233 1 0
    //   517: ifeq -442 -> 75
    //   520: goto -318 -> 202
    //   523: lstore 12
    //   525: new 142	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem
    //   528: dup
    //   529: aload_0
    //   530: invokespecial 143	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:<init>	(Lcom/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex;)V
    //   533: astore 14
    //   535: aload 14
    //   537: aload 7
    //   539: invokevirtual 160	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:setStreamName	(Ljava/lang/String;)V
    //   542: aload 14
    //   544: lload 12
    //   546: invokevirtual 369	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:setBitrate	(J)V
    //   549: aload 14
    //   551: lload 8
    //   553: invokevirtual 372	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:setBitrateAudio	(J)V
    //   556: aload 14
    //   558: lload 10
    //   560: invokevirtual 375	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:setBitrateVideo	(J)V
    //   563: aload 14
    //   565: iconst_1
    //   566: invokevirtual 379	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:setResolvePlayAlias	(Z)V
    //   569: aload 14
    //   571: aload_0
    //   572: invokevirtual 164	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:getPlayStart	()J
    //   575: lconst_0
    //   576: lcmp
    //   577: ifle -449 -> 128
    //   580: goto -467 -> 113
    //   583: aload_3
    //   584: invokevirtual 384	com/wowza/wms/medialist/MediaListSegment:getRenditions	()Ljava/util/List;
    //   587: astore 4
    //   589: aload 4
    //   591: invokeinterface 215 1 0
    //   596: ifgt -165 -> 431
    //   599: goto -369 -> 230
    //   602: invokevirtual 168	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:setPlayStart	(J)V
    //   605: aload 14
    //   607: aload_0
    //   608: invokevirtual 171	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:getPlayDuration	()J
    //   611: lconst_0
    //   612: lcmp
    //   613: ifle -323 -> 290
    //   616: goto -480 -> 136
    //   619: goto -109 -> 510
    //   622: astore_2
    //   623: getstatic 327	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:CLASS	Ljava/lang/Class;
    //   626: invokestatic 333	com/wowza/wms/logging/WMSLoggerFactory:getLogger	(Ljava/lang/Class;)Lcom/wowza/wms/logging/WMSLogger;
    //   629: new 145	java/lang/StringBuilder
    //   632: dup
    //   633: invokespecial 146	java/lang/StringBuilder:<init>	()V
    //   636: bipush 49
    //   638: bipush 39
    //   640: imul
    //   641: ldc_w 386
    //   644: invokestatic 51	com/wowza/util/Base64:endsWith	(ILjava/lang/String;)Ljava/lang/String;
    //   647: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   650: aload_1
    //   651: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   654: sipush 792
    //   657: sipush 153
    //   660: idiv
    //   661: ldc_w 388
    //   664: invokestatic 51	com/wowza/util/Base64:endsWith	(ILjava/lang/String;)Ljava/lang/String;
    //   667: invokevirtual 150	java/lang/StringBuilder:append	(Ljava/lang/String;)Ljava/lang/StringBuilder;
    //   670: invokevirtual 156	java/lang/StringBuilder:toString	()Ljava/lang/String;
    //   673: aload_2
    //   674: invokevirtual 392	com/wowza/wms/logging/WMSLogger:error	(Ljava/lang/String;Ljava/lang/Throwable;)V
    //   677: goto -603 -> 74
    // Line number table:
    //   Java source line #293	-> byte code offset #0
    //   Java source line #361	-> byte code offset #74
    //   Java source line #360	-> byte code offset #75
    //   Java source line #298	-> byte code offset #78
    //   Java source line #299	-> byte code offset #98
    //   Java source line #346	-> byte code offset #105
    //   Java source line #344	-> byte code offset #113
    //   Java source line #335	-> byte code offset #120
    //   Java source line #344	-> byte code offset #128
    //   Java source line #345	-> byte code offset #136
    //   Java source line #352	-> byte code offset #143
    //   Java source line #306	-> byte code offset #151
    //   Java source line #307	-> byte code offset #156
    //   Java source line #345	-> byte code offset #163
    //   Java source line #346	-> byte code offset #166
    //   Java source line #351	-> byte code offset #180
    //   Java source line #352	-> byte code offset #192
    //   Java source line #349	-> byte code offset #198
    //   Java source line #326	-> byte code offset #202
    //   Java source line #328	-> byte code offset #214
    //   Java source line #352	-> byte code offset #227
    //   Java source line #317	-> byte code offset #230
    //   Java source line #318	-> byte code offset #235
    //   Java source line #319	-> byte code offset #287
    //   Java source line #345	-> byte code offset #290
    //   Java source line #346	-> byte code offset #298
    //   Java source line #347	-> byte code offset #305
    //   Java source line #349	-> byte code offset #314
    //   Java source line #353	-> byte code offset #324
    //   Java source line #335	-> byte code offset #327
    //   Java source line #309	-> byte code offset #332
    //   Java source line #310	-> byte code offset #337
    //   Java source line #311	-> byte code offset #387
    //   Java source line #331	-> byte code offset #390
    //   Java source line #332	-> byte code offset #397
    //   Java source line #333	-> byte code offset #405
    //   Java source line #334	-> byte code offset #413
    //   Java source line #335	-> byte code offset #421
    //   Java source line #322	-> byte code offset #431
    //   Java source line #323	-> byte code offset #436
    //   Java source line #301	-> byte code offset #448
    //   Java source line #302	-> byte code offset #453
    //   Java source line #303	-> byte code offset #504
    //   Java source line #352	-> byte code offset #507
    //   Java source line #324	-> byte code offset #510
    //   Java source line #335	-> byte code offset #523
    //   Java source line #337	-> byte code offset #525
    //   Java source line #339	-> byte code offset #535
    //   Java source line #340	-> byte code offset #542
    //   Java source line #341	-> byte code offset #549
    //   Java source line #342	-> byte code offset #556
    //   Java source line #343	-> byte code offset #563
    //   Java source line #344	-> byte code offset #569
    //   Java source line #314	-> byte code offset #583
    //   Java source line #315	-> byte code offset #589
    //   Java source line #344	-> byte code offset #602
    //   Java source line #345	-> byte code offset #605
    //   Java source line #329	-> byte code offset #619
    //   Java source line #357	-> byte code offset #622
    //   Java source line #359	-> byte code offset #623
    // Exception table:
    //   from	to	target	type
    //   143	151	143	finally
    //   180	198	143	finally
    //   78	622	622	java/lang/Exception
  }
  
  /* Error */
  public boolean indexFile(com.wowza.wms.httpstreamer.model.IHTTPStreamerSession arg1, String arg2)
  {
    // Byte code:
    //   0: iconst_0
    //   1: istore_3
    //   2: aload_0
    //   3: invokespecial 212	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndex:a	()Ljava/util/List;
    //   6: astore 4
    //   8: aload 4
    //   10: invokeinterface 220 1 0
    //   15: astore 5
    //   17: goto +116 -> 133
    //   20: aload 6
    //   22: getfield 400	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:codecInfoAudio	Lcom/wowza/wms/media/model/MediaCodecInfoAudio;
    //   25: invokevirtual 405	com/wowza/wms/media/model/MediaCodecInfoAudio:getAudioSampleFrequency	()I
    //   28: istore 16
    //   30: aload 6
    //   32: getfield 400	com/wowza/wms/httpstreamer/mpegdashstreaming/file/HTTPStreamerMPEGDashIndexItem:codecInfoAudio	Lcom/wowza/wms/media/model/MediaCodecInfoAudio;
    //   35: invokevirtual 408	com/wowza/wms/media/model/MediaCodecInfoAudio:getCodecId	()I
    //   38: iconst_1
    //   39: if_icmpne +107 -> 146
    //   42: goto +80 -> 122
   
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47

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