public abstract class TSimpleFormatConversionProvider extends TFormatConversionProvider
Overriding classes must
provide a constructor that calls the protected constructor of this class and override
AudioInputStream getAudioInputStream(AudioFormat targetFormat, AudioInputStream sourceStream).
The latter method should be able to handle the case that all fields are NOT_SPECIFIED
and provide appropriate default values.
EMPTY_ENCODING_ARRAY, EMPTY_FORMAT_ARRAY| Modifier | Constructor and Description |
|---|---|
protected |
TSimpleFormatConversionProvider(Collection<AudioFormat> sourceFormats,
Collection<AudioFormat> targetFormats) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
disable()
Disables this FormatConversionProvider.
|
protected static boolean |
doMatch(float f1,
float f2) |
protected static boolean |
doMatch(int i1,
int i2)
Utility method to check whether these values match,
taking into account AudioSystem.NOT_SPECIFIED.
|
protected Collection<AudioFormat.Encoding> |
getCollectionSourceEncodings() |
protected Collection<AudioFormat> |
getCollectionSourceFormats() |
protected Collection<AudioFormat.Encoding> |
getCollectionTargetEncodings() |
protected Collection<AudioFormat> |
getCollectionTargetFormats() |
protected int |
getFrameSize(AudioFormat.Encoding encoding,
float sampleRate,
int sampleSize,
int channels,
float frameRate,
boolean bigEndian,
int oldFrameSize)
Calculates the frame size for the given format description.
|
AudioFormat.Encoding[] |
getSourceEncodings() |
AudioFormat.Encoding[] |
getTargetEncodings() |
AudioFormat.Encoding[] |
getTargetEncodings(AudioFormat sourceFormat)
This implementation assumes that the converter can convert
from each of its source encodings to each of its target
encodings.
|
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.
|
protected boolean |
isAllowedSourceEncoding(AudioFormat.Encoding sourceEncoding) |
protected boolean |
isAllowedSourceFormat(AudioFormat sourceFormat) |
protected boolean |
isAllowedTargetEncoding(AudioFormat.Encoding targetEncoding) |
protected boolean |
isAllowedTargetFormat(AudioFormat targetFormat) |
boolean |
isSourceEncodingSupported(AudioFormat.Encoding sourceEncoding) |
boolean |
isTargetEncodingSupported(AudioFormat.Encoding targetEncoding) |
protected AudioFormat |
replaceNotSpecified(AudioFormat sourceFormat,
AudioFormat targetFormat)
Utility method, replaces all occurences of AudioSystem.NOT_SPECIFIED
in
targetFormat with the corresponding value in sourceFormat. |
getAudioInputStream, getMatchingFormat, isConversionSupportedgetAudioInputStream, isConversionSupportedprotected TSimpleFormatConversionProvider(Collection<AudioFormat> sourceFormats, Collection<AudioFormat> targetFormats)
protected void disable()
public AudioFormat.Encoding[] getSourceEncodings()
getSourceEncodings in class FormatConversionProviderpublic AudioFormat.Encoding[] getTargetEncodings()
getTargetEncodings in class FormatConversionProviderpublic boolean isSourceEncodingSupported(AudioFormat.Encoding sourceEncoding)
isSourceEncodingSupported in class FormatConversionProviderpublic boolean isTargetEncodingSupported(AudioFormat.Encoding targetEncoding)
isTargetEncodingSupported in class FormatConversionProviderpublic AudioFormat.Encoding[] getTargetEncodings(AudioFormat sourceFormat)
getTargetEncodings in class FormatConversionProviderpublic AudioFormat[] getTargetFormats(AudioFormat.Encoding targetEncoding, AudioFormat sourceFormat)
getTargetFormats in class FormatConversionProviderprotected boolean isAllowedSourceEncoding(AudioFormat.Encoding sourceEncoding)
protected boolean isAllowedTargetEncoding(AudioFormat.Encoding targetEncoding)
protected boolean isAllowedSourceFormat(AudioFormat sourceFormat)
protected boolean isAllowedTargetFormat(AudioFormat targetFormat)
protected Collection<AudioFormat.Encoding> getCollectionSourceEncodings()
protected Collection<AudioFormat.Encoding> getCollectionTargetEncodings()
protected Collection<AudioFormat> getCollectionSourceFormats()
protected Collection<AudioFormat> getCollectionTargetFormats()
protected static boolean doMatch(int i1,
int i2)
protected static boolean doMatch(float f1,
float f2)
doMatch(int,int)protected AudioFormat replaceNotSpecified(AudioFormat sourceFormat, AudioFormat targetFormat)
targetFormat with the corresponding value in sourceFormat.
If targetFormat does not contain any fields with AudioSystem.NOT_SPECIFIED,
it is returned unmodified. The endian-ness and encoding remain the same in all cases.
If any of the fields is AudioSystem.NOT_SPECIFIED in both sourceFormat and
targetFormat, it will remain not specified.
This method uses getFrameSize(...) (see below) to set the new frameSize,
if a new AudioFormat instance is created.
This method isn't used in TSimpleFormatConversionProvider - it is solely there for inheriting classes.
protected int getFrameSize(AudioFormat.Encoding encoding, float sampleRate, int sampleSize, int channels, float frameRate, boolean bigEndian, int oldFrameSize)
sampleSize or channels is AudioSystem.NOT_SPECIFIED,
otherwise sampleSize*channels/8 is returned.
If this does not reflect the way to calculate the right frame size, inheriting classes should overwrite this method if they use replaceNotSpecified(...). It is not used elsewhere in this class.
Copyright © 2016. All Rights Reserved.