home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2000 February / maximum-cd-2000-02.iso / Flash 4 / data1.cab / App_Files / Players / Flash_Player_Java(tm)_Edition / Flash.ZIP / SoundMixer.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-13  |  1.1 KB  |  124 lines

  1. import java.io.ByteArrayInputStream;
  2.  
  3. final class SoundMixer extends ByteArrayInputStream {
  4.    // $FF: renamed from: ─ú int
  5.    private int field_0;
  6.    // $FF: renamed from: ─⌐ int
  7.    private int field_1;
  8.  
  9.    SoundMixer(byte[] var1, int var2) {
  10.       super(var1);
  11.       if (var2 < 0) {
  12.          super.count = Integer.MAX_VALUE;
  13.       } else {
  14.          super.count = var1.length * var2;
  15.       }
  16.  
  17.       this.field_0 = var1.length;
  18.       Flash.─É = false;
  19.    }
  20.  
  21.    public synchronized int read() {
  22.       if (Flash.─É) {
  23.          return -1;
  24.       } else if (super.pos < super.count) {
  25.          ++super.pos;
  26.          if (this.field_1 >= this.field_0) {
  27.             this.field_1 = 0;
  28.          }
  29.  
  30.          return super.buf[this.field_1++] & 255;
  31.       } else {
  32.          return -1;
  33.       }
  34.    }
  35.  
  36.    // $FF: renamed from: ╞¿ (byte[], int, int) int
  37.    private int method_0(byte[] var1, int var2, int var3) {
  38.       if (this.field_1 >= this.field_0) {
  39.          return -1;
  40.       } else {
  41.          if (this.field_1 + var3 > this.field_0) {
  42.             var3 = this.field_0 - this.field_1;
  43.          }
  44.  
  45.          if (var3 <= 0) {
  46.             return 0;
  47.          } else {
  48.             System.arraycopy(super.buf, this.field_1, var1, var2, var3);
  49.             this.field_1 += var3;
  50.             return var3;
  51.          }
  52.       }
  53.    }
  54.  
  55.    public synchronized int read(byte[] var1, int var2, int var3) {
  56.       if (Flash.─É) {
  57.          return -1;
  58.       } else if (super.pos >= super.count) {
  59.          return -1;
  60.       } else {
  61.          if (super.pos + var3 > super.count) {
  62.             var3 = super.count - super.pos;
  63.          }
  64.  
  65.          if (var3 <= 0) {
  66.             return 0;
  67.          } else {
  68.             if (this.field_1 + var3 <= this.field_0) {
  69.                System.arraycopy(super.buf, this.field_1, var1, var2, var3);
  70.                this.field_1 += var3;
  71.             } else {
  72.                int var4 = 0;
  73.  
  74.                while(var4 < var3) {
  75.                   int var5 = this.method_0(var1, var2 + var4, var3 - var4);
  76.                   if (var5 >= 0) {
  77.                      var4 += var5;
  78.                   } else {
  79.                      this.field_1 = 0;
  80.                   }
  81.                }
  82.             }
  83.  
  84.             super.pos += var3;
  85.             return var3;
  86.          }
  87.       }
  88.    }
  89.  
  90.    public synchronized long skip(long var1) {
  91.       if (Flash.─É) {
  92.          return 0L;
  93.       } else {
  94.          if ((long)super.pos + var1 > (long)super.count) {
  95.             var1 = (long)(super.count - super.pos);
  96.          }
  97.  
  98.          if (var1 < 0L) {
  99.             return 0L;
  100.          } else {
  101.             super.pos = (int)((long)super.pos + var1);
  102.  
  103.             for(this.field_1 = (int)((long)this.field_1 + var1); this.field_1 >= this.field_0; this.field_1 -= this.field_0) {
  104.             }
  105.  
  106.             return var1;
  107.          }
  108.       }
  109.    }
  110.  
  111.    public synchronized int available() {
  112.       return Flash.─É ? 0 : super.count - super.pos;
  113.    }
  114.  
  115.    public synchronized void reset() {
  116.       this.field_1 = 0;
  117.       super.pos = 0;
  118.    }
  119.  
  120.    public static synchronized void StopAllStreams() {
  121.       Flash.─É = true;
  122.    }
  123. }
  124.