After normalising a particular audio file ("non-quadriga bwf.wav") in Xena then opening with the viewer, pressing play and then pressing pause results in the play button no longer appearing; the button stays as pause. This is reproducible with this file; which is too big to attach here.
Please test with a variety of files.
Tested with different audio files.
(attached are some input files which fail to play after normalization) This error is when using either Oracle Jre 1.7 or openJDK 1.7.
java.lang.IllegalArgumentException: unable to convert FLAC 96000.0 Hz, 24 bit, stereo, unknown frame size, unknown frame rate, to PCM_SIGNED 96000.0 Hz, 16 bit, stereo, 4 bytes/frame, little-endian
at org.kc7bfi.jflac.sound.spi.FlacFormatConversionProvider.getAudioInputStream(FlacFormatConversionProvider.java:298)
at au.gov.naa.digipres.xena.plugin.audio.AudioPlayerView.initAudioLine(AudioPlayerView.java:130)
at au.gov.naa.digipres.xena.plugin.audio.AudioPlayerView.access$400(AudioPlayerView.java:50)
at au.gov.naa.digipres.xena.plugin.audio.AudioPlayerView$1.actionPerformed(AudioPlayerView.java:95)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Fixed issues with OpenJDK 7 on master branch and assigned to Kirti to test. Note that in order to fix this I have removed the code that was stopping the audio from playing and instead am just stopping writing to the audio buffer. This means that there can be a short delay from when pause or stop is pressed until the actual audio stops playing (as the buffer empties). I have attempted to keep this to a maximum of one quarter of a second by sizing the buffer to a size for approximately this amount of data.
Tested with a variety of files with open jdk 7 and Sun jre. All tested ok.