JDK-4776511 : RFE: Setting the default MixerProvider
  • Type: Enhancement
  • Component: client-libs
  • Sub-Component: javax.sound
  • Affected Version: 1.4.1
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2002-11-09
  • Updated: 2017-05-16
  • Resolved: 2003-09-27
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 tigerFixed
Related Reports
Duplicate :  
Relates :  
Relates :  

Name: fb126949			Date: 11/08/2002

Currently, Java Sound uses a default mixer provider when you do not specify a specific Mixer. The spec does not define how this default mixer provider is chosen. 3rd party plugins can provide custom MixerProvider implementations, which will be taken as default in 1.4.2 (the last found provider will be used as default). However, it is impossible to use one of the provided MixerProviders that ship with Java Sound, e.g. to allow binary Java programs benefit of new functionality of secondary MixerProviders (e.g. ALSA on Linux).

The solution is to use a system property, similar as explained in the documentation of the method provider()in class java.nio.channels.spi.SelectorProvider. The system property would be named "javax.sound.sampled.spi.MixerProvider" and its content would be the fully qualified classpath of the class to be used as default mixer provider. If the specified default mixer provider class is not accessible, or does not exist, the system property will be ignored.

Such a mechanism allows portable code to use special features. It is also fully backwards and forward compatible: it integrates easily with the planned extension to Java Sound's service provider mechanism in 1.5.0 (see 4666881: RFE: Add methods to load and unload service providers at runtime).

This RFE applies equally to MidiDeviceProvider.


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

WORK AROUND ###@###.### 2002-11-08 Currently, the only way of setting the default service provider is by putting a jar containing it and its service provider configuration file into the bootclasspath with the non-portable -X parameter to the java executable. This workaround is unusable for deployment of actual products like FreeTTS.

SUGGESTED FIX see http://bome/Webrevs/Mantis/4776511-DefaultMixer/

PUBLIC COMMENTS RFE: Setting the default MixerProvider

EVALUATION ###@###.### 2002-11-08 Would be nice to have in Mantis.