On Wed, 7 May 2025 20:47:16 GMT, Phil Race <p...@openjdk.org> wrote: >> A simple API to replace java.applet.AudioClip >> >> CSR is now created : https://bugs.openjdk.org/browse/JDK-8356200 > > Phil Race has updated the pull request incrementally with one additional > commit since the last revision: > > 8356049
Looks good to me except for a few nits. I guess you should also update the copyright years in modified files. src/java.desktop/share/classes/com/sun/media/sound/DataPusher.java line 97: > 95: public boolean isPlaying() { > 96: return threadState == STATE_PLAYING; > 97: } I still think the `isPlaying` should be declared `synchronized`. You resolved my previous comment but nothing's changed in the code. src/java.desktop/share/classes/com/sun/media/sound/JavaSoundAudioClip.java line 119: > 117: clip.init(url.openStream()); > 118: } catch (final Exception ignored) { > 119: // Playing the clip will be a no-op if an exception occurred > in inititialization. Suggestion: // Playing the clip will be a no-op if an exception occurred in initialization. src/java.desktop/share/classes/javax/sound/SoundClip.java line 52: > 50: * Creates a {@code SoundClip} instance which will play a clip from > the supplied file. > 51: * > 52: * If the file does not contain recognizable and supported sound > data, or If the two sentences are intended to be in one paragraph, I strongly suggest removing the blank line between them. Otherwise, the blank line in the javadoc source hints that the second sentence should be in its own paragraph. src/java.desktop/share/classes/javax/sound/package-info.java line 32: > 30: * Capture, processing and playback of sampled audio data is under {@link > javax.sound.sampled}. > 31: * <p> > 32: * Sequencing, and synthesis of MIDI (Musical Instrument Digital > Interface) data is under {@link javax.sound.midi}. The description fits into an unordered list. Suggestion: * The API is divided into sub-packages: * <ul> * <li>Capture, processing and playback of sampled audio data is under {@link javax.sound.sampled}. * <li>Sequencing, and synthesis of MIDI (Musical Instrument Digital Interface) data is under {@link javax.sound.midi}. * </ul> The resulting text could be clearer and easier to skim quickly: > The API is divided into sub-packages: > * Capture, processing and playback of sampled audio data is under `javax. > sound. sampled`. > * Sequencing, and synthesis of MIDI (Musical Instrument Digital Interface) > data is under `javax. sound. midi`. test/jdk/javax/sound/SoundClip/SoundClipTest.java line 74: > 72: playing = false; > 73: break; > 74: } Suggestion: if (clip.isPlaying()) { playing = false; } Since you removed the `break` statement from the loop above, this one needs to go too for consistency. test/jdk/javax/sound/SoundClip/SoundClipTest.java line 91: > 89: * on the system. > 90: */ > 91: public static boolean isSoundcardInstalled() { Suggestion: /** * Returns true if at least one soundcard is correctly installed * on the system. */ public static boolean isSoundcardInstalled() { The start of the comment is misaligned. ------------- Changes requested by aivanov (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/24991#pullrequestreview-2828804099 PR Review Comment: https://git.openjdk.org/jdk/pull/24991#discussion_r2081937814 PR Review Comment: https://git.openjdk.org/jdk/pull/24991#discussion_r2081976115 PR Review Comment: https://git.openjdk.org/jdk/pull/24991#discussion_r2081955900 PR Review Comment: https://git.openjdk.org/jdk/pull/24991#discussion_r2081966734 PR Review Comment: https://git.openjdk.org/jdk/pull/24991#discussion_r2081992607 PR Review Comment: https://git.openjdk.org/jdk/pull/24991#discussion_r2081993946