org.tritonus.sampled.convert
Class SampleRateConversionProvider

java.lang.Object
  extended byjavax.sound.sampled.spi.FormatConversionProvider
      extended byorg.tritonus.share.sampled.convert.TFormatConversionProvider
          extended byorg.tritonus.share.sampled.convert.TSimpleFormatConversionProvider
              extended byorg.tritonus.sampled.convert.SampleRateConversionProvider

public class SampleRateConversionProvider
extends TSimpleFormatConversionProvider

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

It does NOT:

Author:
Florian Bomers

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
           
 
Fields inherited from class org.tritonus.share.sampled.convert.TFormatConversionProvider
EMPTY_ENCODING_ARRAY, EMPTY_FORMAT_ARRAY
 
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
disable, doMatch, doMatch, getCollectionSourceEncodings, getCollectionSourceFormats, getCollectionTargetEncodings, getCollectionTargetFormats, getFrameSize, getSourceEncodings, getTargetEncodings, getTargetEncodings, isAllowedSourceEncoding, isAllowedSourceFormat, isAllowedTargetEncoding, isAllowedTargetFormat, isSourceEncodingSupported, isTargetEncodingSupported, replaceNotSpecified
 
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
clone, equals, finalize, 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