org.tritonus.sampled.convert
Class SmartFormatConversionProvider

java.lang.Object
  extended by javax.sound.sampled.spi.FormatConversionProvider
      extended by org.tritonus.share.sampled.convert.TFormatConversionProvider
          extended by org.tritonus.sampled.convert.SmartFormatConversionProvider

public class SmartFormatConversionProvider
extends TFormatConversionProvider

"Smart" formatConversionProvider. This FormatConversionProvider tries to find combinations of other FormatConversionProviders so that the chain of these providers fulfill the request for a format conversion given to this provider.


Constructor Summary
SmartFormatConversionProvider()
           
 
Method Summary
 AudioInputStream getAudioInputStream(AudioFormat.Encoding targetEncoding, AudioInputStream audioInputStream)
           
 AudioInputStream getAudioInputStream(AudioFormat targetFormat, AudioInputStream audioInputStream)
           
 AudioFormat.Encoding[] getSourceEncodings()
           
 AudioFormat.Encoding[] getTargetEncodings()
           
 AudioFormat.Encoding[] getTargetEncodings(AudioFormat sourceFormat)
           
 AudioFormat[] getTargetFormats(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat)
           
 boolean isConversionSupported(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat)
          WARNING: this method uses getTargetEncodings(AudioFormat); which may create infinite loops if the latter is overwritten.
 boolean isConversionSupported(AudioFormat targetFormat, AudioFormat sourceFormat)
          WARNING: this method uses getTargetFormats(AudioFormat.Encoding, AudioFormat) which may create infinite loops if the latter is overwritten.
 
Methods inherited from class org.tritonus.share.sampled.convert.TFormatConversionProvider
getMatchingFormat
 
Methods inherited from class javax.sound.sampled.spi.FormatConversionProvider
isSourceEncodingSupported, isTargetEncodingSupported
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SmartFormatConversionProvider

public SmartFormatConversionProvider()
Method Detail

getSourceEncodings

public AudioFormat.Encoding[] getSourceEncodings()
Specified by:
getSourceEncodings in class FormatConversionProvider

getTargetEncodings

public AudioFormat.Encoding[] getTargetEncodings()
Specified by:
getTargetEncodings in class FormatConversionProvider

getTargetEncodings

public AudioFormat.Encoding[] getTargetEncodings(AudioFormat sourceFormat)
Specified by:
getTargetEncodings in class FormatConversionProvider

isConversionSupported

public boolean isConversionSupported(AudioFormat.Encoding targetEncoding,
                                     AudioFormat sourceFormat)
Description copied from class: FormatConversionProvider
WARNING: this method uses getTargetEncodings(AudioFormat); which may create infinite loops if the latter is overwritten.

Overrides:
isConversionSupported in class FormatConversionProvider

getTargetFormats

public AudioFormat[] getTargetFormats(AudioFormat.Encoding targetEncoding,
                                      AudioFormat sourceFormat)
Specified by:
getTargetFormats in class FormatConversionProvider

isConversionSupported

public boolean isConversionSupported(AudioFormat targetFormat,
                                     AudioFormat sourceFormat)
Description copied from class: TFormatConversionProvider
WARNING: this method uses getTargetFormats(AudioFormat.Encoding, AudioFormat) which may create infinite loops if the latter is overwritten.

This method is overwritten here to make use of org.tritonus.share.sampled.AudioFormats.matches and is considered temporary until AudioFormat.matches is corrected in the JavaSound API.

Overrides:
isConversionSupported in class TFormatConversionProvider

getAudioInputStream

public AudioInputStream getAudioInputStream(AudioFormat.Encoding targetEncoding,
                                            AudioInputStream audioInputStream)
Overrides:
getAudioInputStream in class TFormatConversionProvider

getAudioInputStream

public AudioInputStream getAudioInputStream(AudioFormat targetFormat,
                                            AudioInputStream audioInputStream)
Specified by:
getAudioInputStream in class FormatConversionProvider