src/share/classes/com/sun/media/sound/DirectAudioDevice.java
Print this page
*** 92,102 ****
}
if (Printer.trace) Printer.trace("<< DirectAudioDevice: constructor completed");
}
private DirectDLI createDataLineInfo(boolean isSource) {
! Vector formats = new Vector();
AudioFormat[] hardwareFormatArray = null;
AudioFormat[] formatArray = null;
synchronized(formats) {
nGetFormats(getMixerIndex(), getDeviceID(),
--- 92,102 ----
}
if (Printer.trace) Printer.trace("<< DirectAudioDevice: constructor completed");
}
private DirectDLI createDataLineInfo(boolean isSource) {
! Vector<AudioFormat> formats = new Vector<>();
AudioFormat[] hardwareFormatArray = null;
AudioFormat[] formatArray = null;
synchronized(formats) {
nGetFormats(getMixerIndex(), getDeviceID(),
*** 105,115 ****
if (formats.size() > 0) {
int size = formats.size();
int formatArraySize = size;
hardwareFormatArray = new AudioFormat[size];
for (int i = 0; i < size; i++) {
! AudioFormat format = (AudioFormat)formats.elementAt(i);
hardwareFormatArray[i] = format;
int bits = format.getSampleSizeInBits();
boolean isSigned = format.getEncoding().equals(AudioFormat.Encoding.PCM_SIGNED);
boolean isUnsigned = format.getEncoding().equals(AudioFormat.Encoding.PCM_UNSIGNED);
if ((isSigned || isUnsigned)) {
--- 105,115 ----
if (formats.size() > 0) {
int size = formats.size();
int formatArraySize = size;
hardwareFormatArray = new AudioFormat[size];
for (int i = 0; i < size; i++) {
! AudioFormat format = formats.elementAt(i);
hardwareFormatArray[i] = format;
int bits = format.getSampleSizeInBits();
boolean isSigned = format.getEncoding().equals(AudioFormat.Encoding.PCM_SIGNED);
boolean isUnsigned = format.getEncoding().equals(AudioFormat.Encoding.PCM_UNSIGNED);
if ((isSigned || isUnsigned)) {
*** 263,273 ****
int getMaxSimulLines() {
return ((DirectAudioDeviceProvider.DirectAudioDeviceInfo) getMixerInfo()).getMaxSimulLines();
}
! private static void addFormat(Vector v, int bits, int frameSizeInBytes, int channels, float sampleRate,
int encoding, boolean signed, boolean bigEndian) {
AudioFormat.Encoding enc = null;
switch (encoding) {
case PCM:
enc = signed?AudioFormat.Encoding.PCM_SIGNED:AudioFormat.Encoding.PCM_UNSIGNED;
--- 263,273 ----
int getMaxSimulLines() {
return ((DirectAudioDeviceProvider.DirectAudioDeviceInfo) getMixerInfo()).getMaxSimulLines();
}
! private static void addFormat(Vector<AudioFormat> v, int bits, int frameSizeInBytes, int channels, float sampleRate,
int encoding, boolean signed, boolean bigEndian) {
AudioFormat.Encoding enc = null;
switch (encoding) {
case PCM:
enc = signed?AudioFormat.Encoding.PCM_SIGNED:AudioFormat.Encoding.PCM_UNSIGNED;
*** 336,346 ****
* for formats with wrong endianness.
*/
private static final class DirectDLI extends DataLine.Info {
final AudioFormat[] hardwareFormats;
! private DirectDLI(Class clazz, AudioFormat[] formatArray,
AudioFormat[] hardwareFormatArray,
int minBuffer, int maxBuffer) {
super(clazz, formatArray, minBuffer, maxBuffer);
this.hardwareFormats = hardwareFormatArray;
}
--- 336,346 ----
* for formats with wrong endianness.
*/
private static final class DirectDLI extends DataLine.Info {
final AudioFormat[] hardwareFormats;
! private DirectDLI(Class<?> clazz, AudioFormat[] formatArray,
AudioFormat[] hardwareFormatArray,
int minBuffer, int maxBuffer) {
super(clazz, formatArray, minBuffer, maxBuffer);
this.hardwareFormats = hardwareFormatArray;
}
*** 1455,1465 ****
return buf;
}
} // class DirectBAOS
!
private static native void nGetFormats(int mixerIndex, int deviceID,
boolean isSource, Vector formats);
private static native long nOpen(int mixerIndex, int deviceID, boolean isSource,
int encoding,
--- 1455,1465 ----
return buf;
}
} // class DirectBAOS
! @SuppressWarnings("rawtypes")
private static native void nGetFormats(int mixerIndex, int deviceID,
boolean isSource, Vector formats);
private static native long nOpen(int mixerIndex, int deviceID, boolean isSource,
int encoding,