private void method_8(int int4) { WaitCallback waitCallback = null; var @enum = _enum10; if (@enum == AudioStatus.IsCurrentlyPlayingAudio) { StopPlaying(); } lock (_object0) { Stream arg350 = _stream10; _int3 = int4; arg350.Position = int4; if (@enum == AudioStatus.ShouldStartAudio) { var count = _queue0.Count; var num = 1f / (_int0 * count / (float)GetWaveFormat().short_1); var num2 = 0f; var num3 = 1f; if (GetWaveFormat().waveFormatTag_0 == WaveFormatTag.IeeeFloat) { var array = new float[_int0 >> 2]; using (var enumerator = _queue0.GetEnumerator()) { while (enumerator.MoveNext()) { var current = enumerator.Current; var array2 = current.method_3().method_1(); var num4 = _stream10.vmethod_4(array, 0, array.Length); if (num4 == 0) { break; } var i = 0; var num5 = 0; while (i < num4) { array2[i] = num3 * array2[i] + num2 * array[i]; num5++; if (num5 == GetWaveFormat().short_0) { num2 += num; num3 -= num; num5 = 0; } i++; } Array.Clear(array2, num4, current.method_3().method_5() - num4); current.method_3().method_6(num4); } goto IL_27D; } } if (GetWaveFormat().waveFormatTag_0 == WaveFormatTag.Pcm) { using (var @class = new Class19(_int0)) { foreach (var current2 in _queue0) { var array3 = current2.method_3().method_2(); var array4 = Class19.smethod_0(@class); var num6 = _stream10.vmethod_3(Class19.smethod_1(@class), _int0) >> 1; if (num6 == 0) { break; } var j = 0; var num7 = 0; while (j < num6) { array3[j] = (short)(num3 * array3[j] + num2 * array4[j]); num7++; if (num7 == GetWaveFormat().short_0) { num2 += num; num3 -= num; num7 = 0; } j++; } Array.Clear(array3, num6, current2.method_3().method_7() - num6); current2.method_3().method_8(num6); } } } IL_27D: GC.Collect(); _stopwatch0.Reset(); method_9(0); if (!_bool1) { if (waitCallback == null) { waitCallback = method_12; } ThreadPool.QueueUserWorkItem(waitCallback); } } } }
internal static double smethod_0(Point point_0, Point point_1, Point point_2, double double_0) { double[] array = new double[5]; double[] array2 = new double[9]; double[] array3 = new double[13]; double[] array4 = new double[17]; double[] array5 = new double[5]; double num = point_0.X - point_2.X; double num2 = point_1.X - point_2.X; double num3 = point_0.Y - point_2.Y; double num4 = point_1.Y - point_2.Y; double num5 = num * num4; double num6 = Class20.double_1 * num; double num7 = num6 - num; double num8 = num6 - num7; double num9 = num - num8; num6 = Class20.double_1 * num4; num7 = num6 - num4; double num10 = num6 - num7; double num11 = num4 - num10; double num12 = num5 - num8 * num10; double num13 = num12 - num9 * num10; double num14 = num13 - num8 * num11; double num15 = num9 * num11 - num14; double num16 = num3 * num2; num6 = Class20.double_1 * num3; num7 = num6 - num3; num8 = num6 - num7; num9 = num3 - num8; num6 = Class20.double_1 * num2; num7 = num6 - num2; num10 = num6 - num7; num11 = num2 - num10; num12 = num16 - num8 * num10; num13 = num12 - num9 * num10; num14 = num13 - num8 * num11; double num17 = num9 * num11 - num14; double num18 = num15 - num17; double num19 = num15 - num18; double num20 = num18 + num19; double num21 = num19 - num17; double num22 = num15 - num20; array[0] = num22 + num21; double num23 = num5 + num18; num19 = num23 - num5; num20 = num23 - num19; num21 = num18 - num19; num22 = num5 - num20; double num24 = num22 + num21; num18 = num24 - num16; num19 = num24 - num18; num20 = num18 + num19; num21 = num19 - num16; num22 = num24 - num20; array[1] = num22 + num21; double num25 = num23 + num18; num19 = num25 - num23; num20 = num25 - num19; num21 = num18 - num19; num22 = num23 - num20; array[2] = num22 + num21; array[3] = num25; double num26 = Class19.smethod_1(4, array); double num27 = Class20.double_3 * double_0; if (num26 >= num27 || -num26 >= num27) { return(num26); } num19 = point_0.X - num; num20 = num + num19; num21 = num19 - point_2.X; num22 = point_0.X - num20; double num28 = num22 + num21; num19 = point_1.X - num2; num20 = num2 + num19; num21 = num19 - point_2.X; num22 = point_1.X - num20; double num29 = num22 + num21; num19 = point_0.Y - num3; num20 = num3 + num19; num21 = num19 - point_2.Y; num22 = point_0.Y - num20; double num30 = num22 + num21; num19 = point_1.Y - num4; num20 = num4 + num19; num21 = num19 - point_2.Y; num22 = point_1.Y - num20; double num31 = num22 + num21; if (num28 == 0.0 && num30 == 0.0 && num29 == 0.0 && num31 == 0.0) { return(num26); } num27 = Class20.double_4 * double_0 + Class20.double_0 * ((num26 >= 0.0) ? num26 : (-num26)); num26 += num * num31 + num4 * num28 - (num3 * num29 + num2 * num30); if (num26 < num27 && -num26 < num27) { double num32 = num28 * num4; num6 = Class20.double_1 * num28; num7 = num6 - num28; num8 = num6 - num7; num9 = num28 - num8; num6 = Class20.double_1 * num4; num7 = num6 - num4; num10 = num6 - num7; num11 = num4 - num10; num12 = num32 - num8 * num10; num13 = num12 - num9 * num10; num14 = num13 - num8 * num11; double num33 = num9 * num11 - num14; double num34 = num30 * num2; num6 = Class20.double_1 * num30; num7 = num6 - num30; num8 = num6 - num7; num9 = num30 - num8; num6 = Class20.double_1 * num2; num7 = num6 - num2; num10 = num6 - num7; num11 = num2 - num10; num12 = num34 - num8 * num10; num13 = num12 - num9 * num10; num14 = num13 - num8 * num11; double num35 = num9 * num11 - num14; num18 = num33 - num35; num19 = num33 - num18; num20 = num18 + num19; num21 = num19 - num35; num22 = num33 - num20; array5[0] = num22 + num21; num23 = num32 + num18; num19 = num23 - num32; num20 = num23 - num19; num21 = num18 - num19; num22 = num32 - num20; num24 = num22 + num21; num18 = num24 - num34; num19 = num24 - num18; num20 = num18 + num19; num21 = num19 - num34; num22 = num24 - num20; array5[1] = num22 + num21; double num36 = num23 + num18; num19 = num36 - num23; num20 = num36 - num19; num21 = num18 - num19; num22 = num23 - num20; array5[2] = num22 + num21; array5[3] = num36; int int_ = Class19.smethod_2(4, array, 4, array5, array2); num32 = num * num31; num6 = Class20.double_1 * num; num7 = num6 - num; num8 = num6 - num7; num9 = num - num8; num6 = Class20.double_1 * num31; num7 = num6 - num31; num10 = num6 - num7; num11 = num31 - num10; num12 = num32 - num8 * num10; num13 = num12 - num9 * num10; num14 = num13 - num8 * num11; num33 = num9 * num11 - num14; num34 = num3 * num29; num6 = Class20.double_1 * num3; num7 = num6 - num3; num8 = num6 - num7; num9 = num3 - num8; num6 = Class20.double_1 * num29; num7 = num6 - num29; num10 = num6 - num7; num11 = num29 - num10; num12 = num34 - num8 * num10; num13 = num12 - num9 * num10; num14 = num13 - num8 * num11; num35 = num9 * num11 - num14; num18 = num33 - num35; num19 = num33 - num18; num20 = num18 + num19; num21 = num19 - num35; num22 = num33 - num20; array5[0] = num22 + num21; num23 = num32 + num18; num19 = num23 - num32; num20 = num23 - num19; num21 = num18 - num19; num22 = num32 - num20; num24 = num22 + num21; num18 = num24 - num34; num19 = num24 - num18; num20 = num18 + num19; num21 = num19 - num34; num22 = num24 - num20; array5[1] = num22 + num21; num36 = num23 + num18; num19 = num36 - num23; num20 = num36 - num19; num21 = num18 - num19; num22 = num23 - num20; array5[2] = num22 + num21; array5[3] = num36; int int_2 = Class19.smethod_2(int_, array2, 4, array5, array3); num32 = num28 * num31; num6 = Class20.double_1 * num28; num7 = num6 - num28; num8 = num6 - num7; num9 = num28 - num8; num6 = Class20.double_1 * num31; num7 = num6 - num31; num10 = num6 - num7; num11 = num31 - num10; num12 = num32 - num8 * num10; num13 = num12 - num9 * num10; num14 = num13 - num8 * num11; num33 = num9 * num11 - num14; num34 = num30 * num29; num6 = Class20.double_1 * num30; num7 = num6 - num30; num8 = num6 - num7; num9 = num30 - num8; num6 = Class20.double_1 * num29; num7 = num6 - num29; num10 = num6 - num7; num11 = num29 - num10; num12 = num34 - num8 * num10; num13 = num12 - num9 * num10; num14 = num13 - num8 * num11; num35 = num9 * num11 - num14; num18 = num33 - num35; num19 = num33 - num18; num20 = num18 + num19; num21 = num19 - num35; num22 = num33 - num20; array5[0] = num22 + num21; num23 = num32 + num18; num19 = num23 - num32; num20 = num23 - num19; num21 = num18 - num19; num22 = num32 - num20; num24 = num22 + num21; num18 = num24 - num34; num19 = num24 - num18; num20 = num18 + num19; num21 = num19 - num34; num22 = num24 - num20; array5[1] = num22 + num21; num36 = num23 + num18; num19 = num36 - num23; num20 = num36 - num19; num21 = num18 - num19; num22 = num23 - num20; array5[2] = num22 + num21; array5[3] = num36; int num37 = Class19.smethod_2(int_2, array3, 4, array5, array4); return(array4[num37 - 1]); } return(num26); }
// Token: 0x060000EC RID: 236 RVA: 0x000033EF File Offset: 0x000015EF public uint method_3(uint uint_0) { return(Class19.smethod_1(this.method_1(Class19.smethod_0(uint_0)))); }
private void method_8(int int_4) { WaitCallback waitCallback = null; AudioStatus @enum = this.enum1_0; if (@enum == AudioStatus.IsCurrentlyPlayingAudio) { this.StopPlaying(); } lock (this.object_0) { Stream arg_35_0 = this.stream1_0; this.int_3 = int_4; arg_35_0.Position = (long)int_4; if (@enum == AudioStatus.ShouldStartAudio) { int count = this.queue_0.Count; float num = 1f / ((float)(this.int_0 * count) / (float)this.GetWaveFormat().short_1); float num2 = 0f; float num3 = 1f; if (this.GetWaveFormat().waveFormatTag_0 == WaveFormatTag.IEEEFloat) { float[] array = new float[this.int_0 >> 2]; using (Queue <Class158> .Enumerator enumerator = this.queue_0.GetEnumerator()) { while (enumerator.MoveNext()) { Class158 current = enumerator.Current; float[] array2 = current.method_3().method_1(); int num4 = this.stream1_0.vmethod_4(array, 0, array.Length); if (num4 == 0) { break; } int i = 0; int num5 = 0; while (i < num4) { array2[i] = num3 * array2[i] + num2 * array[i]; num5++; if (num5 == (int)this.GetWaveFormat().short_0) { num2 += num; num3 -= num; num5 = 0; } i++; } Array.Clear(array2, num4, current.method_3().method_5() - num4); current.method_3().method_6(num4); } goto IL_27D; } } if (this.GetWaveFormat().waveFormatTag_0 == WaveFormatTag.PCM) { using (Class19 @class = new Class19(this.int_0)) { foreach (Class158 current2 in this.queue_0) { short[] array3 = current2.method_3().method_2(); short[] array4 = Class19.smethod_0(@class); int num6 = this.stream1_0.vmethod_3(Class19.smethod_1(@class), this.int_0) >> 1; if (num6 == 0) { break; } int j = 0; int num7 = 0; while (j < num6) { array3[j] = (short)(num3 * (float)array3[j] + num2 * (float)array4[j]); num7++; if (num7 == (int)this.GetWaveFormat().short_0) { num2 += num; num3 -= num; num7 = 0; } j++; } Array.Clear(array3, num6, current2.method_3().method_7() - num6); current2.method_3().method_8(num6); } } } IL_27D: GC.Collect(); this.stopwatch_0.Reset(); this.method_9(0); if (!this.bool_1) { if (waitCallback == null) { waitCallback = new WaitCallback(this.method_12); } ThreadPool.QueueUserWorkItem(waitCallback); } } } }