![]() |
![]() |
wms-mediareader-mp316:54:11.235 INFO jd.cli.Main - Decompiling wms-mediareader-mp3.jar package com.wowza.wms.mediareader.mp3; import com.wowza.wms.stream.IMediaReaderStreamPosition; public class MP3StreamPosition implements IMediaReaderStreamPosition { long a = -1L; long b = -1L; public MP3StreamPosition(long paramLong1, long paramLong2) { a = paramLong1; b = paramLong2; } public MP3StreamPosition() {} /* Error */ public boolean isValid() { // Byte code: // 0: aload_0 // 1: getfield 19 com/wowza/wms/mediareader/mp3/MP3StreamPosition:a J // 4: lconst_0 // 5: lcmp // 6: iflt +7 -> 13 // 9: goto +8 -> 17 // 12: ireturn // 13: iconst_0 // 14: goto -2 -> 12 // 17: iconst_1 // 18: goto -6 -> 12 // Line number table: // Java source line #22 -> byte code offset #0 } public long getFilePos() { return a; } public void setFilePos(long paramLong) { a = paramLong; } public long getSample() { return b; } public void setSample(long paramLong) { b = paramLong; } } /* Location: * Qualified Name: com.wowza.wms.mediareader.mp3.MP3StreamPosition * Java Class Version: 6 (50.0) * JD-Core Version: 0.7.1 */ package com.wowza.wms.mediareader.mp3; import com.wowza.io.IRandomAccessReader; import com.wowza.io.ScheduledRandomAccessReaderWrapper; import com.wowza.util.Base64; import com.wowza.util.JSON; import com.wowza.wms.amf.AMFObj; import com.wowza.wms.application.IApplicationInstance; import com.wowza.wms.application.WMSProperties; import com.wowza.wms.client.IClient; import com.wowza.wms.logging.WMSLogger; import com.wowza.wms.logging.WMSLoggerFactory; import com.wowza.wms.media.mp3.model.idtags.ID3V2FrameAttachedPicture; import com.wowza.wms.stream.FastPlaySettings; import com.wowza.wms.stream.IMediaReader; import com.wowza.wms.stream.IMediaReaderStreamPosition; import com.wowza.wms.stream.IMediaStream; import com.wowza.wms.stream.MediaReaderItem; import com.wowza.wms.stream.file.PlaylistCursor; import com.wowza.wms.stream.file.PlaylistReaderWriteResults; import com.wowza.wms.stream.file.PlaylistWriteControl; import java.io.OutputStream; import java.util.HashMap; import java.util.List; import java.util.Map; import javazoom.jl.decoder.Bitstream; import javazoom.jl.decoder.Header; public class MediaReaderMP3 implements IMediaReader { public static final int SYNCBLOCKSIZE = 10240; protected IRandomAccessReader fileStream = null; protected ScheduledRandomAccessReaderWrapper fileReader = null; protected Bitstream bitstream = null; protected boolean errorReported = false; protected IMediaStream stream = null; protected Object lock = new Object(); protected String mediaReaderType = Base64.endsWith(19 - -3, "{g+"); protected String mediaReaderExt = Base64.endsWith(-18 - -32, "c#"); protected byte[] syncHeader; protected byte[] packetHeader; protected byte[] workBuffer; protected MediaReaderItem mediaReaderItem = null; protected MediaReaderMP3NodeData nodeData = null; protected int frequency = 0; protected int bitrate = 0; protected int samplesPerFrame = 0; protected long streamSize = 0L; protected long headerOffset = 0L; protected long tailOffset = 0L; protected long maxFrames = 0L; protected long duration = -1L; protected long length = 0L; protected int channels = 0; protected int layers = 3; protected List metaData = null; protected boolean justID3Tags = false; protected boolean readID3Tags = true; protected boolean readAttachedPictures = true; protected String basePath = ""; protected String mediaName = ""; protected String mediaExtension = Base64.endsWith(25 * 5, "0.l"); protected long currentSample = 0L; protected boolean bitrateErrorSent = false; protected int readAheadSize = 16384; protected int readAheadTrigger = readAheadSize / 2; protected String randomAccessReaderClass = Base64.endsWith('?' / '�', "fij&~e|vl f?VzfpucJxtsp_|cdqpV`gcm{"); protected IApplicationInstance appInstance = null; protected boolean calculateMoreAccurateFrameSize = false; protected int calculateMoreAccurateFrameWindow = 100; protected boolean isVBR = false; protected long saveLastAudioPos = 0L; protected int saveLastAudioSize = 0; protected Header h = null; protected Map<Integer, ID3V2FrameAttachedPicture> attachedPictures = new HashMap(); public MediaReaderMP3() { syncHeader = new byte[4]; packetHeader = new byte[1]; workBuffer = new byte[12]; packetHeader[0] = 47; } public void setProperties(WMSProperties paramWMSProperties) { justID3Tags = paramWMSProperties.getPropertyBoolean(Base64.endsWith(51 * 23, "xf$RlioUY-Kafq"), false); readID3Tags = paramWMSProperties.getPropertyBoolean(Base64.endsWith(34 - 46, "9%e\005=8>\022\030n\n>gr"), readID3Tags); readAttachedPictures = paramWMSProperties.getPropertyBoolean(JSON.copyValueOf("<\"`\006073\031-.:?5;;\020(!717#4", 40 - -41), readAttachedPictures); readAheadSize = paramWMSProperties.getPropertyInt(Base64.endsWith(113 + -73, "ey9YiljNxtswG|lr"), readAheadSize); readAheadTrigger = (readAheadSize / 2); readAheadTrigger = paramWMSProperties.getPropertyInt(JSON.copyValueOf("-1q\021!$\"\006 ,+/\030?'(74 ", 74 + -10), readAheadTrigger); randomAccessReaderClass = paramWMSProperties.getPropertyStr(Base64.endsWith(23 * 55, "#3=0:;\026;:?(/\017;>ddp@hdut"), randomAccessReaderClass); calculateMoreAccurateFrameSize = paramWMSProperties.getPropertyBoolean(JSON.copyValueOf("~sctnbp`KhzlKhox|ndtTauxsDqc", 56 + -27), calculateMoreAccurateFrameSize); calculateMoreAccurateFrameWindow = paramWMSProperties.getPropertyInt(Base64.endsWith(59 + 10, "&'++<&*8(\003 \"4\02307 $6,<\034)=0;\b)/&,3"), calculateMoreAccurateFrameWindow); if (!WMSLoggerFactory.getLogger(MediaReaderMP3.class).isDebugEnabled()) {} for (;;) { return;WMSLoggerFactory.getLogger(MediaReaderMP3.class).debug(JSON.copyValueOf("I`bni[ojhh|B@\"<~d&Dry}[sy|zLi{g9$", '?' / 82) + readAheadSize);WMSLoggerFactory.getLogger(MediaReaderMP3.class).debug(Base64.endsWith(7 * 39, "\\ww}tDry}iQM-1mq1QadbF`lkoXghwt`)4") + readAheadTrigger);WMSLoggerFactory.getLogger(MediaReaderMP3.class).debug(Base64.endsWith(74 + 121, "\016!!/&\032,+/)?\003\037c?#g\037#$,\020\036h\b<9,za") + justID3Tags);WMSLoggerFactory.getLogger(MediaReaderMP3.class).debug(Base64.endsWith(11 * 5, "Z}}szNx{%3\017\023wk+7{\033/*(\004\n|\00405 nu") + readID3Tags);WMSLoggerFactory.getLogger(MediaReaderMP3.class).debug(JSON.copyValueOf("NaaofZlkoiC_#?`vuqWclxysyyNvcuwqav<'", '?' / 125) + readAttachedPictures);WMSLoggerFactory.getLogger(MediaReaderMP3.class).debug(Base64.endsWith('?' / '�', "NaaofZlkoiC_#?`rzqyzYzy~onLzaegqGigt{3*") + randomAccessReaderClass); } } public void setMediaReaderItem(MediaReaderItem paramMediaReaderItem) { mediaReaderItem = paramMediaReaderItem; } /* Error */ public void init(IApplicationInstance arg1, IMediaStream arg2, String arg3, String arg4, String arg5) { // Byte code: // 0: aload_0 // 1: aload_1 // 2: putfield 160 com/wowza/wms/mediareader/mp3/MediaReaderMP3:appInstance Lcom/wowza/wms/application/IApplicationInstance; // 5: aload_0 // 6: aload_2 // 7: putfield 84 com/wowza/wms/mediareader/mp3/MediaReaderMP3:stream Lcom/wowza/wms/stream/IMediaStream; // 10: aload_0 // 11: aload_2 // 12: ifnonnull +118 -> 130 // 15: goto +119 -> 134 // 18: putfield 86 com/wowza/wms/mediareader/mp3/MediaReaderMP3:lock Ljava/lang/Object; // 21: aload_0 // 22: dup // 23: getfield 96 com/wowza/wms/mediareader/mp3/MediaReaderMP3:mediaReaderType Ljava/lang/String; // 26: invokevirtual 275 java/lang/String:toLowerCase ()Ljava/lang/String; // 29: putfield 96 com/wowza/wms/mediareader/mp3/MediaReaderMP3:mediaReaderType Ljava/lang/String; // 32: aload_0 // 33: dup // 34: getfield 96 com/wowza/wms/mediareader/mp3/MediaReaderMP3:mediaReaderType Ljava/lang/String; // 37: putfield 100 com/wowza/wms/mediareader/mp3/MediaReaderMP3:mediaReaderExt Ljava/lang/String; // 40: aload_0 // 41: aload 4 // 43: putfield 140 com/wowza/wms/mediareader/mp3/MediaReaderMP3:basePath Ljava/lang/String; // 46: aload_0 // 47: aload 5 // 49: putfield 142 com/wowza/wms/mediareader/mp3/MediaReaderMP3:mediaName Ljava/lang/String; // 52: aload_0 // 53: dup // 54: getfield 102 com/wowza/wms/mediareader/mp3/MediaReaderMP3:mediaReaderItem Lcom/wowza/wms/stream/MediaReaderItem; // 57: invokevirtual 280 com/wowza/wms/stream/MediaReaderItem:getFileExtension ()Ljava/lang/String; // 60: putfield 146 com/wowza/wms/mediareader/mp3/MediaReaderMP3:mediaExtension Ljava/lang/String; // 63: aload_0 // 64: dup // 65: getfield 160 com/wowza/wms/mediareader/mp3/MediaReaderMP3:appInstance Lcom/wowza/wms/application/IApplicationInstance; // 68: aload_0 // 69: getfield 158 com/wowza/wms/mediareader/mp3/MediaReaderMP3:randomAccessReaderClass Ljava/lang/String; // 72: aload_0 // 73: getfield 140 com/wowza/wms/mediareader/mp3/MediaReaderMP3:basePath Ljava/lang/String; // 76: aload_0 // 77: getfield 142 com/wowza/wms/mediareader/mp3/MediaReaderMP3:mediaName Ljava/lang/String; // 80: aload_0 // 81: getfield 146 com/wowza/wms/mediareader/mp3/MediaReaderMP3:mediaExtension Ljava/lang/String; // 84: aload_0 // 85: getfield 84 com/wowza/wms/mediareader/mp3/MediaReaderMP3:stream Lcom/wowza/wms/stream/IMediaStream; // 88: invokestatic 286 com/wowza/io/RandomAccessReaderFactory:createInstance (Lcom/wowza/wms/application/IApplicationInstance;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/wowza/wms/stream/IMediaStream;)Lcom/wowza/io/IRandomAccessReader; // 91: putfield 76 com/wowza/wms/mediareader/mp3/MediaReaderMP3:fileStream Lcom/wowza/io/IRandomAccessReader; // 94: aload_0 // 95: new 288 com/wowza/io/ScheduledRandomAccessReaderWrapper // 98: dup // 99: aload_0 // 100: getfield 84 com/wowza/wms/mediareader/mp3/MediaReaderMP3:stream Lcom/wowza/wms/stream/IMediaStream; // 103: aload_0 // 104: getfield 76 com/wowza/wms/mediareader/mp3/MediaReaderMP3:fileStream Lcom/wowza/io/IRandomAccessReader; // 107: aload_0 // 108: getfield 152 com/wowza/wms/mediareader/mp3/MediaReaderMP3:readAheadSize I // 111: aload_0 // 112: getfield 154 com/wowza/wms/mediareader/mp3/MediaReaderMP3:readAheadTrigger I // 115: invokespecial 291 com/wowza/io/ScheduledRandomAccessReaderWrapper:<init> (Lcom/wowza/wms/stream/IMediaStream;Lcom/wowza/io/IRandomAccessReader;II)V // 118: putfield 78 com/wowza/wms/mediareader/mp3/MediaReaderMP3:fileReader Lcom/wowza/io/ScheduledRandomAccessReaderWrapper; // 121: aload_1 // 122: aload_0 // 123: aload_2 // 124: invokeinterface 297 3 0 // 129: return // 130: aload_2 // 131: goto -113 -> 18 // 134: aload_0 // 135: getfield 86 com/wowza/wms/mediareader/mp3/MediaReaderMP3:lock Ljava/lang/Object; // 138: goto -120 -> 18 // Line number table: // Java source line #126 -> byte code offset #0 // Java source line #127 -> byte code offset #5 // Java source line #128 -> byte code offset #10 // Java source line #129 -> byte code offset #21 // Java source line #130 -> byte code offset #32 // Java source line #131 -> byte code offset #40 // Java source line #132 -> byte code offset #46 // Java source line #133 -> byte code offset #52 // Java source line #135 -> byte code offset #63 // Java source line #136 -> byte code offset #94 // Java source line #138 -> byte code offset #121 // Java source line #139 -> byte code offset #129 // Java source line #128 -> byte code offset #130 } /* Error */ public void open(String paramString1, String paramString2) { // Byte code: // 0: aload_0 // 1: getfield 86 com/wowza/wms/mediareader/mp3/MediaReaderMP3:lock Ljava/lang/Object; // 4: dup // 5: astore_3 // 6: goto +10 -> 16 // 9: astore 5 // 11: aload_3 // 12: monitorexit // 13: goto +7 -> 20 // 16: monitorenter // 17: goto +8 -> 25 // 20: aload 5 // 22: athrow // 23: nop // 24: return // 25: aload_0 // 26: getfield 76 com/wowza/wms/mediareader/mp3/MediaReaderMP3:fileStream Lcom/wowza/io/IRandomAccessReader; // 29: invokeinterface 308 1 0 // 34: ifeq +24 -> 58 // 37: goto +6 -> 43 // 40: goto +89 -> 129 // 43: aload_0 // 44: invokevirtual 311 com/wowza/wms/mediareader/mp3/MediaReaderMP3:close ()V // 47: goto +11 -> 58 // 50: aload_0 // 51: iconst_1 // 52: putfield 82 com/wowza/wms/mediareader/mp3/MediaReaderMP3:errorReported Z // 55: goto +74 -> 129 // 58: aload_0 // 59: getfield 76 com/wowza/wms/mediareader/mp3/MediaReaderMP3:fileStream Lcom/wowza/io/IRandomAccessReader; // 62: invokeinterface 313 1 0 // 67: aload_0 // 68: getfield 78 com/wowza/wms/mediareader/mp3/MediaReaderMP3:fileReader Lcom/wowza/io/ScheduledRandomAccessReaderWrapper; // 71: invokevirtual 314 com/wowza/io/ScheduledRandomAccessReaderWrapper:open ()V // 74: aload_0 // 75: new 316 javazoom/jl/decoder/Bitstream // 78: dup // 79: aload_0 // 80: getfield 78 com/wowza/wms/mediareader/mp3/MediaReaderMP3:fileReader Lcom/wowza/io/ScheduledRandomAccessReaderWrapper; // 83: invokespecial 319 javazoom/jl/decoder/Bitstream:<init> (Lcom/wowza/io/IRandomAccessReader;)V // 86: putfield 80 com/wowza/wms/mediareader/mp3/MediaReaderMP3:bitstream Ljavazoom/jl/decoder/Bitstream; // 89: aload_0 // 90: iconst_0 // 91: putfield 82 com/wowza/wms/mediareader/mp3/MediaReaderMP3:errorReported Z // 94: aload_0 // 95: getfield 160 com/wowza/wms/mediareader/mp3/MediaReaderMP3:appInstance Lcom/wowza/wms/application/IApplicationInstance; // 98: aload_0 // 99: dup // 100: getfield 84 com/wowza/wms/mediareader/mp3/MediaReaderMP3:stream Lcom/wowza/wms/stream/IMediaStream; // 103: invokeinterface 322 3 0 // 108: aload_0 // 109: invokevirtual 325 com/wowza/wms/mediareader/mp3/MediaReaderMP3:readMetadata ()V // 112: aload_0 // 113: getfield 160 com/wowza/wms/mediareader/mp3/MediaReaderMP3:appInstance Lcom/wowza/wms/application/IApplicationInstance; // 116: aload_0 // 117: dup // 118: getfield 84 com/wowza/wms/mediareader/mp3/MediaReaderMP3:stream Lcom/wowza/wms/stream/IMediaStream; // 121: invokeinterface 328 3 0 // 126: goto -86 -> 40 // 129: aload_3 // 130: monitorexit // 131: goto -108 -> 23 // 134: ldc 2 // 136: invokestatic 227 com/wowza/wms/logging/WMSLoggerFactory:getLogger (Ljava/lang/Class;)Lcom/wowza/wms/logging/WMSLogger; // 139: bipush 63 // 141: bipush 32 // 143: isub // 144: ldc_w 330 // 147: invokestatic 94 com/wowza/util/Base64:endsWith (ILjava/lang/String;)Ljava/lang/String; // 150: aload 4 // 152: invokevirtual 334 com/wowza/wms/logging/WMSLogger:error (Ljava/lang/String;Ljava/lang/Throwable;)V // 155: goto -105 -> 50 // 158: astore 4 // 160: aload_0 // 161: getfield 82 com/wowza/wms/mediareader/mp3/MediaReaderMP3:errorReported Z // 164: ifne -114 -> 50 // 167: goto -33 -> 134 // Line number table: // Java source line #147 -> byte code offset #0 // Java source line #169 -> byte code offset #9 // Java source line #147 -> byte code offset #16 // Java source line #169 -> byte code offset #20 // Java source line #170 -> byte code offset #24 // Java source line #149 -> byte code offset #25 // Java source line #168 -> byte code offset #40 // Java source line #150 -> byte code offset #43 // Java source line #167 -> byte code offset #50 // Java source line #154 -> byte code offset #58 // Java source line #155 -> byte code offset #67 // Java source line #156 -> byte code offset #74 // Java source line #157 -> byte code offset #89 // Java source line #159 -> byte code offset #94 // Java source line #160 -> byte code offset #108 // Java source line #161 -> byte code offset #112 // Java source line #169 -> byte code offset #129 // Java source line #166 -> byte code offset #134 // Java source line #163 -> byte code offset #158 // Java source line #165 -> byte code offset #160 // Local variable table: // start length slot name signature // 0 170 0 this MediaReaderMP3 // 0 170 1 paramString1 String // 0 170 2 paramString2 String // 5 125 3 localObject1 Object // 150 1 4 localThrowable Throwable // 158 1 4 localException Exception // 9 12 5 localObject2 Object // Exception table: // from to target type // 9 16 9 finally // 25 170 9 finally // 58 129 158 java/lang/Exception } /* Error */ public void close() { // Byte code: // 0: aload_0 // 1: getfield 86 com/wowza/wms/mediareader/mp3/MediaReaderMP3:lock Ljava/lang/Object; // 4: dup // 5: astore_1 // 6: goto +20 -> 26 // 9: aload_0 // 10: getfield 160 com/wowza/wms/mediareader/mp3/MediaReaderMP3:appInstance Lcom/wowza/wms/application/IApplicationInstance; // 13: aload_0 // 14: dup // 15: getfield 84 com/wowza/wms/mediareader/mp3/MediaReaderMP3:stream Lcom/wowza/wms/stream/IMediaStream; // 18: invokeinterface 339 3 0 // 23: goto +248 -> 271 // 26: monitorenter // 27: goto +5 -> 32 // 30: aload_3 // 31: athrow // 32: aload_0 // 33: getfield 80 com/wowza/wms/mediareader/mp3/MediaReaderMP3:bitstream Ljavazoom/jl/decoder/Bitstream; // 36: ifnull +85 -> 121 // 39: goto +90 -> 129 // 42: aload_0 // 43: iconst_0 // 44: putfield 106 com/wowza/wms/mediareader/mp3/MediaReaderMP3:frequency I // 47: aload_0 // 48: iconst_0 // 49: putfield 110 com/wowza/wms/mediareader/mp3/MediaReaderMP3:samplesPerFrame I // 52: aload_0 // 53: lconst_0 // 54: putfield 112 com/wowza/wms/mediareader/mp3/MediaReaderMP3:streamSize J // 57: aload_0 // 58: lconst_0 // 59: putfield 118 com/wowza/wms/mediareader/mp3/MediaReaderMP3:maxFrames J // 62: aload_0 // 63: lconst_0 // 64: putfield 114 com/wowza/wms/mediareader/mp3/MediaReaderMP3:headerOffset J // 67: aload_0 // 68: lconst_0 // 69: putfield 116 com/wowza/wms/mediareader/mp3/MediaReaderMP3:tailOffset J // 72: aload_0 // 73: ldc2_w 119 // 76: putfield 122 com/wowza/wms/mediareader/mp3/MediaReaderMP3:duration J // 79: aload_0 // 80: lconst_0 // 81: putfield 124 com/wowza/wms/mediareader/mp3/MediaReaderMP3:length J // 84: aload_0 // 85: iconst_0 // 86: putfield 108 com/wowza/wms/mediareader/mp3/MediaReaderMP3:bitrate I // 89: aload_1 // 90: monitorexit // 91: goto +153 -> 244 // 94: astore_2 // 95: ldc 2 // 97: invokestatic 227 com/wowza/wms/logging/WMSLoggerFactory:getLogger (Ljava/lang/Class;)Lcom/wowza/wms/logging/WMSLogger; // 100: ldc_w 341 // 103: bipush 123 // 105: bipush -110 // 107: iadd // 108: invokestatic 203 com/wowza/util/JSON:copyValueOf (Ljava/lang/String;I)Ljava/lang/String; // 111: aload_2 // 112: invokevirtual 334 com/wowza/wms/logging/WMSLogger:error (Ljava/lang/String;Ljava/lang/Throwable;)V // 115: goto +62 -> 177 // 118: goto -76 -> 42 // 121: aload_0 // 122: aconst_null // 123: putfield 80 com/wowza/wms/mediareader/mp3/MediaReaderMP3:bitstream Ljavazoom/jl/decoder/Bitstream; // 126: goto +16 -> 142 // 129: aload_0 // 130: getfield 80 com/wowza/wms/mediareader/mp3/MediaReaderMP3:bitstream Ljavazoom/jl/decoder/Bitstream; // 133: invokevirtual 342 javazoom/jl/decoder/Bitstream:close ()V // 136: goto -15 -> 121 // 139: goto +38 -> 177 // 142: aload_0 // 143: getfield 78 com/wowza/wms/mediareader/mp3/MediaReaderMP3:fileReader Lcom/wowza/io/ScheduledRandomAccessReaderWrapper; // 146: ifnull -7 -> 139 // 149: aconst_null // 150: invokestatic 227 com/wowza/wms/logging/WMSLoggerFactory:getLogger (Ljava/lang/Class;)Lcom/wowza/wms/logging/WMSLogger; // 153: ldc_w 344 // 156: bipush -45 // 158: bipush -18 // 160: isub // 161: invokestatic 203 com/wowza/util/JSON:copyValueOf (Ljava/lang/String;I)Ljava/lang/String; // 164: invokevirtual 253 com/wowza/wms/logging/WMSLogger:debug (Ljava/lang/String;)V // 167: aload_0 // 168: getfield 78 com/wowza/wms/mediareader/mp3/MediaReaderMP3:fileReader Lcom/wowza/io/ScheduledRandomAccessReaderWrapper; // 171: invokevirtual 345 com/wowza/io/ScheduledRandomAccessReaderWrapper:close ()V // 174: goto -35 -> 139 // 177: aload_0 // 178: getfield 76 com/wowza/wms/mediareader/mp3/MediaReaderMP3:fileStream Lcom/wowza/io/IRandomAccessReader; // 181: ifnull -63 -> 118 // 184: aconst_null // 185: invokestatic 227 com/wowza/wms/logging/WMSLoggerFactory:getLogger (Ljava/lang/Class;)Lcom/wowza/wms/logging/WMSLogger; // 188: ldc_w 347 // 191: bipush 55 // 193: bipush 31 // 195: imul // 196: invokestatic 203 com/wowza/util/JSON:copyValueOf (Ljava/lang/String;I)Ljava/lang/String; // 199: invokevirtual 253 com/wowza/wms/logging/WMSLogger:debug (Ljava/lang/String;)V // 202: aload_0 // 203: getfield 76 com/wowza/wms/mediareader/mp3/MediaReaderMP3:fileStream Lcom/wowza/io/IRandomAccessReader; // 206: invokeinterface 348 1 0 // 211: goto -93 -> 118 // 214: astore_2 // 215: ldc 2 // 217: invokestatic 227 com/wowza/wms/logging/WMSLoggerFactory:getLogger (Ljava/lang/Class;)Lcom/wowza/wms/logging/WMSLogger; // 220: ldc_w 350 // 223: bipush 9 // 225: bipush 25 // 227: imul // 228: invokestatic 203 com/wowza/util/JSON:copyValueOf (Ljava/lang/String;I)Ljava/lang/String; // 231: aload_2 // 232: invokevirtual 334 com/wowza/wms/logging/WMSLogger:error (Ljava/lang/String;Ljava/lang/Throwable;)V // 235: goto -193 -> 42 // 238: astore_3 // 239: aload_1 // 240: monitorexit // 241: goto -211 -> 30 // 244: goto -235 -> 9 // 247: return // 248: astore_1 // 249: ldc 2 // 251: invokestatic 227 com/wowza/wms/logging/WMSLoggerFactory:getLogger (Ljava/lang/Class;)Lcom/wowza/wms/logging/WMSLogger; // 254: ldc_w 352 // 257: bipush 75 // 259: dup // 260: iadd // 261: invokestatic 203 com/wowza/util/JSON:copyValueOf (Ljava/lang/String;I)Ljava/lang/String; // 264: aload_1 // 265: invokevirtual 334 com/wowza/wms/logging/WMSLogger:error (Ljava/lang/String;Ljava/lang/Throwable;)V // 268: goto -21 -> 247 // 271: goto -24 -> 247 // Line number table: // Java source line #176 -> byte code offset #0 // Java source line #217 -> byte code offset #9 // Java source line #176 -> byte code offset #26 // Java source line #215 -> byte code offset #30 // Java source line #178 -> byte code offset #32 // Java source line #206 -> byte code offset #42 // Java source line #207 -> byte code offset #47 // Java source line #208 -> byte code offset #52 // Java source line #209 -> byte code offset #57 // Java source line #210 -> byte code offset #62 // Java source line #211 -> byte code offset #67 // Java source line #212 -> byte code offset #72 // Java source line #213 -> byte code offset #79 // Java source line #214 -> byte code offset #84 // Java source line #215 -> byte code offset #89 // Java source line #189 -> byte code offset #94 // Java source line #191 -> byte code offset #95 // Java source line #204 -> byte code offset #118 // Java source line #180 -> byte code offset #121 // Java source line #179 -> byte code offset #129 // Java source line #192 -> byte code offset #139 // Java source line #183 -> byte code offset #142 // Java source line #185 -> byte code offset #149 // Java source line #186 -> byte code offset #167 // Java source line #195 -> byte code offset #177 // Java source line #197 -> byte code offset #184 // Java source line #198 -> byte code offset #202 // Java source line #201 -> byte code offset #214 // Java source line #203 -> byte code offset #215 // Java source line #215 -> byte code offset #238 // Java source line #223 -> byte code offset #247 // Java source line #219 -> byte code offset #248 // Java source line #221 -> byte code offset #249 // Java source line #222 -> byte code offset #271 // Local variable table: // start length slot name signature // 0 274 0 this MediaReaderMP3 // 5 235 1 localObject1 Object // 248 17 1 localException1 Exception // 94 18 2 localException2 Exception // 214 18 2 localException3 Exception // 30 1 3 localObject2 Object // 238 1 3 localObject3 Object // Exception table: // from to target type // 142 177 94 java/lang/Exception // 177 214 214 java/lang/Exception // 32 238 238 finally // 238 244 238 finally // 0 247 248 java/lang/Exception } public boolean isOpen() { if (fileStream == null) { return false; } return fileStream.isOpen(); } /* Error */ protected void readMetadata() throws Exception { // Byte code: // 0: aload_0 // 1: dup // 2: getfield 76 com/wowza/wms/mediareader/mp3/MediaReaderMP3:fileStream Lcom/wowza/io/IRandomAccessReader; // 5: invokeinterface 355 1 0 // 10: putfield 124 com/wowza/wms/mediareader/mp3/MediaReaderMP3:length J // 13: aload_0 // 14: getfield 80 com/wowza/wms/mediareader/mp3/MediaReaderMP3:bitstream Ljavazoom/jl/decoder/Bitstream; // 17: invokevirtual 359 javazoom/jl/decoder/Bitstream:readFrame ()Ljavazoom/jl/decoder/Header; // 20: astore_1 // 21: aload_1 // 22: ifnull +741 -> 763 // 25: goto +42 -> 67 // 28: aload_1 // 29: invokevirtual 365 javazoom/jl/decoder/Header:mode ()I // 32: tableswitch default:+159->191, 0:+200->232, 1:+141->173, 2:+133->165, 3:+177->209 // 64: nop // 65: nop // 66: athrow // 67: aload_0 // 68: aload_1 // 69: invokevirtual 367 javazoom/jl/decoder/Header:frequency ()I // 72: putfield 106 com/wowza/wms/mediareader/mp3/MediaReaderMP3:frequency I // 75: aload_0 // 76: aload_1 // 77: invokevirtual 369 javazoom/jl/decoder/Header:bitrate ()I // 80: putfield 108 com/wowza/wms/mediareader/mp3/MediaReaderMP3:bitrate I // 83: aload_0 // 84: aload_1 // 85: invokevirtual 372 javazoom/jl/decoder/Header:samples_per_frame ()I // 88: putfield 110 com/wowza/wms/mediareader/mp3/MediaReaderMP3:samplesPerFrame I // 91: aload_0 // 92: dup // 93: getfield 80 com/wowza/wms/mediareader/mp3/MediaReaderMP3:bitstream Ljavazoom/jl/decoder/Bitstream; // 96: invokevirtual 375 javazoom/jl/decoder/Bitstream:header_pos ()I // 99: i2l // 100: putfield 114 com/wowza/wms/mediareader/mp3/MediaReaderMP3:headerOffset J // 103: aload_0 // 104: dup // 105: getfield 80 com/wowza/wms/mediareader/mp3/MediaReaderMP3:bitstream Ljavazoom/jl/decoder/Bitstream; // 108: invokevirtual 378 javazoom/jl/decoder/Bitstream:tail_size ()I // 111: i2l // 112: putfield 116 com/wowza/wms/mediareader/mp3/MediaReaderMP3:tailOffset J // 115: aload_0 // 116: dup // 117: getfield 124 com/wowza/wms/mediareader/mp3/MediaReaderMP3:length J // 120: aload_0 // 121: getfield 114 com/wowza/wms/mediareader/mp3/MediaReaderMP3:headerOffset J // 124: lsub // 125: aload_0 // 126: getfield 116 com/wowza/wms/mediareader/mp3/MediaReaderMP3:tailOffset J // 129: lsub // 130: putfield 112 com/wowza/wms/mediareader/mp3/MediaReaderMP3:streamSize J // 133: aload_0 // 134: aload_1 // 135: invokevirtual 381 javazoom/jl/decoder/Header:vbr ()Z // 138: putfield 166 com/wowza/wms/mediareader/mp3/MediaReaderMP3:isVBR Z // 141: aload_0 // 142: aload_1 // 143: aload_0 // 144: getfield 112 com/wowza/wms/mediareader/mp3/MediaReaderMP3:streamSize J // 147: l2i // 148: invokevirtual 385 javazoom/jl/decoder/Header:max_number_of_frames (I)I // 151: i2l // 152: putfield 118 com/wowza/wms/mediareader/mp3/MediaReaderMP3:maxFrames J // 155: aload_0 // 156: getfield 106 com/wowza/wms/mediareader/mp3/MediaReaderMP3:frequency I // 159: ifle +65 -> 224 // 162: goto +78 -> 240 // 165: aload_0 // 166: iconst_2 // 167: putfield 126 com/wowza/wms/mediareader/mp3/MediaReaderMP3:channels I // 170: goto +21 -> 191 // 173: aload_0 // 174: iconst_2 // 175: putfield 126 com/wowza/wms/mediareader/mp3/MediaReaderMP3:channels I // 178: goto +13 -> 191 // 181: aload_0 // 182: getfield 80 com/wowza/wms/mediareader/mp3/MediaReaderMP3:bitstream Ljavazoom/jl/decoder/Bitstream; // 185: invokevirtual 388 javazoom/jl/decoder/Bitstream:closeFrame ()V // 188: goto +575 -> 763 // 191: aload_0 // 192: aload_1 // 193: invokevirtual 391 javazoom/jl/decoder/Header:layer ()I // 196: putfield 128 com/wowza/wms/mediareader/mp3/MediaReaderMP3:layers I // 199: aload_0 // 200: getfield 134 com/wowza/wms/mediareader/mp3/MediaReaderMP3:readID3Tags Z // 203: ifeq -22 -> 181 // 206: goto +11 -> 217 // 209: aload_0 // 210: iconst_1 // 211: putfield 126 com/wowza/wms/mediareader/mp3/MediaReaderMP3:channels I // 214: goto -23 -> 191 // 217: aload_0 // 218: invokevirtual 394 com/wowza/wms/mediareader/mp3/MediaReaderMP3:decodeID3V2Tags ()V // 221: goto -40 -> 181 // 224: aload_0 // 225: lconst_0 // 226: putfield 122 com/wowza/wms/mediareader/mp3/MediaReaderMP3:duration J // 229: goto -201 -> 28 // 232: aload_0 // 233: iconst_2 // 234: putfield 126 com/wowza/wms/mediareader/mp3/MediaReaderMP3:channels I // 237: goto -46 -> 191 // 240: aload_0 // 241: ldc2_w 395 // 244: aload_0 // 245: getfield 110 com/wowza/wms/mediareader/mp3/MediaReaderMP3:samplesPerFrame I // 248: i2d // 249: dmul // 250: aload_0 // 251: getfield 118 com/wowza/wms/mediareader/mp3/MediaReaderMP3:maxFrames J // 254: l2d // 255: dmul // 256: aload_0 // 257: getfield 106 com/wowza/wms/mediareader/mp3/MediaReaderMP3:frequency I // 260: i2d // 261: ddiv // 262: invokestatic 402 java/lang/Math:round (D)J // 265: putfield 122 com/wowza/wms/mediareader/mp3/MediaReaderMP3:duration J // 268: goto -240 -> 28 // 271: ldc 2 // 273: invokestatic 227 com/wowza/wms/logging/WMSLoggerFactory:getLogger (Ljava/lang/Class;)Lcom/wowza/wms/logging/WMSLogger; // 276: bipush 51 // 278: bipush -64 // 280: isub // 281: ldc_w 404 // 284: invokestatic 94 com/wowza/util/Base64:endsWith (ILjava/lang/String;)Ljava/lang/String; // 287: aload_1 // 288: invokevirtual 334 com/wowza/wms/logging/WMSLogger:error (Ljava/lang/String;Ljava/lang/Throwable;)V // 291: goto +589 -> 880 // 294: aload_0 // 295: getfield 80 com/wowza/wms/mediareader/mp3/MediaReaderMP3:bitstream Ljavazoom/jl/decoder/Bitstream; // 298: invokevirtual 407 javazoom/jl/decoder/Bitstream:rewind ()V // 301: ldc2_w 119 // 304: lstore_1 // 305: iconst_0 // 306: istore_3 // 307: iconst_0 // 308: istore 4 // 310: goto +107 -> 417 // 313: aload_0 // 314: getfield 80 com/wowza/wms/mediareader/mp3/MediaReaderMP3:bitstream Ljavazoom/jl/decoder/Bitstream; // 317: invokevirtual 388 javazoom/jl/decoder/Bitstream:closeFrame ()V // 320: goto +97 -> 417 // 323: goto +107 -> 430 // 326: aload_0 // 327: getfield 78 com/wowza/wms/mediareader/mp3/MediaReaderMP3:fileReader Lcom/wowza/io/ScheduledRandomAccessReaderWrapper; // 330: invokevirtual 410 com/wowza/io/ScheduledRandomAccessReaderWrapper:getFilePointer ()J // 333: lload_1 // 334: lsub // 335: l2i // 336: istore 5 // 338: iload_3 // 339: iload 5 // 341: iadd // 342: istore_3 // 343: iinc 4 1 // 346: iload 4 // 348: aload_0 // 349: getfield 164 com/wowza/wms/mediareader/mp3/MediaReaderMP3:calculateMoreAccurateFrameWindow I // 352: if_icmple +40 -> 392 // 355: goto +74 -> 429 // 358: aload_0 // 359: ldc2_w 395 // 362: aload_0 // 363: getfield 110 com/wowza/wms/mediareader/mp3/MediaReaderMP3:samplesPerFrame I // 366: i2d // 367: dmul // 368: aload_0 // 369: getfield 118 com/wowza/wms/mediareader/mp3/MediaReaderMP3:maxFrames J // 372: l2d // 373: dmul // 374: aload_0 // 375: getfield 106 com/wowza/wms/mediareader/mp3/MediaReaderMP3:frequency I // 378: i2d // 379: ddiv // 380: invokestatic 402 java/lang/Math:round (D)J // 383: putfield 122 com/wowza/wms/mediareader/mp3/MediaReaderMP3:duration J // 386: goto +314 -> 700 // 389: goto +311 -> 700 // 392: aload_0 // 393: getfield 78 com/wowza/wms/mediareader/mp3/MediaReaderMP3:fileReader Lcom/wowza/io/ScheduledRandomAccessReaderWrapper; // 396: invokevirtual 410 com/wowza/io/ScheduledRandomAccessReaderWrapper:getFilePointer ()J // 399: lstore_1 // 400: aload_0 // 401: getfield 80 com/wowza/wms/mediareader/mp3/MediaReaderMP3:bitstream Ljavazoom/jl/decoder/Bitstream; // 404: invokevirtual 359 javazoom/jl/decoder/Bitstream:readFrame ()Ljavazoom/jl/decoder/Header; // 407: astore 5 // 409: aload 5 // 411: ifnonnull -98 -> 313 // 414: goto -91 -> 323 // 417: lload_1 // 418: lconst_0 // 419: lcmp // 420: ifle -28 -> 392 // 423: goto -97 -> 326 // 426: goto +274 -> 700 // 429: nop // 430: iload 4 // 432: ifgt +6 -> 438 // 435: goto -46 -> 389 // 438: iload_3 // 439: i2d // 440: iload 4 // 442: i2d // 443: ddiv // 444: dstore 5 // 446: dload 5 // 448: dconst_0 // 449: dcmpg // 450: ifgt +6 -> 456 // 453: goto -27 -> 426 // 456: aload_0 // 457: dup // 458: getfield 112 com/wowza/wms/mediareader/mp3/MediaReaderMP3:streamSize J // 461: l2d // 462: dload 5 // 464: ddiv // 465: invokestatic 402 java/lang/Math:round (D)J // 468: l2i // 469: i2l // 470: putfield 118 com/wowza/wms/mediareader/mp3/MediaReaderMP3:maxFrames J // 473: aload_0 // 474: getfield 106 com/wowza/wms/mediareader/mp3/MediaReaderMP3:frequency I // 477: ifle +223 -> 700 // 480: goto -122 -> 358 // 483: aload_0 // 484: getfield 166 com/wowza/wms/mediareader/mp3/MediaReaderMP3:isVBR Z // 487: ifne +264 -> 751 // 490: goto -196 -> 294 // 493: new 412 com/wowza/wms/amf/AMFDataList // 496: dup // 497: invokespecial 413 com/wowza/wms/amf/AMFDataList:<init> ()V // 500: astore 4 // 502: aload 4 // 504: new 415 com/wowza/wms/amf/AMFDataItem // 507: dup // 508: ldc_w 417 // 511: bipush 75 // 513: bipush -27 // 515: iadd // 516: invokestatic 203 com/wowza/util/JSON:copyValueOf (Ljava/lang/String;I)Ljava/lang/String; // 519: invokespecial 419 com/wowza/wms/amf/AMFDataItem:<init> (Ljava/lang/String;)V // 522: invokevirtual 423 com/wowza/wms/amf/AMFDataList:add (Lcom/wowza/wms/amf/AMFData;)V // 525: aload 4 // 527: aload_1 // 528: invokevirtual 423 com/wowza/wms/amf/AMFDataList:add (Lcom/wowza/wms/amf/AMFData;)V // 531: aload 4 // 533: invokevirtual 427 com/wowza/wms/amf/AMFDataList:serialize ()[B // 536: astore 5 // 538: aload_0 // 539: getfield 130 com/wowza/wms/mediareader/mp3/MediaReaderMP3:metaData Ljava/util/List; // 542: aload 5 // 544: invokestatic 433 java/nio/ByteBuffer:wrap ([B)Ljava/nio/ByteBuffer; // 547: invokeinterface 438 2 0 // 552: pop // 553: goto +396 -> 949 // 556: aload_0 // 557: getfield 122 com/wowza/wms/mediareader/mp3/MediaReaderMP3:duration J // 560: lconst_0 // 561: lcmp // 562: ifle -69 -> 493 // 565: goto +334 -> 899 // 568: ldc 2 // 570: invokestatic 227 com/wowza/wms/logging/WMSLoggerFactory:getLogger (Ljava/lang/Class;)Lcom/wowza/wms/logging/WMSLogger; // 573: ldc_w 440 // 576: bipush 55 // 578: bipush 25 // 580: swap // 581: imul // 582: invokestatic 203 com/wowza/util/JSON:copyValueOf (Ljava/lang/String;I)Ljava/lang/String; // 585: aload_1 // 586: invokevirtual 334 com/wowza/wms/logging/WMSLogger:error (Ljava/lang/String;Ljava/lang/Throwable;)V // 589: goto +232 -> 821 // 592: astore_1 // 593: aload_0 // 594: getfield 82 com/wowza/wms/mediareader/mp3/MediaReaderMP3:errorReported Z // 597: ifne +344 -> 941 // 600: goto +128 -> 728 // 603: astore_1 // 604: aload_0 // 605: getfield 82 com/wowza/wms/mediareader/mp3/MediaReaderMP3:errorReported Z // 608: ifne +272 -> 880 // 611: goto -340 -> 271 // 614: new 442 com/wowza/wms/amf/AMFDataObj // 617: dup // 618: invokespecial 443 com/wowza/wms/amf/AMFDataObj:<init> ()V // 621: astore_1 // 622: aload_0 // 623: getfield 122 com/wowza/wms/mediareader/mp3/MediaReaderMP3:duration J // 626: l2d // 627: ldc2_w 395 // 630: ddiv // 631: dstore_2 // 632: aload_1 // 633: sipush 231 // 636: bipush 62 // 638: idiv // 639: ldc_w 445 // 642: invokestatic 94 com/wowza/util/Base64:endsWith (ILjava/lang/String;)Ljava/lang/String; // 645: new 415 com/wowza/wms/amf/AMFDataItem // 648: dup // 649: dload_2 // 650: invokespecial 448 com/wowza/wms/amf/AMFDataItem:<init> (D)V // 653: invokevirtual 452 com/wowza/wms/amf/AMFDataObj:put (Ljava/lang/String;Lcom/wowza/wms/amf/AMFData;)V // 656: aload_1 // 657: bipush 50 // 659: bipush 38 // 661: iadd // 662: ldc_w 454 // 665: invokestatic 94 com/wowza/util/Base64:endsWith (ILjava/lang/String;)Ljava/lang/String; // 668: new 415 com/wowza/wms/amf/AMFDataItem // 671: dup // 672: sipush 449 // 675: bipush 120 // 677: idiv // 678: ldc_w 456 // 681: invokestatic 94 com/wowza/util/Base64:endsWith (ILjava/lang/String;)Ljava/lang/String; // 684: invokespecial 419 com/wowza/wms/amf/AMFDataItem:<init> (Ljava/lang/String;)V // 687: invokevirtual 452 com/wowza/wms/amf/AMFDataObj:put (Ljava/lang/String;Lcom/wowza/wms/amf/AMFData;)V // 690: aload_0 // 691: getfield 106 com/wowza/wms/mediareader/mp3/MediaReaderMP3:frequency I // 694: ifle +9 -> 703 // 697: goto +93 -> 790 // 700: go 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
|