wms-mediareader-h264

16:54:10.576 INFO  jd.cli.Main - Decompiling wms-mediareader-h264.jar
package com.wowza.wms.mediareader.h264;

import com.wowza.wms.mediareader.h264.atom.IQTMediaCursor;
import com.wowza.wms.mediareader.h264.atom.QTAtomtrak;

public class H264Cursor
{
  protected QTAtomtrak videoTrackAtom = null;
  protected QTAtomtrak audioTrackAtom = null;
  protected QTAtomtrak dataTrackAtom = null;
  protected IQTMediaCursor dCursor = null;
  protected boolean dAtEnd = false;
  protected IQTMediaCursor vCursor = null;
  protected boolean vAtEnd = false;
  protected IQTMediaCursor aCursor = null;
  protected boolean aAtEnd = false;
  protected int cursorType = 0;
  
  public H264Cursor(QTAtomtrak paramQTAtomtrak1, QTAtomtrak paramQTAtomtrak2, QTAtomtrak paramQTAtomtrak3)
  {
    videoTrackAtom = paramQTAtomtrak1;
    audioTrackAtom = paramQTAtomtrak2;
    dataTrackAtom = paramQTAtomtrak3;
    a();
  }
  
  public H264Cursor(QTAtomtrak paramQTAtomtrak1, QTAtomtrak paramQTAtomtrak2, QTAtomtrak paramQTAtomtrak3, int paramInt)
  {
    videoTrackAtom = paramQTAtomtrak1;
    audioTrackAtom = paramQTAtomtrak2;
    dataTrackAtom = paramQTAtomtrak3;
    a();
  }
  
  private void a()
  {
    initDataCursor();
    initVideoCursor();
    initAudioCursor();
  }
  
  /* Error */
  protected void initAudioCursor()
  {
    // Byte code:
    //   0: aload_0
    //   1: dup
    //   2: getfield 28	com/wowza/wms/mediareader/h264/H264Cursor:audioTrackAtom	Lcom/wowza/wms/mediareader/h264/atom/QTAtomtrak;
    //   5: ifnonnull +37 -> 42
    //   8: goto +49 -> 57
    //   11: aload_0
    //   12: iconst_1
    //   13: putfield 42	com/wowza/wms/mediareader/h264/H264Cursor:aAtEnd	Z
    //   16: goto +40 -> 56
    //   19: aload_0
    //   20: getfield 40	com/wowza/wms/mediareader/h264/H264Cursor:aCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   23: ifnonnull +33 -> 56
    //   26: goto -15 -> 11
    //   29: putfield 40	com/wowza/wms/mediareader/h264/H264Cursor:aCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   32: aload_0
    //   33: getfield 40	com/wowza/wms/mediareader/h264/H264Cursor:aCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   36: ifnull -17 -> 19
    //   39: goto +22 -> 61
    //   42: new 59	com/wowza/wms/mediareader/h264/atom/QTMediaCursor
    //   45: dup
    //   46: aload_0
    //   47: getfield 28	com/wowza/wms/mediareader/h264/H264Cursor:audioTrackAtom	Lcom/wowza/wms/mediareader/h264/atom/QTAtomtrak;
    //   50: invokespecial 62	com/wowza/wms/mediareader/h264/atom/QTMediaCursor:<init>	(Lcom/wowza/wms/mediareader/h264/atom/QTAtomtrak;)V
    //   53: goto -24 -> 29
    //   56: return
    //   57: aconst_null
    //   58: goto -29 -> 29
    //   61: aload_0
    //   62: getfield 40	com/wowza/wms/mediareader/h264/H264Cursor:aCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   65: aload_0
    //   66: getfield 44	com/wowza/wms/mediareader/h264/H264Cursor:cursorType	I
    //   69: invokeinterface 68 2 0
    //   74: goto -55 -> 19
    // Line number table:
    //   Java source line #44	-> byte code offset #0
    //   Java source line #48	-> byte code offset #11
    //   Java source line #47	-> byte code offset #19
    //   Java source line #44	-> byte code offset #29
    //   Java source line #45	-> byte code offset #32
    //   Java source line #44	-> byte code offset #42
    //   Java source line #49	-> byte code offset #56
    //   Java source line #44	-> byte code offset #57
    //   Java source line #46	-> byte code offset #61
  }
  
  /* Error */
  protected void initVideoCursor()
  {
    // Byte code:
    //   0: aload_0
    //   1: dup
    //   2: getfield 26	com/wowza/wms/mediareader/h264/H264Cursor:videoTrackAtom	Lcom/wowza/wms/mediareader/h264/atom/QTAtomtrak;
    //   5: ifnonnull +50 -> 55
    //   8: goto +20 -> 28
    //   11: aload_0
    //   12: getfield 36	com/wowza/wms/mediareader/h264/H264Cursor:vCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   15: aload_0
    //   16: getfield 44	com/wowza/wms/mediareader/h264/H264Cursor:cursorType	I
    //   19: invokeinterface 68 2 0
    //   24: goto +8 -> 32
    //   27: return
    //   28: aconst_null
    //   29: goto +13 -> 42
    //   32: aload_0
    //   33: getfield 36	com/wowza/wms/mediareader/h264/H264Cursor:vCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   36: ifnonnull -9 -> 27
    //   39: goto +30 -> 69
    //   42: putfield 36	com/wowza/wms/mediareader/h264/H264Cursor:vCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   45: aload_0
    //   46: getfield 36	com/wowza/wms/mediareader/h264/H264Cursor:vCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   49: ifnull -17 -> 32
    //   52: goto -41 -> 11
    //   55: new 59	com/wowza/wms/mediareader/h264/atom/QTMediaCursor
    //   58: dup
    //   59: aload_0
    //   60: getfield 26	com/wowza/wms/mediareader/h264/H264Cursor:videoTrackAtom	Lcom/wowza/wms/mediareader/h264/atom/QTAtomtrak;
    //   63: invokespecial 62	com/wowza/wms/mediareader/h264/atom/QTMediaCursor:<init>	(Lcom/wowza/wms/mediareader/h264/atom/QTAtomtrak;)V
    //   66: goto -24 -> 42
    //   69: aload_0
    //   70: iconst_1
    //   71: putfield 38	com/wowza/wms/mediareader/h264/H264Cursor:vAtEnd	Z
    //   74: goto -47 -> 27
    // Line number table:
    //   Java source line #52	-> byte code offset #0
    //   Java source line #54	-> byte code offset #11
    //   Java source line #57	-> byte code offset #27
    //   Java source line #52	-> byte code offset #28
    //   Java source line #55	-> byte code offset #32
    //   Java source line #52	-> byte code offset #42
    //   Java source line #53	-> byte code offset #45
    //   Java source line #52	-> byte code offset #55
    //   Java source line #56	-> byte code offset #69
  }
  
