org.tritonus.sampled.convert
Class SmartFormatConversionProvider

java.lang.Object
  extended byjavax.sound.sampled.spi.FormatConversionProvider
      extended byorg.tritonus.share.sampled.convert.TFormatConversionProvider
          extended byorg.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.

Author:
Matthias Pfisterer

Field Summary
 
Fields inherited from class org.tritonus.share.sampled.convert.TFormatConversionProvider
EMPTY_ENCODING_ARRAY, EMPTY_FORMAT_ARRAY
 
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)
           
 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
clone, equals, finalize, 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)
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