home *** CD-ROM | disk | FTP | other *** search
- import java.io.ByteArrayInputStream;
-
- final class SoundMixer extends ByteArrayInputStream {
- // $FF: renamed from: ─ú int
- private int field_0;
- // $FF: renamed from: ─⌐ int
- private int field_1;
-
- SoundMixer(byte[] var1, int var2) {
- super(var1);
- if (var2 < 0) {
- super.count = Integer.MAX_VALUE;
- } else {
- super.count = var1.length * var2;
- }
-
- this.field_0 = var1.length;
- Flash.─É = false;
- }
-
- public synchronized int read() {
- if (Flash.─É) {
- return -1;
- } else if (super.pos < super.count) {
- ++super.pos;
- if (this.field_1 >= this.field_0) {
- this.field_1 = 0;
- }
-
- return super.buf[this.field_1++] & 255;
- } else {
- return -1;
- }
- }
-
- // $FF: renamed from: ƨ (byte[], int, int) int
- private int method_0(byte[] var1, int var2, int var3) {
- if (this.field_1 >= this.field_0) {
- return -1;
- } else {
- if (this.field_1 + var3 > this.field_0) {
- var3 = this.field_0 - this.field_1;
- }
-
- if (var3 <= 0) {
- return 0;
- } else {
- System.arraycopy(super.buf, this.field_1, var1, var2, var3);
- this.field_1 += var3;
- return var3;
- }
- }
- }
-
- public synchronized int read(byte[] var1, int var2, int var3) {
- if (Flash.─É) {
- return -1;
- } else if (super.pos >= super.count) {
- return -1;
- } else {
- if (super.pos + var3 > super.count) {
- var3 = super.count - super.pos;
- }
-
- if (var3 <= 0) {
- return 0;
- } else {
- if (this.field_1 + var3 <= this.field_0) {
- System.arraycopy(super.buf, this.field_1, var1, var2, var3);
- this.field_1 += var3;
- } else {
- int var4 = 0;
-
- while(var4 < var3) {
- int var5 = this.method_0(var1, var2 + var4, var3 - var4);
- if (var5 >= 0) {
- var4 += var5;
- } else {
- this.field_1 = 0;
- }
- }
- }
-
- super.pos += var3;
- return var3;
- }
- }
- }
-
- public synchronized long skip(long var1) {
- if (Flash.─É) {
- return 0L;
- } else {
- if ((long)super.pos + var1 > (long)super.count) {
- var1 = (long)(super.count - super.pos);
- }
-
- if (var1 < 0L) {
- return 0L;
- } else {
- super.pos = (int)((long)super.pos + var1);
-
- for(this.field_1 = (int)((long)this.field_1 + var1); this.field_1 >= this.field_0; this.field_1 -= this.field_0) {
- }
-
- return var1;
- }
- }
- }
-
- public synchronized int available() {
- return Flash.─É ? 0 : super.count - super.pos;
- }
-
- public synchronized void reset() {
- this.field_1 = 0;
- super.pos = 0;
- }
-
- public static synchronized void StopAllStreams() {
- Flash.─É = true;
- }
- }
-