home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / sound / sampled / DataLine$Info.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.2 KB  |  104 lines

  1. package javax.sound.sampled;
  2.  
  3. public class DataLine$Info extends Line.Info {
  4.    private AudioFormat[] formats;
  5.    private int minBufferSize;
  6.    private int maxBufferSize;
  7.  
  8.    public DataLine$Info(Class var1, AudioFormat[] var2, int var3, int var4) {
  9.       super(var1);
  10.       if (var2 == null) {
  11.          this.formats = new AudioFormat[0];
  12.       } else {
  13.          this.formats = var2;
  14.       }
  15.  
  16.       this.minBufferSize = var3;
  17.       this.maxBufferSize = var4;
  18.    }
  19.  
  20.    public DataLine$Info(Class var1, AudioFormat var2, int var3) {
  21.       super(var1);
  22.       if (var2 == null) {
  23.          this.formats = new AudioFormat[0];
  24.       } else {
  25.          AudioFormat[] var4 = new AudioFormat[]{var2};
  26.          this.formats = var4;
  27.       }
  28.  
  29.       this.minBufferSize = var3;
  30.       this.maxBufferSize = var3;
  31.    }
  32.  
  33.    public DataLine$Info(Class var1, AudioFormat var2) {
  34.       this(var1, var2, -1);
  35.    }
  36.  
  37.    public AudioFormat[] getFormats() {
  38.       AudioFormat[] var1 = new AudioFormat[this.formats.length];
  39.       System.arraycopy(this.formats, 0, var1, 0, this.formats.length);
  40.       return var1;
  41.    }
  42.  
  43.    public boolean isFormatSupported(AudioFormat var1) {
  44.       for(int var2 = 0; var2 < this.formats.length; ++var2) {
  45.          if (var1.matches(this.formats[var2])) {
  46.             return true;
  47.          }
  48.       }
  49.  
  50.       return false;
  51.    }
  52.  
  53.    public int getMinBufferSize() {
  54.       return this.minBufferSize;
  55.    }
  56.  
  57.    public int getMaxBufferSize() {
  58.       return this.maxBufferSize;
  59.    }
  60.  
  61.    public boolean matches(Line.Info var1) {
  62.       if (!super.matches(var1)) {
  63.          return false;
  64.       } else {
  65.          DataLine$Info var2 = (DataLine$Info)var1;
  66.          if (this.getMaxBufferSize() != -1 && var2.getMaxBufferSize() != -1 && this.getMaxBufferSize() > var2.getMaxBufferSize()) {
  67.             return false;
  68.          } else if (this.getMinBufferSize() != -1 && var2.getMinBufferSize() != -1 && this.getMinBufferSize() < var2.getMinBufferSize()) {
  69.             return false;
  70.          } else {
  71.             AudioFormat[] var3 = this.getFormats();
  72.             if (var3 != null) {
  73.                for(int var4 = 0; var4 < var3.length; ++var4) {
  74.                   if (var3[var4] != null && !var2.isFormatSupported(var3[var4])) {
  75.                      return false;
  76.                   }
  77.                }
  78.             }
  79.  
  80.             return true;
  81.          }
  82.       }
  83.    }
  84.  
  85.    public String toString() {
  86.       StringBuffer var1 = new StringBuffer();
  87.       if (this.formats.length == 1 && this.formats[0] != null) {
  88.          var1.append(" supporting format " + this.formats[0]);
  89.       } else if (this.getFormats().length > 1) {
  90.          var1.append(" supporting " + this.getFormats().length + " audio formats");
  91.       }
  92.  
  93.       if (this.minBufferSize != -1 && this.maxBufferSize != -1) {
  94.          var1.append(", and buffers of " + this.minBufferSize + " to " + this.maxBufferSize + " bytes");
  95.       } else if (this.minBufferSize != -1 && this.minBufferSize > 0) {
  96.          var1.append(", and buffers of at least " + this.minBufferSize + " bytes");
  97.       } else if (this.maxBufferSize != -1) {
  98.          var1.append(", and buffers of up to " + this.minBufferSize + " bytes");
  99.       }
  100.  
  101.       return new String(super.toString() + var1);
  102.    }
  103. }
  104.