JDK-4386052 : Looping a portion of a clip from a start point to an end point doesn't work.
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.sound
  • Affected Version: 1.4.0
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2000-11-03
  • Updated: 2004-03-25
  • Resolved: 2004-03-25
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
5.0 betaFixed
Looping a portion of a clip from a start point to an end point doesn't work.

1. load a clip
2. Invoke setLoopPoints passing a start point 0 and end point 100
3. Invoke loop(10) on the clip

Expected result: The subsection, (frames 0 - 100), play 10 times.
Actual result: The entire clip plays 10 times.

This contradicts published JavaDoc.
Code that demonstrates this behavior is attached.
This behavior was observed on both Solaris and Windows platforms.

jerry.barnes@eng 2001-01-29
Removed from Ladybird project as per request.
Although this bug applies Ladybird as well as Merlin, there are no engineering resources to address it in the Ladybird project timeframe.

CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: tiger-beta FIXED IN: tiger-beta INTEGRATED IN: tiger-beta

PUBLIC COMMENTS Looping a portion of a clip from a start point to an end point doesn't work.

EVALUATION ###@###.### 2002-11-02 The following problems exist: - the engine only allows loop points to be specified relative to the start position - the engine only allows the start position inside the loop interval - it would be very risky to change that behavior - without such a change, setting loop points would affect the start position and vice versa, which is not wanted - MixerClip (Java Sound Engine's class for Clip) does not define nSetLoopPoints to set the loop points after the device has been opened. Since the device is opened while setting the data with open(), all calls to setLoopPoints() are ignored. A fix is too risky because it requires a lot of changes in the Java Sound Engine with many potential side effects regarding MIDI synthesis. Direct audio renderers in Tiger will fix this automatically. ###@###.### 2003-08-23 Tried again to fix it, but the engine is too complicated in its loop handling. Is working correctly with direct audio drivers (ALSA/DirectSound/SolarisMixer). This is fixed with direct audio devices in 1.5. ###@###.### 2004-03-01