Package org.xiph.speex.ant
Class JSpeexDecoderTask
- java.lang.Object
-
- org.apache.tools.ant.ProjectComponent
-
- org.apache.tools.ant.Task
-
- org.xiph.speex.ant.JSpeexDecoderTask
-
- All Implemented Interfaces:
java.lang.Cloneable
public class JSpeexDecoderTask extends org.apache.tools.ant.TaskAntTaskto Decode an audio file from Speex to PCM Wave. Here is an usage example:- Version:
- $Revision: 1.2 $
- Author:
- Marc Gimpel, Wimba S.A. (mgimpel@horizonwimba.com)
-
-
Field Summary
Fields Modifier and Type Field Description private intchannelsIf input is raw, defines th number of channels (1=mono, 2=stereo).static java.lang.StringCOPYRIGHTCopyright display Stringstatic intDEBUGPrint level for messages : Print debug informationprivate java.io.FiledestDirDirectory to place destination filesprivate java.io.FiledestFileDestination file of decoded audioprivate intdestFormatDefines File format for output audio file (Raw or Wave).private booleanenhancedDefines whether or not the perceptual enhancement is used.static intERRORPrint level for messages : Print only errorsprivate booleanfailOnErrorstatic intFILE_FORMAT_OGGFile format for input or output audio file: Oggstatic intFILE_FORMAT_RAWFile format for input or output audio file: Rawstatic intFILE_FORMAT_WAVEFile format for input or output audio file: Wavestatic intINFOPrint level for messages : Print basic informationprivate intlossThe percentage of packets to lose in the packet loss simulation.private intmodeIf input is raw, defines the decoder mode (0=NB, 1=WB and 2-UWB).private intnframesIf input is raw, defines the number of frmaes per packet.private intprintlevelPrint level for messagesprivate intqualityIf input is raw, defines the quality setting used by the encoder.private booleanquietTells the task to suppress all but the most important outputprotected static java.util.RandomrandomRandom number generator for packet loss simulation.private intsampleRateIf input is raw, defines the sample rate of the audio.protected SpeexDecoderspeexDecoderSpeex Decoderprivate java.io.FilesrcFileSource file to decodeprivate java.util.VectorsrcFilesetList of source files to decodeprivate intsrcFormatDefines File format for input audio file (Raw, Ogg or Wave).private booleanvbrprivate floatvbr_qualityprivate booleanverboseTells the task to output as much information as possiblestatic java.lang.StringVERSIONVersion of the Speex Encoderstatic intWARNPrint level for messages : Print only warnings and errors
-
Constructor Summary
Constructors Constructor Description JSpeexDecoderTask()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddFileset(org.apache.tools.ant.types.FileSet set)Handles thefilesetchild element.private java.io.FilebuildDestFile(java.io.File srcFile)Builds and returns the destination file.voiddecode(java.io.File srcPath, java.io.File destPath)Decodes a spx file to wave.voidexecute()The method executing the task.protected static intreadInt(byte[] data, int offset)Converts Little Endian (Windows) bytes to an int (Java uses Big Endian).protected static intreadShort(byte[] data, int offset)Converts Little Endian (Windows) bytes to an short (Java uses Big Endian).private booleanreadSpeexHeader(byte[] packet, int offset, int bytes)Reads the header packet.voidsetDestdir(java.io.File dir)Handles thedestdirattribute.voidsetDestfile(java.io.File file)Handles thedestfileattribute.voidsetEnhanced(boolean enhanced)Handles theenhancedattribute.voidsetFailonerror(boolean failOnError)Handles thefailonerrorattribute.voidsetQuiet(boolean quiet)Handles thequietattribute.voidsetSrcfile(java.io.File file)Handles thesrcfileattribute.private voidsetupTask(java.io.File srcPath, java.io.File destPath)Setup some task variables.voidsetVerbose(boolean verbose)Handles theverboseattribute.voidversion()Prints the version.-
Methods inherited from class org.apache.tools.ant.Task
bindToOwner, getOwningTarget, getRuntimeConfigurableWrapper, getTaskName, getTaskType, getWrapper, handleErrorFlush, handleErrorOutput, handleFlush, handleInput, handleOutput, init, isInvalid, log, log, log, log, maybeConfigure, perform, reconfigure, setOwningTarget, setRuntimeConfigurableWrapper, setTaskName, setTaskType
-
-
-
-
Field Detail
-
VERSION
public static final java.lang.String VERSION
Version of the Speex Encoder- See Also:
- Constant Field Values
-
COPYRIGHT
public static final java.lang.String COPYRIGHT
Copyright display String- See Also:
- Constant Field Values
-
DEBUG
public static final int DEBUG
Print level for messages : Print debug information- See Also:
- Constant Field Values
-
INFO
public static final int INFO
Print level for messages : Print basic information- See Also:
- Constant Field Values
-
WARN
public static final int WARN
Print level for messages : Print only warnings and errors- See Also:
- Constant Field Values
-
ERROR
public static final int ERROR
Print level for messages : Print only errors- See Also:
- Constant Field Values
-
FILE_FORMAT_RAW
public static final int FILE_FORMAT_RAW
File format for input or output audio file: Raw- See Also:
- Constant Field Values
-
FILE_FORMAT_OGG
public static final int FILE_FORMAT_OGG
File format for input or output audio file: Ogg- See Also:
- Constant Field Values
-
FILE_FORMAT_WAVE
public static final int FILE_FORMAT_WAVE
File format for input or output audio file: Wave- See Also:
- Constant Field Values
-
random
protected static java.util.Random random
Random number generator for packet loss simulation.
-
speexDecoder
protected SpeexDecoder speexDecoder
Speex Decoder
-
srcFile
private java.io.File srcFile
Source file to decode
-
srcFileset
private final java.util.Vector srcFileset
List of source files to decode
-
destFile
private java.io.File destFile
Destination file of decoded audio
-
destDir
private java.io.File destDir
Directory to place destination files
-
failOnError
private boolean failOnError
-
printlevel
private int printlevel
Print level for messages
-
quiet
private boolean quiet
Tells the task to suppress all but the most important output
-
verbose
private boolean verbose
Tells the task to output as much information as possible
-
srcFormat
private int srcFormat
Defines File format for input audio file (Raw, Ogg or Wave).
-
destFormat
private int destFormat
Defines File format for output audio file (Raw or Wave).
-
enhanced
private boolean enhanced
Defines whether or not the perceptual enhancement is used.
-
mode
private int mode
If input is raw, defines the decoder mode (0=NB, 1=WB and 2-UWB).
-
quality
private int quality
If input is raw, defines the quality setting used by the encoder.
-
nframes
private int nframes
If input is raw, defines the number of frmaes per packet.
-
sampleRate
private int sampleRate
If input is raw, defines the sample rate of the audio.
-
vbr_quality
private float vbr_quality
-
vbr
private boolean vbr
-
channels
private int channels
If input is raw, defines th number of channels (1=mono, 2=stereo).
-
loss
private int loss
The percentage of packets to lose in the packet loss simulation.
-
-
Method Detail
-
execute
public void execute() throws org.apache.tools.ant.BuildExceptionThe method executing the task.- Overrides:
executein classorg.apache.tools.ant.Task- Throws:
org.apache.tools.ant.BuildException
-
buildDestFile
private java.io.File buildDestFile(java.io.File srcFile)
Builds and returns the destination file.- Parameters:
srcFile-- Returns:
- the destination file.
-
setupTask
private void setupTask(java.io.File srcPath, java.io.File destPath)Setup some task variables.- Parameters:
srcPath- the Speex encoded source file.destPath- the destination file.
-
addFileset
public void addFileset(org.apache.tools.ant.types.FileSet set)
Handles thefilesetchild element.- Parameters:
set-
-
setSrcfile
public void setSrcfile(java.io.File file)
Handles thesrcfileattribute.- Parameters:
file- the attribute value converted to a File.
-
setDestfile
public void setDestfile(java.io.File file)
Handles thedestfileattribute.- Parameters:
file- the attribute value converted to a File.
-
setDestdir
public void setDestdir(java.io.File dir)
Handles thedestdirattribute.- Parameters:
dir- the attribute value converted to a File.
-
setFailonerror
public void setFailonerror(boolean failOnError)
Handles thefailonerrorattribute.- Parameters:
failOnError- the attribute value converted to a boolean.
-
setQuiet
public void setQuiet(boolean quiet)
Handles thequietattribute.- Parameters:
quiet- the attribute value converted to a boolean.
-
setVerbose
public void setVerbose(boolean verbose)
Handles theverboseattribute.- Parameters:
verbose- the attribute value converted to a boolean.
-
setEnhanced
public void setEnhanced(boolean enhanced)
Handles theenhancedattribute.- Parameters:
enhanced- the attribute value converted to a boolean.
-
version
public void version()
Prints the version.
-
decode
public void decode(java.io.File srcPath, java.io.File destPath) throws java.io.IOExceptionDecodes a spx file to wave.- Parameters:
srcPath- the Speex encoded source file.destPath- the destination file.- Throws:
java.io.IOException
-
readSpeexHeader
private boolean readSpeexHeader(byte[] packet, int offset, int bytes)Reads the header packet.0 - 7: speex_string: "Speex " 8 - 27: speex_version: "speex-1.0" 28 - 31: speex_version_id: 1 32 - 35: header_size: 80 36 - 39: rate 40 - 43: mode: 0=narrowband, 1=wb, 2=uwb 44 - 47: mode_bitstream_version: 4 48 - 51: nb_channels 52 - 55: bitrate: -1 56 - 59: frame_size: 160 60 - 63: vbr 64 - 67: frames_per_packet 68 - 71: extra_headers: 0 72 - 75: reserved1 76 - 79: reserved2
- Parameters:
packet-offset-bytes-- Returns:
- true if the Speex header was successfully parsed, false otherwise.
-
readInt
protected static int readInt(byte[] data, int offset)Converts Little Endian (Windows) bytes to an int (Java uses Big Endian).- Parameters:
data- the data to read.offset- the offset from which to start reading.- Returns:
- the integer value of the reassembled bytes.
-
readShort
protected static int readShort(byte[] data, int offset)Converts Little Endian (Windows) bytes to an short (Java uses Big Endian).- Parameters:
data- the data to read.offset- the offset from which to start reading.- Returns:
- the integer value of the reassembled bytes.
-
-