ok, got it.

Approved.

--alex

On 26.02.2016 18:20, Sergey Bylokhov wrote:
Hi, Alex.
Thanks for review.

We have the same issue in most of our readers and writers(for ex
WaveFileWriter.java:198). In general our code in lots of place works
incorrectly when we convert unsigned integer to long/int and back.
I'll fix it in: https://bugs.openjdk.java.net/browse/JDK-6729836

On 26.02.16 17:55, Alex Menkov wrote:
Hi Sergey,

Overall looks good, but could you please fix possible int overflow in
AuFileWriter.java:

  165         int fileSize;
  166         if (stream.getFrameLength() != AudioSystem.NOT_SPECIFIED) {
  167             fileSize =
(int)stream.getFrameLength()*streamFormat.getFrameSize() +
AuFileFormat.AU_HEADERSIZE;
  168         } else {
  169             fileSize = AudioSystem.NOT_SPECIFIED;
  170         }
  171
  172         return new AuFileFormat(Type.AU, fileSize, format,
  173                                 (int) stream.getFrameLength());

--alex

On 26.02.2016 16:17, Sergey Bylokhov wrote:
Hello, Audio Guru.

Please review the small fix for jdk9.

According to specification [1] AU file format can contains the data in
the float encoding. When support of AU was added to the jdk the float
encoding was not supported. But in jdk 7 PCM_FLOAT was added(for WAV)
and it can be reused for AU as well.

Changes description:
  1) AuFileFormat.java/AuFileReader.java: the pcm_float was added to the
switches.
  2) AuFileWriter.java:
    - The "if" statement in getAudioFileFormat() was reworked. Its
purpose was to change the type PCM_UNSIGNED to PCM_SIGNED(because au
support only signed pcm). But it was written in some strange manner.
Note that this method returns the type which should be used in the saved
audio file.
    - In the getFileStream() I removed the checks and always converts
the input stream to the AudioFileFormat which was returned from the
getAudioFileFormat() and the AudioSystem.getAudioInputStream() will
recognize conversion is needed or not

[1] http://www-mmsp.ece.mcgill.ca/documents/audioformats/AU/AU.html

Bug: https://bugs.openjdk.java.net/browse/JDK-8146239
Webrev can be found at:
http://cr.openjdk.java.net/~serb/8146239/webrev.00



Reply via email to