  /* Error */
  protected void initDataCursor()
  {
    // Byte code:
    //   0: aload_0
    //   1: dup
    //   2: getfield 30	com/wowza/wms/mediareader/h264/H264Cursor:dataTrackAtom	Lcom/wowza/wms/mediareader/h264/atom/QTAtomtrak;
    //   5: ifnonnull +53 -> 58
    //   8: goto +65 -> 73
    //   11: aload_0
    //   12: getfield 32	com/wowza/wms/mediareader/h264/H264Cursor:dCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   15: aload_0
    //   16: getfield 44	com/wowza/wms/mediareader/h264/H264Cursor:cursorType	I
    //   19: invokeinterface 68 2 0
    //   24: goto +24 -> 48
    //   27: putfield 32	com/wowza/wms/mediareader/h264/H264Cursor:dCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   30: aload_0
    //   31: getfield 32	com/wowza/wms/mediareader/h264/H264Cursor:dCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   34: ifnull +14 -> 48
    //   37: goto -26 -> 11
    //   40: aload_0
    //   41: iconst_1
    //   42: putfield 34	com/wowza/wms/mediareader/h264/H264Cursor:dAtEnd	Z
    //   45: goto +27 -> 72
    //   48: aload_0
    //   49: getfield 32	com/wowza/wms/mediareader/h264/H264Cursor:dCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   52: ifnonnull +20 -> 72
    //   55: goto -15 -> 40
    //   58: new 59	com/wowza/wms/mediareader/h264/atom/QTMediaCursor
    //   61: dup
    //   62: aload_0
    //   63: getfield 30	com/wowza/wms/mediareader/h264/H264Cursor:dataTrackAtom	Lcom/wowza/wms/mediareader/h264/atom/QTAtomtrak;
    //   66: invokespecial 62	com/wowza/wms/mediareader/h264/atom/QTMediaCursor:<init>	(Lcom/wowza/wms/mediareader/h264/atom/QTAtomtrak;)V
    //   69: goto -42 -> 27
    //   72: return
    //   73: aconst_null
    //   74: goto -47 -> 27
    // Line number table:
    //   Java source line #60	-> byte code offset #0
    //   Java source line #62	-> byte code offset #11
    //   Java source line #60	-> byte code offset #27
    //   Java source line #61	-> byte code offset #30
    //   Java source line #64	-> byte code offset #40
    //   Java source line #63	-> byte code offset #48
    //   Java source line #60	-> byte code offset #58
    //   Java source line #65	-> byte code offset #72
    //   Java source line #60	-> byte code offset #73
  }
  
