public MP3Class(Stream stream_1, int int_5, Enum4 enum4_0, int int_6) { this.class81_0 = new zzSoundClass81[int_5]; for (int i = 0; i < this.class81_0.Length; i++) { this.class81_0[i] = new zzSoundClass81(new Class104(enum4_0)); } this.fileStream = stream_1; this.class82_0 = new Class82(this.fileStream, int_6); this.int_2 = this.class82_0.method_2(); this.long_0 = -1L; this.class107_0 = null; if (!this.method_0()) { throw new Mp3Exception("Mp3 Decoder: Cannot read header."); } this.short_0 = 0; for (int j = 0; j < this.class81_0.Length; j++) { this.short_0 += (short)this.class81_0[j].method_2(); } this.int_4 = this.class81_0[0].method_1(); this.waveFormat_0 = new WaveFormat(this.int_4, (int)this.short_0); this.double_0 = (double)(this.waveFormat_0.int_0 * ((int)this.waveFormat_0.short_1 / this.class81_0.Length)) / ((double)this.int_3 / 8.0); this.long_1 = 0L; if (this.class107_0 != null && this.class107_0.method_10()) { this.long_0 = Convert.ToInt64(this.class107_0.method_18((int)(this.fileStream.Length - (long)this.int_2) / this.class81_0.Length) * ((double)this.waveFormat_0.int_0 * ((double)this.waveFormat_0.short_1 / 1000.0))); } if (this.long_0 <= 0L) { this.long_0 = (long)((double)(this.fileStream.Length - (long)this.int_2) * this.double_0); } }
public MP3Stream(Stream stream_1, Enum4 enum4_0, int int_5) { this.class81_0 = new zzSoundClass81(new Class104(enum4_0)); this.fileStream = stream_1; this.class82_0 = new Class82(this.fileStream, int_5); this.int_2 = this.class82_0.method_2(); this.long_0 = -1L; this.class107_0 = null; if (!this.method_0()) { throw new Mp3Exception("Mp3 Decoder: Cannot read header."); } this.short_0 = (short)this.class81_0.method_2(); this.int_4 = this.class81_0.method_1(); this.waveFormat_0 = new WaveFormat(this.int_4, (int)this.short_0); this.double_0 = (double)(this.waveFormat_0.int_0 * (int)this.waveFormat_0.short_1) / ((double)this.int_3 / 8.0); this.long_1 = 0L; if (this.class107_0 != null && this.class107_0.method_10()) { this.long_0 = Convert.ToInt64(this.class107_0.method_18((int)(this.fileStream.Length - (long)this.int_2)) * ((double)this.waveFormat_0.int_0 * ((double)this.waveFormat_0.short_1 / 1000.0))); this.class83_0 = this.class107_0.method_11(); if (this.class83_0 != null && this.class83_0.int_2 == -1) { this.class83_0.int_2 = (int)(this.fileStream.Length - (long)this.int_2); } } if (this.long_0 <= 0L) { this.long_0 = (long)((double)(this.fileStream.Length - (long)this.int_2) * this.double_0); } }
public override void vmethod_1(Class82 class82_0, zzSoundClass class107_0) { if (this.int_2 != 0) { this.float_3 = Class92.Class94.float_0[class82_0.method_13(6)]; } }
public virtual void vmethod_0(Class82 class82_1, zzSoundClass class107_1, Class80 class80_2, Class80 class80_3, Class84 class84_1, Enum4 enum4_1) { this.class82_0 = class82_1; this.class107_0 = class107_1; this.class80_0 = class80_2; this.class80_1 = class80_3; this.class84_0 = class84_1; this.enum4_0 = enum4_1; }
public override bool vmethod_2(Class82 class82_0) { bool result = base.vmethod_2(class82_0); if (this.int_4 != 0) { this.float_8 = (float)class82_0.method_13(this.int_5); } return(result); }
public Class84 method_5(zzSoundClass class107_0, Class82 class82_0) { if (!this.bool_0) { this.method_3(class107_0); } int int_ = class107_0.method_4(); this.class84_0.method_6(); Interface7 @interface = this.method_4(class107_0, class82_0, int_); @interface.imethod_0(); this.class84_0.method_5(); return this.class84_0; }
public override bool vmethod_2(Class82 class82_0) { if (this.int_2 != 0) { this.float_4 = (float)class82_0.method_13(this.int_3); } if (++this.int_1 == 12) { this.int_1 = 0; return(true); } return(false); }
public Class84 method_5(zzSoundClass class107_0, Class82 class82_0) { if (!this.bool_0) { this.method_3(class107_0); } int int_ = class107_0.method_4(); this.class84_0.method_6(); Interface7 @interface = this.method_4(class107_0, class82_0, int_); @interface.imethod_0(); this.class84_0.method_5(); return(this.class84_0); }
public override void vmethod_0(Class82 class82_0, zzSoundClass class107_0, Class101 class101_0) { if ((this.int_2 = class82_0.method_13(4)) == 15) { throw new DecoderException(DecoderError.IllegalSubbandAllocation, null); } if (class101_0 != null) { class101_0.method_0(this.int_2, 4); } if (this.int_2 != 0) { this.int_3 = this.int_2 + 1; this.float_5 = Class92.Class95.float_1[this.int_2]; this.float_6 = Class92.Class95.float_2[this.int_2]; } }
public override void vmethod_0(Class82 class82_0, zzSoundClass class107_0, Class101 class101_0) { this.int_2 = class82_0.method_13(4); this.int_4 = class82_0.method_13(4); if (class101_0 != null) { class101_0.method_0(this.int_2, 4); class101_0.method_0(this.int_4, 4); } if (this.int_2 != 0) { this.int_3 = this.int_2 + 1; this.float_5 = Class92.Class95.float_1[this.int_2]; this.float_6 = Class92.Class95.float_2[this.int_2]; } if (this.int_4 != 0) { this.int_5 = this.int_4 + 1; this.float_9 = Class92.Class95.float_1[this.int_4]; this.float_10 = Class92.Class95.float_2[this.int_4]; } }
private Interface7 method_4(zzSoundClass class107_0, Class82 class82_0, int int_2) { Interface7 @interface = null; switch (int_2) { case 1: if (this.class92_0 == null) { this.class92_0 = new Class92(); this.class92_0.vmethod_0(class82_0, class107_0, this.class80_0, this.class80_1, this.class84_0, this.class104_1.method_0()); } @interface = this.class92_0; break; case 2: if (this.class93_0 == null) { this.class93_0 = new Class93(); this.class93_0.vmethod_0(class82_0, class107_0, this.class80_0, this.class80_1, this.class84_0, this.class104_1.method_0()); } @interface = this.class93_0; break; case 3: if (this.class85_0 == null) { this.class85_0 = new Class85(class82_0, class107_0, this.class80_0, this.class80_1, this.class84_0, this.class104_1.method_0()); } @interface = this.class85_0; break; } if (@interface == null) { throw new DecoderException(DecoderError.UnsupportedLayer, null); } return(@interface); }
private void method_17(Stream stream_0) { long position = 0L; int num = -1; try { position = stream_0.Position; num = Class82.smethod_0(stream_0); this.int_0 = num; } catch (IOException) { } finally { try { stream_0.Position = position; } catch (IOException) { } } try { if (num > 0) { this.byte_0 = new byte[num]; stream_0.Read(this.byte_0, 0, this.byte_0.Length); } } catch (IOException) { } }
public override void vmethod_1(Class82 class82_0, zzSoundClass class107_0) { if (this.int_6 == 0) { return; } switch (this.int_7) { case 0: this.float_22 = Class92.Class94.float_0[class82_0.method_13(6)]; this.float_23 = Class92.Class94.float_0[class82_0.method_13(6)]; this.float_24 = Class92.Class94.float_0[class82_0.method_13(6)]; break; case 1: this.float_22 = (this.float_23 = Class92.Class94.float_0[class82_0.method_13(6)]); this.float_24 = Class92.Class94.float_0[class82_0.method_13(6)]; break; case 2: this.float_22 = (this.float_23 = (this.float_24 = Class92.Class94.float_0[class82_0.method_13(6)])); break; case 3: this.float_22 = Class92.Class94.float_0[class82_0.method_13(6)]; this.float_23 = (this.float_24 = Class92.Class94.float_0[class82_0.method_13(6)]); break; } this.vmethod_5(class107_0, this.int_6, 0, this.float_26, this.int_8, this.float_28, this.float_29); }
public override void vmethod_6(Class82 class82_0, Class101 class101_0) { if (this.int_6 != 0) { this.int_7 = class82_0.method_13(2); if (class101_0 != null) { class101_0.method_0(this.int_7, 2); } } if (this.int_11 != 0) { this.int_12 = class82_0.method_13(2); if (class101_0 != null) { class101_0.method_0(this.int_12, 2); } } }
public override void vmethod_0(Class82 class82_0, zzSoundClass class107_0, Class101 class101_0) { base.vmethod_0(class82_0, class107_0, class101_0); }
public override void vmethod_1(Class82 class82_0, zzSoundClass class107_0) { if (this.int_6 == 0) { return; } base.vmethod_1(class82_0, class107_0); switch (this.int_11) { case 0: this.float_30 = Class92.Class94.float_0[class82_0.method_13(6)]; this.float_31 = Class92.Class94.float_0[class82_0.method_13(6)]; this.float_32 = Class92.Class94.float_0[class82_0.method_13(6)]; return; case 1: this.float_30 = (this.float_31 = Class92.Class94.float_0[class82_0.method_13(6)]); this.float_32 = Class92.Class94.float_0[class82_0.method_13(6)]; return; case 2: this.float_30 = (this.float_31 = (this.float_32 = Class92.Class94.float_0[class82_0.method_13(6)])); return; case 3: this.float_30 = Class92.Class94.float_0[class82_0.method_13(6)]; this.float_31 = (this.float_32 = Class92.Class94.float_0[class82_0.method_13(6)]); return; default: return; } }
public abstract bool vmethod_2(Class82 class82_0);
public abstract void vmethod_1(Class82 class82_0, zzSoundClass class107_0);
public override bool vmethod_2(Class82 class82_0) { if (this.int_2 != 0) { this.float_4 = (float)class82_0.method_13(this.int_3); } if (++this.int_1 == 12) { this.int_1 = 0; return true; } return false; }
public override void vmethod_1(Class82 class82_0, zzSoundClass class107_0) { base.vmethod_1(class82_0, class107_0); if (this.int_11 != 0) { switch (this.int_12) { case 0: this.float_30 = Class92.Class94.float_0[class82_0.method_13(6)]; this.float_31 = Class92.Class94.float_0[class82_0.method_13(6)]; this.float_32 = Class92.Class94.float_0[class82_0.method_13(6)]; break; case 1: this.float_30 = (this.float_31 = Class92.Class94.float_0[class82_0.method_13(6)]); this.float_32 = Class92.Class94.float_0[class82_0.method_13(6)]; break; case 2: this.float_30 = (this.float_31 = (this.float_32 = Class92.Class94.float_0[class82_0.method_13(6)])); break; case 3: this.float_30 = Class92.Class94.float_0[class82_0.method_13(6)]; this.float_31 = (this.float_32 = Class92.Class94.float_0[class82_0.method_13(6)]); break; } this.vmethod_5(class107_0, this.int_11, 1, this.float_33, this.int_13, this.float_35, this.float_36); } }
public override bool vmethod_2(Class82 class82_0) { if (this.int_6 != 0) { if (this.float_25[0] != null) { int num = class82_0.method_13(this.int_8[0]); num += num << 1; float[] array = this.float_27; float[] array2 = this.float_25[0]; int num2 = 0; int num3 = num; if (num3 > array2.Length - 3) { num3 = array2.Length - 3; } array[num2] = array2[num3]; num3++; num2++; array[num2] = array2[num3]; num3++; num2++; array[num2] = array2[num3]; } else { this.float_27[0] = (float)class82_0.method_13(this.int_8[0]) * this.float_26[0] - 1f; this.float_27[1] = (float)class82_0.method_13(this.int_8[0]) * this.float_26[0] - 1f; this.float_27[2] = (float)class82_0.method_13(this.int_8[0]) * this.float_26[0] - 1f; } } this.int_10 = 0; return ++this.int_9 == 12; }
public override void vmethod_0(Class82 class82_0, zzSoundClass class107_0, Class101 class101_0) { int num = this.vmethod_4(class107_0); this.int_6 = class82_0.method_13(num); this.int_11 = class82_0.method_13(num); if (class101_0 != null) { class101_0.method_0(this.int_6, num); class101_0.method_0(this.int_11, num); } }
public override void vmethod_6(Class82 class82_0, Class101 class101_0) { if (this.int_6 == 0) { return; } this.int_7 = class82_0.method_13(2); this.int_11 = class82_0.method_13(2); if (class101_0 != null) { class101_0.method_0(this.int_7, 2); class101_0.method_0(this.int_11, 2); } }
public override bool vmethod_2(Class82 class82_0) { bool result = base.vmethod_2(class82_0); if (this.int_11 != 0) { if (this.float_25[1] != null) { int num = class82_0.method_13(this.int_13[0]); num += num << 1; float[] array = this.float_34; float[] array2 = this.float_25[1]; int num2 = num; array[0] = array2[num2++]; array[1] = array2[num2++]; array[2] = array2[num2]; } else { this.float_34[0] = (float)class82_0.method_13(this.int_13[0]) * this.float_33[0] - 1f; this.float_34[1] = (float)class82_0.method_13(this.int_13[0]) * this.float_33[0] - 1f; this.float_34[2] = (float)class82_0.method_13(this.int_13[0]) * this.float_33[0] - 1f; } } return result; }
private Interface7 method_4(zzSoundClass class107_0, Class82 class82_0, int int_2) { Interface7 @interface = null; switch (int_2) { case 1: if (this.class92_0 == null) { this.class92_0 = new Class92(); this.class92_0.vmethod_0(class82_0, class107_0, this.class80_0, this.class80_1, this.class84_0, this.class104_1.method_0()); } @interface = this.class92_0; break; case 2: if (this.class93_0 == null) { this.class93_0 = new Class93(); this.class93_0.vmethod_0(class82_0, class107_0, this.class80_0, this.class80_1, this.class84_0, this.class104_1.method_0()); } @interface = this.class93_0; break; case 3: if (this.class85_0 == null) { this.class85_0 = new Class85(class82_0, class107_0, this.class80_0, this.class80_1, this.class84_0, this.class104_1.method_0()); } @interface = this.class85_0; break; } if (@interface == null) { throw new DecoderException(DecoderError.UnsupportedLayer, null); } return @interface; }
public override bool vmethod_2(Class82 class82_0) { return base.vmethod_2(class82_0); }
public Class85(Class82 class82_1, zzSoundClass class107_1, Class80 class80_2, Class80 class80_3, Class84 class84_1, Enum4 enum4_1) : base() { int[] array = new int[1]; this.int_12 = array; int[] array2 = new int[1]; this.int_13 = array2; int[] array3 = new int[1]; this.int_14 = array3; int[] array4 = new int[1]; this.int_15 = array4; this.int_16 = new int[576]; this.float_7 = new float[576]; this.float_8 = new float[18]; this.float_9 = new float[36]; //base..ctor(); Class103.smethod_0(); this.int_2 = new int[580]; this.float_0 = new float[2][,]; this.float_0[0] = new float[32, 18]; this.float_0[1] = new float[32, 18]; this.float_1 = new float[2][,]; this.float_1[0] = new float[32, 18]; this.float_1[1] = new float[32, 18]; this.float_2 = new float[576]; this.float_3 = new float[2, 576]; this.float_4 = new float[2, 576]; this.int_3 = new int[2]; this.class90_0 = new Class85.Class90[2]; this.class90_0[0] = new Class85.Class90(); this.class90_0[1] = new Class85.Class90(); this.class90_1 = this.class90_0; this.class86_0 = new Class85.Class86[9]; int[] array5 = new int[] { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576 }; int[] array6 = new int[] { 0, 4, 8, 12, 18, 24, 32, 42, 56, 74, 100, 132, 174, 192 }; int[] array7 = new int[] { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 114, 136, 162, 194, 232, 278, 330, 394, 464, 540, 576 }; int[] array8 = new int[] { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 136, 180, 192 }; int[] array9 = new int[] { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576 }; int[] array10 = new int[] { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192 }; int[] array11 = new int[] { 0, 4, 8, 12, 16, 20, 24, 30, 36, 44, 52, 62, 74, 90, 110, 134, 162, 196, 238, 288, 342, 418, 576 }; int[] array12 = new int[] { 0, 4, 8, 12, 16, 22, 30, 40, 52, 66, 84, 106, 136, 192 }; int[] array13 = new int[] { 0, 4, 8, 12, 16, 20, 24, 30, 36, 42, 50, 60, 72, 88, 106, 128, 156, 190, 230, 276, 330, 384, 576 }; int[] array14 = new int[] { 0, 4, 8, 12, 16, 22, 28, 38, 50, 64, 80, 100, 126, 192 }; int[] array15 = new int[] { 0, 4, 8, 12, 16, 20, 24, 30, 36, 44, 54, 66, 82, 102, 126, 156, 194, 240, 296, 364, 448, 550, 576 }; int[] array16 = new int[] { 0, 4, 8, 12, 16, 22, 30, 42, 58, 78, 104, 138, 180, 192 }; int[] array17 = new int[] { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576 }; int[] array18 = new int[] { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192 }; int[] array19 = new int[] { 0, 6, 12, 18, 24, 30, 36, 44, 54, 66, 80, 96, 116, 140, 168, 200, 238, 284, 336, 396, 464, 522, 576 }; int[] array20 = new int[] { 0, 4, 8, 12, 18, 26, 36, 48, 62, 80, 104, 134, 174, 192 }; int[] array21 = new int[] { 0, 12, 24, 36, 48, 60, 72, 88, 108, 132, 160, 192, 232, 280, 336, 400, 476, 566, 568, 570, 572, 574, 576 }; int[] array22 = new int[] { 0, 8, 16, 24, 36, 52, 72, 96, 124, 160, 162, 164, 166, 192 }; this.class86_0[0] = new Class85.Class86(array5, array6); this.class86_0[1] = new Class85.Class86(array7, array8); this.class86_0[2] = new Class85.Class86(array9, array10); this.class86_0[3] = new Class85.Class86(array11, array12); this.class86_0[4] = new Class85.Class86(array13, array14); this.class86_0[5] = new Class85.Class86(array15, array16); this.class86_0[6] = new Class85.Class86(array17, array18); this.class86_0[7] = new Class85.Class86(array19, array20); this.class86_0[8] = new Class85.Class86(array21, array22); if (Class85.int_22 == null) { Class85.int_22 = new int[9][]; for (int i = 0; i < 9; i++) { Class85.int_22[i] = Class85.smethod_1(this.class86_0[i].int_1); } } int[] array23 = new int[] { 0, 6, 11, 16, 21 }; int[] array24 = new int[] { 0, 6, 12 }; this.class91_0 = new Class85.Class91(this, array23, array24); this.int_0 = new int[54]; this.class82_0 = class82_1; this.class107_0 = class107_1; this.class80_0 = class80_2; this.class80_1 = class80_3; this.class84_0 = class84_1; this.enum4_0 = enum4_1; this.int_5 = 0; this.int_7 = ((this.class107_0.method_8() == Enum5.const_3) ? 1 : 2); this.int_4 = ((this.class107_0.method_3() == Enum3.const_1) ? 2 : 1); this.int_10 = this.class107_0.method_6() + ((this.class107_0.method_3() == Enum3.const_1) ? 3 : ((this.class107_0.method_3() == Enum3.const_2) ? 6 : 0)); if (this.int_7 == 2) { switch (this.enum4_0) { case Enum4.const_0: IL_4E3: this.int_8 = 0; this.int_9 = 1; goto IL_521; case Enum4.const_1: case Enum4.const_3: this.int_9 = 0; this.int_8 = 0; goto IL_521; case Enum4.const_2: this.int_9 = 1; this.int_8 = 1; goto IL_521; } // goto IL_4E3 this.int_8 = 0; this.int_9 = 1; goto IL_521; } this.int_9 = 0; this.int_8 = 0; IL_521: Array.Clear(this.float_3, 0, 1152); int[] arg_54B_0 = this.int_3; int arg_54B_1 = 0; this.int_3[1] = 576; arg_54B_0[arg_54B_1] = 576; this.class102_0 = new Class102(); this.class89_0 = new Class85.Class89(); }
public void method_1(Class82 class82_0, Class101[] class101_1) { bool flag = false; while (true) { int num = class82_0.method_9(this.byte_0); this.int_14 = num; if (this.byte_0 == Class82.byte_1) { this.enum3_0 = (Enum3)(num >> 19 & 1); if ((num >> 20 & 1) == 0) { if (this.enum3_0 != Enum3.const_0) { goto IL_1EE; } this.enum3_0 = Enum3.const_2; } if ((this.int_6 = (num >> 10 & 3)) == 3) { goto Block_20; } } this.int_1 = (4 - (num >> 17) & 3); this.int_2 = (num >> 16 & 1); this.int_3 = (num >> 12 & 15); this.int_4 = (num >> 9 & 1); this.enum5_0 = (Enum5)(num >> 6 & 3); this.int_5 = (num >> 4 & 3); if (this.enum5_0 == Enum5.const_1) { this.int_8 = (this.int_5 << 2) + 4; } else { this.int_8 = 0; } if ((num >> 3 & 1) == 1) { this.bool_0 = true; } if ((num >> 2 & 1) == 1) { this.bool_1 = true; } if (this.int_1 == 1) { this.int_7 = 32; } else { int num2 = this.int_3; if (this.enum5_0 != Enum5.const_3) { if (num2 == 4) { num2 = 1; } else { num2 -= 4; } } if (num2 != 1) { if (num2 != 2) { if (this.int_6 != 1 && (num2 < 3 || num2 > 5)) { this.int_7 = 30; goto IL_102; } this.int_7 = 27; goto IL_102; } } this.int_7 = ((this.int_6 == 2) ? 12 : 8); } IL_102: if (this.int_8 > this.int_7) { this.int_8 = this.int_7; } this.method_15(); int num3 = class82_0.method_11(this.int_12); if (this.int_12 >= 0 && num3 != this.int_12) { break; } if (class82_0.method_8((int)this.byte_0)) { if (this.byte_0 == Class82.byte_1) { this.byte_0 = Class82.byte_2; class82_0.method_14(num & -521024); } flag = true; } else { class82_0.method_6(); } if (flag) { goto Block_17; } } throw new BitstreamException(BitstreamError.InvalidFrame); Block_17: class82_0.method_12(); if (this.int_2 == 0) { this.short_0 = (short)class82_0.method_13(16); if (this.class101_0 == null) { this.class101_0 = new Class101(); } int num=0; this.class101_0.method_0(num, 16); class101_1[0] = this.class101_0; } else { class101_1[0] = null; } return; Block_20: throw new BitstreamException(BitstreamError.UnknownError); IL_1EE: throw new BitstreamException(BitstreamError.UnknownError); }
public override void vmethod_1(Class82 class82_0, zzSoundClass class107_0) { if (this.int_2 != 0) { this.float_3 = Class92.Class94.float_0[class82_0.method_13(6)]; } if (this.int_4 != 0) { this.float_7 = Class92.Class94.float_0[class82_0.method_13(6)]; } }
public override bool vmethod_2(Class82 class82_0) { return(base.vmethod_2(class82_0)); }
public override bool vmethod_2(Class82 class82_0) { bool result = base.vmethod_2(class82_0); if (this.int_4 != 0) { this.float_8 = (float)class82_0.method_13(this.int_5); } return result; }
public virtual void vmethod_6(Class82 class82_0, Class101 class101_0) { if (this.int_6 == 0) { return; } this.int_7 = class82_0.method_13(2); if (class101_0 != null) { class101_0.method_0(this.int_7, 2); } }