org.tritonus.sampled.convert
Class SampleRateConversionProvider

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

public class SampleRateConversionProvider
extends TSimpleFormatConversionProvider

This provider converts sample rate of 2 PCM streams.
It does:

It does NOT:


Nested Class Summary
static class SampleRateConversionProvider.SampleRateConverterStream
          SampleRateConverterStream
static class SampleRateConversionProvider.SRCAudioFormat
          Obviously, this class is used to be able to set the frame rate/sample rate after the AudioFormat object has been created.
 
Field Summary
static AudioFormat.Encoding PCM_SIGNED
           
static AudioFormat.Encoding PCM_UNSIGNED
           
 
Constructor Summary
SampleRateConversionProvider()
          Constructor.
 
Method Summary
 AudioInputStream getAudioInputStream(AudioFormat targetFormat, AudioInputStream sourceStream)
           
 AudioFormat[] getTargetFormats(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat)
          This implementation assumes that the converter can convert from each of its source formats to each of its target formats.
 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.TSimpleFormatConversionProvider
getSourceEncodings, getTargetEncodings, getTargetEncodings, isSourceEncodingSupported, isTargetEncodingSupported
 
Methods inherited from class org.tritonus.share.sampled.convert.TFormatConversionProvider
getAudioInputStream, getMatchingFormat
 
Methods inherited from class javax.sound.sampled.spi.FormatConversionProvider
isConversionSupported
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PCM_SIGNED

public static AudioFormat.Encoding PCM_SIGNED

PCM_UNSIGNED

public static AudioFormat.Encoding PCM_UNSIGNED
Constructor Detail

SampleRateConversionProvider

public SampleRateConversionProvider()
Constructor.

Method Detail

getAudioInputStream

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

getTargetFormats

public AudioFormat[] getTargetFormats(AudioFormat.Encoding targetEncoding,
                                      AudioFormat sourceFormat)
Description copied from class: TSimpleFormatConversionProvider
This implementation assumes that the converter can convert from each of its source formats to each of its target formats. If this is not the case, the converter has to override this method.

Overrides:
getTargetFormats in class TSimpleFormatConversionProvider

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