  /* Error */
  public boolean containsAudio()
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 28	com/wowza/wms/mediareader/h264/H264Cursor:audioTrackAtom	Lcom/wowza/wms/mediareader/h264/atom/QTAtomtrak;
    //   4: ifnull +7 -> 11
    //   7: goto +8 -> 15
    //   10: ireturn
    //   11: iconst_0
    //   12: goto -2 -> 10
    //   15: iconst_1
    //   16: goto -6 -> 10
    // Line number table:
    //   Java source line #69	-> byte code offset #0
  }
  
  /* Error */
  public boolean containsVideo()
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 26	com/wowza/wms/mediareader/h264/H264Cursor:videoTrackAtom	Lcom/wowza/wms/mediareader/h264/atom/QTAtomtrak;
    //   4: ifnull +7 -> 11
    //   7: goto +8 -> 15
    //   10: ireturn
    //   11: iconst_0
    //   12: goto -2 -> 10
    //   15: iconst_1
    //   16: goto -6 -> 10
    // Line number table:
    //   Java source line #74	-> byte code offset #0
  }
  
  /* Error */
  public boolean containsData()
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 30	com/wowza/wms/mediareader/h264/H264Cursor:dataTrackAtom	Lcom/wowza/wms/mediareader/h264/atom/QTAtomtrak;
    //   4: ifnull +7 -> 11
    //   7: goto +8 -> 15
    //   10: ireturn
    //   11: iconst_0
    //   12: goto -2 -> 10
    //   15: iconst_1
    //   16: goto -6 -> 10
    // Line number table:
    //   Java source line #79	-> byte code offset #0
  }
  
  public void close()
  {
    if (dCursor == null) {}
    for (;; dCursor.close())
    {
      dCursor = null;
      if (vCursor != null) {
        break label58;
      }
      vCursor = null;
      if (aCursor == null) {
        break;
      }
      break label70;
    }
    for (;;)
    {
      aCursor = null;
      return;
      label58:
      vCursor.close();
      break;
      label70:
      aCursor.close();
    }
  }
  
  /* Error */
  private final IQTMediaCursor b()
  {
    // Byte code:
    //   0: aconst_null
    //   1: astore_1
    //   2: aload_0
    //   3: getfield 38	com/wowza/wms/mediareader/h264/H264Cursor:vAtEnd	Z
    //   6: ifeq +34 -> 40
    //   9: goto +13 -> 22
    //   12: aload_1
    //   13: areturn
    //   14: aload_0
    //   15: getfield 40	com/wowza/wms/mediareader/h264/H264Cursor:aCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   18: astore_1
    //   19: goto -7 -> 12
    //   22: aload_0
    //   23: getfield 42	com/wowza/wms/mediareader/h264/H264Cursor:aAtEnd	Z
    //   26: ifeq +14 -> 40
    //   29: goto +56 -> 85
    //   32: aload_0
    //   33: getfield 36	com/wowza/wms/mediareader/h264/H264Cursor:vCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   36: astore_1
    //   37: goto -25 -> 12
    //   40: aload_0
    //   41: invokevirtual 81	com/wowza/wms/mediareader/h264/H264Cursor:getCurrentType	()I
    //   44: lookupswitch	default:+-32->12, 8:+-30->14, 9:+-12->32, 18:+51->95
    //   80: nop
    //   81: nop
    //   82: athrow
    //   83: aconst_null
    //   84: areturn
    //   85: aload_0
    //   86: getfield 34	com/wowza/wms/mediareader/h264/H264Cursor:dAtEnd	Z
    //   89: ifeq -49 -> 40
    //   92: goto -9 -> 83
    //   95: aload_0
    //   96: getfield 32	com/wowza/wms/mediareader/h264/H264Cursor:dCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   99: astore_1
    //   100: goto -88 -> 12
    // Line number table:
    //   Java source line #97	-> byte code offset #0
    //   Java source line #99	-> byte code offset #2
    //   Java source line #124	-> byte code offset #12
    //   Java source line #108	-> byte code offset #14
    //   Java source line #109	-> byte code offset #19
    //   Java source line #99	-> byte code offset #22
    //   Java source line #111	-> byte code offset #32
    //   Java source line #102	-> byte code offset #40
    //   Java source line #100	-> byte code offset #83
    //   Java source line #99	-> byte code offset #85
    //   Java source line #105	-> byte code offset #95
    //   Java source line #106	-> byte code offset #100
  }
  
  /* Error */
  public int getCurrentType()
  {
    // Byte code:
    //   0: iconst_0
    //   1: istore_1
    //   2: aload_0
    //   3: getfield 38	com/wowza/wms/mediareader/h264/H264Cursor:vAtEnd	Z
    //   6: ifeq +208 -> 214
    //   9: goto +54 -> 63
    //   12: iload_1
    //   13: ireturn
    //   14: aload_0
    //   15: getfield 32	com/wowza/wms/mediareader/h264/H264Cursor:dCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   18: ifnonnull +156 -> 174
    //   21: goto +113 -> 134
    //   24: aload_0
    //   25: getfield 36	com/wowza/wms/mediareader/h264/H264Cursor:vCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   28: astore 8
    //   30: goto +96 -> 126
    //   33: aload_0
    //   34: getfield 40	com/wowza/wms/mediareader/h264/H264Cursor:aCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   37: astore 8
    //   39: goto +87 -> 126
    //   42: aload_0
    //   43: getfield 32	com/wowza/wms/mediareader/h264/H264Cursor:dCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   46: astore 8
    //   48: goto +78 -> 126
    //   51: bipush 9
    //   53: istore_1
    //   54: goto +170 -> 224
    //   57: bipush 8
    //   59: istore_1
    //   60: goto +164 -> 224
    //   63: aload_0
    //   64: getfield 42	com/wowza/wms/mediareader/h264/H264Cursor:aAtEnd	Z
    //   67: ifeq +147 -> 214
    //   70: goto +34 -> 104
    //   73: lstore 4
    //   75: aload_0
    //   76: getfield 42	com/wowza/wms/mediareader/h264/H264Cursor:aAtEnd	Z
    //   79: ifne +67 -> 146
    //   82: goto +205 -> 287
    //   85: aload_0
    //   86: getfield 36	com/wowza/wms/mediareader/h264/H264Cursor:vCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   89: invokeinterface 87 1 0
    //   94: goto -21 -> 73
    //   97: iload_1
    //   98: ireturn
    //   99: iconst_0
    //   100: istore_1
    //   101: goto -4 -> 97
    //   104: aload_0
    //   105: getfield 34	com/wowza/wms/mediareader/h264/H264Cursor:dAtEnd	Z
    //   108: ifeq +106 -> 214
    //   111: goto -99 -> 12
    //   114: lstore 6
    //   116: lload_2
    //   117: lload 6
    //   119: lcmp
    //   120: ifgt +78 -> 198
    //   123: goto +154 -> 277
    //   126: aload 8
    //   128: ifnonnull -31 -> 97
    //   131: goto -32 -> 99
    //   134: ldc2_w 88
    //   137: goto +26 -> 163
    //   140: ldc2_w 88
    //   143: goto -70 -> 73
    //   146: ldc2_w 88
    //   149: goto -35 -> 114
    //   152: lload 6
    //   154: lload 4
    //   156: lcmp
    //   157: ifgt -106 -> 51
    //   160: goto -103 -> 57
    //   163: lstore_2
    //   164: aload_0
    //   165: getfield 38	com/wowza/wms/mediareader/h264/H264Cursor:vAtEnd	Z
    //   168: ifne -28 -> 140
    //   171: goto +96 -> 267
    //   174: aload_0
    //   175: getfield 32	com/wowza/wms/mediareader/h264/H264Cursor:dCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   178: invokeinterface 87 1 0
    //   183: goto -20 -> 163
    //   186: aload_0
    //   187: getfield 40	com/wowza/wms/mediareader/h264/H264Cursor:aCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   190: invokeinterface 87 1 0
    //   195: goto -81 -> 114
    //   198: lload 6
    //   200: lload_2
    //   201: lcmp
    //   202: ifgt -151 -> 51
    //   205: goto -53 -> 152
    //   208: bipush 18
    //   210: istore_1
    //   211: goto +13 -> 224
    //   214: aload_0
    //   215: getfield 34	com/wowza/wms/mediareader/h264/H264Cursor:dAtEnd	Z
    //   218: ifne -84 -> 134
    //   221: goto -207 -> 14
    //   224: aconst_null
    //   225: astore 8
    //   227: iload_1
    //   228: lookupswitch	default:+-102->126, 8:+-195->33, 9:+-204->24, 18:+-186->42
    //   264: nop
    //   265: nop
    //   266: athrow
    //   267: aload_0
    //   268: getfield 36	com/wowza/wms/mediareader/h264/H264Cursor:vCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   271: ifnonnull -186 -> 85
    //   274: goto -134 -> 140
    //   277: lload_2
    //   278: lload 4
    //   280: lcmp
    //   281: ifgt -83 -> 198
    //   284: goto -76 -> 208
    //   287: aload_0
    //   288: getfield 40	com/wowza/wms/mediareader/h264/H264Cursor:aCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   291: ifnonnull -105 -> 186
    //   294: goto -148 -> 146
    // Line number table:
    //   Java source line #129	-> byte code offset #0
    //   Java source line #131	-> byte code offset #2
    //   Java source line #132	-> byte code offset #12
    //   Java source line #135	-> byte code offset #14
    //   Java source line #158	-> byte code offset #24
    //   Java source line #155	-> byte code offset #33
    //   Java source line #156	-> byte code offset #39
    //   Java source line #152	-> byte code offset #42
    //   Java source line #153	-> byte code offset #48
    //   Java source line #144	-> byte code offset #51
    //   Java source line #142	-> byte code offset #57
    //   Java source line #131	-> byte code offset #63
    //   Java source line #136	-> byte code offset #73
    //   Java source line #137	-> byte code offset #75
    //   Java source line #136	-> byte code offset #85
    //   Java source line #165	-> byte code offset #97
    //   Java source line #163	-> byte code offset #99
    //   Java source line #131	-> byte code offset #104
    //   Java source line #137	-> byte code offset #114
    //   Java source line #139	-> byte code offset #116
    //   Java source line #162	-> byte code offset #126
    //   Java source line #135	-> byte code offset #134
    //   Java source line #136	-> byte code offset #140
    //   Java source line #137	-> byte code offset #146
    //   Java source line #141	-> byte code offset #152
    //   Java source line #135	-> byte code offset #163
    //   Java source line #136	-> byte code offset #164
    //   Java source line #135	-> byte code offset #174
    //   Java source line #137	-> byte code offset #186
    //   Java source line #141	-> byte code offset #198
    //   Java source line #140	-> byte code offset #208
    //   Java source line #135	-> byte code offset #214
    //   Java source line #148	-> byte code offset #224
    //   Java source line #149	-> byte code offset #227
    //   Java source line #136	-> byte code offset #267
    //   Java source line #139	-> byte code offset #277
    //   Java source line #137	-> byte code offset #287
  }
  
  /* Error */
  public boolean isAtEnd()
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 38	com/wowza/wms/mediareader/h264/H264Cursor:vAtEnd	Z
    //   4: ifeq +7 -> 11
    //   7: goto +22 -> 29
    //   10: ireturn
    //   11: iconst_0
    //   12: goto -2 -> 10
    //   15: iconst_1
    //   16: goto -6 -> 10
    //   19: aload_0
    //   20: getfield 34	com/wowza/wms/mediareader/h264/H264Cursor:dAtEnd	Z
    //   23: ifeq -12 -> 11
    //   26: goto -11 -> 15
    //   29: aload_0
    //   30: getfield 42	com/wowza/wms/mediareader/h264/H264Cursor:aAtEnd	Z
    //   33: ifeq -22 -> 11
    //   36: goto -17 -> 19
    // Line number table:
    //   Java source line #170	-> byte code offset #0
  }
  
  public boolean isAtAudioEnd()
  {
    return aAtEnd;
  }
  
  public boolean isAtVideoEnd()
  {
    if (vAtEnd) {
      break label12;
    }
    for (;;)
    {
      return true;
      label12:
      if (!aAtEnd) {
        tmpTernaryOp = 0;
      }
    }
  }
  
  public boolean isAtDataEnd()
  {
    return dAtEnd;
  }
  
  public long getTimeMillis()
  {
    return b().getTimeMillis();
  }
  
  public long getTimeSL()
  {
    return b().getTimeSL();
  }
  
  public long getTimeScaled(int paramInt)
  {
    return b().getTimeScaled(paramInt);
  }
  
  public long getAudioTimescale()
  {
    if (aCursor == null) {
      return 0L;
    }
    return aCursor.getTimescale();
  }
  
  public long getDataTimescale()
  {
    if (dCursor == null) {
      return 0L;
    }
    return dCursor.getTimescale();
  }
  
  public long getVideoTimescale()
  {
    if (vCursor == null) {
      return 0L;
    }
    return vCursor.getTimescale();
  }
  
  public double getSeekPoint()
  {
    return b().getSeekPoint();
  }
  
  public int getCTTS()
  {
    return b().getCTTS();
  }
  
  public int getCTTSMillis()
  {
    return b().getCTTSMillis();
  }
  
  public long getFileLoc()
  {
    return b().getFileLoc();
  }
  
  public long getSample()
  {
    return b().getSample();
  }
  
  public long getSampleDesc()
  {
    return b().getSampleDesc();
  }
  
  public boolean getAudioSampleValid(long paramLong)
  {
    if (aCursor == null) {
      return false;
    }
    return aCursor.isSampleValid(paramLong);
  }
  
  public boolean getDataSampleValid(long paramLong)
  {
    if (dCursor == null) {
      return false;
    }
    return dCursor.isSampleValid(paramLong);
  }
  
  public boolean getVideoSampleValid(long paramLong)
  {
    if (vCursor == null) {
      return false;
    }
    return vCursor.isSampleValid(paramLong);
  }
  
  /* Error */
  public long getAudioSample()
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 40	com/wowza/wms/mediareader/h264/H264Cursor:aCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   4: ifnonnull +7 -> 11
    //   7: goto +16 -> 23
    //   10: lreturn
    //   11: aload_0
    //   12: getfield 40	com/wowza/wms/mediareader/h264/H264Cursor:aCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   15: invokeinterface 124 1 0
    //   20: goto -10 -> 10
    //   23: ldc2_w 136
    //   26: goto -16 -> 10
    // Line number table:
    //   Java source line #280	-> byte code offset #0
  }
  
  public void setAudioSample(long paramLong)
  {
    if (aCursor != null) {
      break label18;
    }
    for (;;)
    {
      aAtEnd = false;
      break label27;
      label18:
      if (paramLong < 0L) {}
      label27:
      boolean bool;
      do
      {
        return;bool = aCursor.moveToSample(paramLong);
      } while (!bool);
    }
  }
  
  public void setDataSample(long paramLong)
  {
    if (dCursor == null) {}
    for (;;)
    {
      return;
      for (;; paramLong < 0L)
      {
        boolean bool = dCursor.moveToSample(paramLong);
        if (!bool) {
          break;
        }
        break label38;
      }
      label38:
      dAtEnd = false;
    }
  }
  
  public void setDataAtEnd()
  {
    if (dCursor == null) {
      for (;; dAtEnd = true) {
        return;
      }
    }
    for (;; dCursor.getSampleCount() <= 0L)
    {
      IQTMediaCursor tmp23_20 = dCursor;tmp23_20.moveToSample(tmp23_20.getSampleCount() - 1L); break;
    }
  }
  
  public void setVideoSample(long paramLong)
  {
    if (vCursor == null) {
      label11:
      for (;; vAtEnd = false) {
        return;
      }
    }
    for (;; paramLong < 0L)
    {
      boolean bool = vCursor.moveToSample(paramLong);
      if (!bool) {
        break;
      }
      break label11;
    }
  }
  
  /* Error */
  public long getDataSample()
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 32	com/wowza/wms/mediareader/h264/H264Cursor:dCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   4: ifnonnull +7 -> 11
    //   7: goto +16 -> 23
    //   10: lreturn
    //   11: aload_0
    //   12: getfield 32	com/wowza/wms/mediareader/h264/H264Cursor:dCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   15: invokeinterface 124 1 0
    //   20: goto -10 -> 10
    //   23: ldc2_w 136
    //   26: goto -16 -> 10
    // Line number table:
    //   Java source line #331	-> byte code offset #0
  }
  
  /* Error */
  public long getVideoSample()
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 36	com/wowza/wms/mediareader/h264/H264Cursor:vCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   4: ifnonnull +7 -> 11
    //   7: goto +16 -> 23
    //   10: lreturn
    //   11: aload_0
    //   12: getfield 36	com/wowza/wms/mediareader/h264/H264Cursor:vCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   15: invokeinterface 124 1 0
    //   20: goto -10 -> 10
    //   23: ldc2_w 136
    //   26: goto -16 -> 10
    // Line number table:
    //   Java source line #336	-> byte code offset #0
  }
  
  public boolean isKeyFrame()
  {
    return b().isKeyFrame();
  }
  
  public long getSize()
  {
    return b().getSize();
  }
  
  public long dataGetTotalTrackSize()
  {
    if (dCursor == null) {
      return 0L;
    }
    return dCursor.getTotalTrackSize();
  }
  
  public int videoGetTrackBitrate(long paramLong)
  {
    if (vCursor == null) {
      return 0;
    }
    return vCursor.getTrackBiterate(paramLong);
  }
  
  public int audioGetTrackBitrate(long paramLong)
  {
    if (aCursor == null) {
      return 0;
    }
    return aCursor.getTrackBiterate(paramLong);
  }
  
  public long videoGetTotalTrackSize()
  {
    if (vCursor == null) {
      return 0L;
    }
    return vCursor.getTotalTrackSize();
  }
  
  public long[] getTotalTrackSizeAndPeakSize(int paramInt)
  {
    if (vCursor == null) {
      return null;
    }
    return vCursor.getTotalTrackSizeAndPeakSize(paramInt);
  }
  
  public long audioGetTotalTrackSize()
  {
    if (aCursor == null) {
      return 0L;
    }
    return aCursor.getTotalTrackSize();
  }
  
  public long dataFindKeySample(long paramLong, int paramInt)
  {
    if (dCursor == null) {
      return -1L;
    }
    return dCursor.findKeySample(paramLong, paramInt);
  }
  
  public long videoFindKeySample(long paramLong, int paramInt)
  {
    if (vCursor == null) {
      return -1L;
    }
    return vCursor.findKeySample(paramLong, paramInt);
  }
  
  public long dataTimecodeToSample(long paramLong)
  {
    if (dCursor == null) {
      return -1L;
    }
    return dCursor.timecodeToSample(paramLong);
  }
  
  public long videoTimecodeToSample(long paramLong)
  {
    if (vCursor == null) {
      return -1L;
    }
    return vCursor.timecodeToSample(paramLong);
  }
  
  public long dataSampleToTimecode(long paramLong)
  {
    if (dCursor == null) {
      return -1L;
    }
    return dCursor.sampleToTimecode(paramLong);
  }
  
  public long videoSampleToTimecode(long paramLong)
  {
    if (vCursor == null) {
      return -1L;
    }
    return vCursor.sampleToTimecode(paramLong);
  }
  
  public long dataTimeMillisToTimecode(long paramLong)
  {
    if (dCursor == null) {
      return 0L;
    }
    return dCursor.timeMillisToTimecode(paramLong);
  }
  
  public long videoTimeMillisToTimecode(long paramLong)
  {
    if (vCursor == null) {
      return 0L;
    }
    return vCursor.timeMillisToTimecode(paramLong);
  }
  
  public long dataTimecodeToTimeMillis(long paramLong)
  {
    if (dCursor == null) {
      return 0L;
    }
    return dCursor.timecodeToTimeMillis(paramLong);
  }
  
  public long videoTimecodeToTimeMillis(long paramLong)
  {
    if (vCursor == null) {
      return 0L;
    }
    return vCursor.timecodeToTimeMillis(paramLong);
  }
  
  public long dataTimecodeToTimeSL(long paramLong)
  {
    if (dCursor == null) {
      return 0L;
    }
    return dCursor.timecodeToTimeSL(paramLong);
  }
  
  public long dataTimecodeToTimeSL()
  {
    if (dCursor == null) {
      return 0L;
    }
    return dCursor.timecodeToTimeSL();
  }
  
  public long videoTimecodeToTimeSL(long paramLong)
  {
    if (vCursor == null) {
      return 0L;
    }
    return vCursor.timecodeToTimeSL(paramLong);
  }
  
  public long videoTimecodeToTimeSL()
  {
    if (vCursor == null) {
      return 0L;
    }
    return vCursor.timecodeToTimeSL();
  }
  
  public long audioTimecodeToSample(long paramLong)
  {
    if (aCursor == null) {
      return -1L;
    }
    return aCursor.timecodeToSample(paramLong);
  }
  
  public long audioSampleToTimecode(long paramLong)
  {
    if (aCursor == null) {
      return -1L;
    }
    return aCursor.sampleToTimecode(paramLong);
  }
  
  public long audioTimeMillisToTimecode(long paramLong)
  {
    if (aCursor == null) {
      return 0L;
    }
    return aCursor.timeMillisToTimecode(paramLong);
  }
  
  public long audioTimecodeToTimeMillis(long paramLong)
  {
    if (aCursor == null) {
      return 0L;
    }
    return aCursor.timecodeToTimeMillis(paramLong);
  }
  
  public long audioTimecodeToTimeSL(long paramLong)
  {
    if (aCursor == null) {
      return 0L;
    }
    return aCursor.timecodeToTimeSL(paramLong);
  }
  
  public long audioTimecodeToTimeSL()
  {
    if (aCursor == null) {
      return 0L;
    }
    return aCursor.timecodeToTimeSL();
  }
  
  public long getAudioSampleCount()
  {
    if (aCursor == null) {
      return -1L;
    }
    return aCursor.getSampleCount();
  }
  
  public long getDataSampleCount()
  {
    if (dCursor == null) {
      return -1L;
    }
    return dCursor.getSampleCount();
  }
  
  public long getVideoSampleCount()
  {
    if (vCursor == null) {
      return -1L;
    }
    return vCursor.getSampleCount();
  }
  
  /* Error */
  public boolean movePrevSample()
  {
    // Byte code:
    //   0: aload_0
    //   1: invokevirtual 81	com/wowza/wms/mediareader/h264/H264Cursor:getCurrentType	()I
    //   4: istore_1
    //   5: iload_1
    //   6: lookupswitch	default:+75->81, 8:+85->91, 9:+37->43, 18:+100->106
    //   40: nop
    //   41: nop
    //   42: athrow
    //   43: aload_0
    //   44: getfield 36	com/wowza/wms/mediareader/h264/H264Cursor:vCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   47: invokeinterface 217 1 0
    //   52: ifne +29 -> 81
    //   55: goto +66 -> 121
    //   58: ireturn
    //   59: aload_0
    //   60: iconst_1
    //   61: putfield 34	com/wowza/wms/mediareader/h264/H264Cursor:dAtEnd	Z
    //   64: goto +17 -> 81
    //   67: iconst_0
    //   68: goto -10 -> 58
    //   71: aload_0
    //   72: getfield 42	com/wowza/wms/mediareader/h264/H264Cursor:aAtEnd	Z
    //   75: ifeq -8 -> 67
    //   78: goto +63 -> 141
    //   81: aload_0
    //   82: getfield 38	com/wowza/wms/mediareader/h264/H264Cursor:vAtEnd	Z
    //   85: ifeq -18 -> 67
    //   88: goto -17 -> 71
    //   91: aload_0
    //   92: getfield 40	com/wowza/wms/mediareader/h264/H264Cursor:aCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   95: invokeinterface 217 1 0
    //   100: ifne -19 -> 81
    //   103: goto +26 -> 129
    //   106: aload_0
    //   107: getfield 32	com/wowza/wms/mediareader/h264/H264Cursor:dCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   110: invokeinterface 217 1 0
    //   115: ifne -34 -> 81
    //   118: goto -59 -> 59
    //   121: aload_0
    //   122: iconst_1
    //   123: putfield 38	com/wowza/wms/mediareader/h264/H264Cursor:vAtEnd	Z
    //   126: goto -45 -> 81
    //   129: aload_0
    //   130: iconst_1
    //   131: putfield 42	com/wowza/wms/mediareader/h264/H264Cursor:aAtEnd	Z
    //   134: goto -53 -> 81
    //   137: iconst_1
    //   138: goto -80 -> 58
    //   141: aload_0
    //   142: getfield 34	com/wowza/wms/mediareader/h264/H264Cursor:dAtEnd	Z
    //   145: ifeq -78 -> 67
    //   148: goto -11 -> 137
    // Line number table:
    //   Java source line #552	-> byte code offset #0
    //   Java source line #554	-> byte code offset #5
    //   Java source line #565	-> byte code offset #43
    //   Java source line #581	-> byte code offset #58
    //   Java source line #558	-> byte code offset #59
    //   Java source line #581	-> byte code offset #67
    //   Java source line #561	-> byte code offset #91
    //   Java source line #557	-> byte code offset #106
    //   Java source line #566	-> byte code offset #121
    //   Java source line #562	-> byte code offset #129
    //   Java source line #581	-> byte code offset #137
  }
  
  /* Error */
  public boolean moveNextSample()
  {
    // Byte code:
    //   0: aload_0
    //   1: invokevirtual 81	com/wowza/wms/mediareader/h264/H264Cursor:getCurrentType	()I
    //   4: istore_1
    //   5: iload_1
    //   6: lookupswitch	default:+63->69, 8:+130->136, 9:+38->44, 18:+105->111
    //   40: nop
    //   41: nop
    //   42: athrow
    //   43: ireturn
    //   44: aload_0
    //   45: getfield 36	com/wowza/wms/mediareader/h264/H264Cursor:vCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   48: invokeinterface 220 1 0
    //   53: ifne +16 -> 69
    //   56: goto +39 -> 95
    //   59: aload_0
    //   60: getfield 42	com/wowza/wms/mediareader/h264/H264Cursor:aAtEnd	Z
    //   63: ifeq +16 -> 79
    //   66: goto +60 -> 126
    //   69: aload_0
    //   70: getfield 38	com/wowza/wms/mediareader/h264/H264Cursor:vAtEnd	Z
    //   73: ifeq +6 -> 79
    //   76: goto -17 -> 59
    //   79: iconst_0
    //   80: goto -37 -> 43
    //   83: iconst_1
    //   84: goto -41 -> 43
    //   87: aload_0
    //   88: iconst_1
    //   89: putfield 42	com/wowza/wms/mediareader/h264/H264Cursor:aAtEnd	Z
    //   92: goto -23 -> 69
    //   95: aload_0
    //   96: iconst_1
    //   97: putfield 38	com/wowza/wms/mediareader/h264/H264Cursor:vAtEnd	Z
    //   100: goto -31 -> 69
    //   103: aload_0
    //   104: iconst_1
    //   105: putfield 34	com/wowza/wms/mediareader/h264/H264Cursor:dAtEnd	Z
    //   108: goto -39 -> 69
    //   111: aload_0
    //   112: getfield 32	com/wowza/wms/mediareader/h264/H264Cursor:dCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   115: invokeinterface 220 1 0
    //   120: ifne -51 -> 69
    //   123: goto -20 -> 103
    //   126: aload_0
    //   127: getfield 34	com/wowza/wms/mediareader/h264/H264Cursor:dAtEnd	Z
    //   130: ifeq -51 -> 79
    //   133: goto -50 -> 83
    //   136: aload_0
    //   137: getfield 40	com/wowza/wms/mediareader/h264/H264Cursor:aCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   140: invokeinterface 220 1 0
    //   145: ifne -76 -> 69
    //   148: goto -61 -> 87
    // Line number table:
    //   Java source line #586	-> byte code offset #0
    //   Java source line #588	-> byte code offset #5
    //   Java source line #615	-> byte code offset #43
    //   Java source line #599	-> byte code offset #44
    //   Java source line #615	-> byte code offset #59
    //   Java source line #596	-> byte code offset #87
    //   Java source line #600	-> byte code offset #95
    //   Java source line #592	-> byte code offset #103
    //   Java source line #591	-> byte code offset #111
    //   Java source line #615	-> byte code offset #126
    //   Java source line #595	-> byte code offset #136
  }
  
  public boolean moveNextAudioSample()
  {
    if (aCursor != null)
    {
      break label22;
      label11:
      return true;
      if (aAtEnd)
      {
        break label41;
        label22:
        if (aCursor.moveNextSample()) {
          break label51;
        }
        break label61;
      }
    }
    label41:
    label51:
    label61:
    label67:
    for (;;)
    {
      tmpTernaryOp = 0;
      break label11;
      if (dAtEnd)
      {
        break;
        for (;; aAtEnd = true)
        {
          if (!vAtEnd) {
            break label67;
          }
          break;
        }
      }
    }
  }
  
  /* Error */
  public boolean moveNextVideoSample()
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 36	com/wowza/wms/mediareader/h264/H264Cursor:vCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   4: ifnull +6 -> 10
    //   7: goto +50 -> 57
    //   10: aload_0
    //   11: getfield 38	com/wowza/wms/mediareader/h264/H264Cursor:vAtEnd	Z
    //   14: ifeq +6 -> 20
    //   17: goto +30 -> 47
    //   20: iconst_0
    //   21: goto +25 -> 46
    //   24: iconst_1
    //   25: goto +21 -> 46
    //   28: aload_0
    //   29: getfield 34	com/wowza/wms/mediareader/h264/H264Cursor:dAtEnd	Z
    //   32: ifeq -12 -> 20
    //   35: goto -11 -> 24
    //   38: aload_0
    //   39: iconst_1
    //   40: putfield 38	com/wowza/wms/mediareader/h264/H264Cursor:vAtEnd	Z
    //   43: goto -33 -> 10
    //   46: ireturn
    //   47: aload_0
    //   48: getfield 42	com/wowza/wms/mediareader/h264/H264Cursor:aAtEnd	Z
    //   51: ifeq -31 -> 20
    //   54: goto -26 -> 28
    //   57: aload_0
    //   58: getfield 36	com/wowza/wms/mediareader/h264/H264Cursor:vCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   61: invokeinterface 220 1 0
    //   66: ifne -56 -> 10
    //   69: goto -31 -> 38
    // Line number table:
    //   Java source line #630	-> byte code offset #0
    //   Java source line #635	-> byte code offset #10
    //   Java source line #633	-> byte code offset #38
    //   Java source line #635	-> byte code offset #46
    //   Java source line #632	-> byte code offset #57
  }
  
  /* Error */
  public boolean moveNextDataSample()
  {
    // Byte code:
    //   0: aload_0
    //   1: getfield 32	com/wowza/wms/mediareader/h264/H264Cursor:dCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   4: ifnull +6 -> 10
    //   7: goto +26 -> 33
    //   10: aload_0
    //   11: getfield 38	com/wowza/wms/mediareader/h264/H264Cursor:vAtEnd	Z
    //   14: ifeq +54 -> 68
    //   17: goto +41 -> 58
    //   20: aload_0
    //   21: iconst_1
    //   22: putfield 34	com/wowza/wms/mediareader/h264/H264Cursor:dAtEnd	Z
    //   25: goto -15 -> 10
    //   28: ireturn
    //   29: iconst_1
    //   30: goto -2 -> 28
    //   33: aload_0
    //   34: getfield 32	com/wowza/wms/mediareader/h264/H264Cursor:dCursor	Lcom/wowza/wms/mediareader/h264/atom/IQTMediaCursor;
    //   37: invokeinterface 220 1 0
    //   42: ifne -32 -> 10
    //   45: goto -25 -> 20
    //   48: aload_0
    //   49: getfield 34	com/wowza/wms/mediareader/h264/H264Cursor:dAtEnd	Z
    //   52: ifeq +16 -> 68
    //   55: goto -26 -> 29
    //   58: aload_0
    //   59: getfield 42	com/wowza/wms/mediareader/h264/H264Cursor:aAtEnd	Z
    //   62: ifeq +6 -> 68
    //   65: goto -17 -> 48
    //   68: iconst_0
    //   69: goto -41 -> 28
    // Line number table:
    //   Java source line #640	-> byte code offset #0
    //   Java source line #646	-> byte code offset #10
    //   Java source line #643	-> byte code offset #20
    //   Java source line #646	-> byte code offset #28
    //   Java source line #642	-> byte code offset #33
    //   Java source line #646	-> byte code offset #48
  }
  
  public void resetAudioAtEnd()
  {
    aAtEnd = false;
    if (aCursor != null) {}
    for (;; aAtEnd = true) {
      return;
    }
  }
  
  public void resetVideoAtEnd()
  {
    vAtEnd = false;
    if (vCursor != null) {}
    for (;; vAtEnd = true) {
      return;
    }
  }
  
  public void resetDataAtEnd()
  {
    dAtEnd = false;
    if (dCursor != null) {}
    for (;; dAtEnd = true) {
      return;
    }
  }
  
  public void setCurrentPosition(H264CursorPosition paramH264CursorPosition)
  {
    setAudioSample(paramH264CursorPosition.getAudioSample());
    setVideoSample(paramH264CursorPosition.getVideoSample());
    setDataSample(paramH264CursorPosition.getDataSample());
    vAtEnd = paramH264CursorPosition.isVAtEnd();
    aAtEnd = paramH264CursorPosition.isAAtEnd();
    dAtEnd = paramH264CursorPosition.isDAtEnd();
  }
  
  public H264CursorPosition getCurrentPosition()
  {
    return new H264CursorPosition(getVideoSample(), vAtEnd, getAudioSample(), aAtEnd, getDataSample(), dAtEnd);
  }
  
  public int getDataKeyFrameCount()
  {
    if (dCursor != null) {
      return dCursor.getKeyFrameCount();
    }
    return 0;
  }
  
  public int getVideoKeyFrameCount()
  {
    if (vCursor != null) {
      return vCursor.getKeyFrameCount();
    }
    return 0;
  }
  
  public long getDataKeyFrameSample(int paramInt)
  {
    if (dCursor != null) {
      return dCursor.getKeyFrameSample(paramInt);
    }
    return -1L;
  }
  
  public long getVideoKeyFrameSample(int paramInt)
  {
    if (vCursor != null) {
      return vCursor.getKeyFrameSample(paramInt);
    }
    return -1
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

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