Jitsi: the OpenSource Java VoIP and Instant Messaging client.

net.java.sip.communicator.impl.neomedia.codec.audio.speex
Class SpeexResampler

java.lang.Object
  extended by net.sf.fmj.media.AbstractControls
      extended by net.sf.fmj.media.AbstractPlugIn
          extended by net.sf.fmj.media.AbstractCodec
              extended by net.java.sip.communicator.impl.neomedia.codec.AbstractCodecExt
                  extended by net.java.sip.communicator.impl.neomedia.codec.audio.speex.SpeexResampler
All Implemented Interfaces:
javax.media.Codec, javax.media.Controls, javax.media.PlugIn

public class SpeexResampler
extends AbstractCodecExt

Implements an audio resampler using Speex.

Author:
Lyubomir Marinov

Field Summary
 
Fields inherited from class net.sf.fmj.media.AbstractCodec
inputFormat, inputFormats, opened, outputFormat
 
Fields inherited from interface javax.media.PlugIn
BUFFER_PROCESSED_FAILED, BUFFER_PROCESSED_OK, INPUT_BUFFER_NOT_CONSUMED, OUTPUT_BUFFER_NOT_FILLED, PLUGIN_TERMINATED
 
Constructor Summary
SpeexResampler()
          Initializes a new SpeexResampler instance.
 
Method Summary
protected  void doClose()
           
protected  void doOpen()
          Opens this Codec and acquires the resources that it needs to operate.
protected  int doProcess(javax.media.Buffer inputBuffer, javax.media.Buffer outputBuffer)
          Resamples audio from a specific input Buffer into a specific output Buffer.
protected  javax.media.Format[] getMatchingOutputFormats(javax.media.Format inputFormat)
          Get the output formats matching a specific input format.
 javax.media.Format setInputFormat(javax.media.Format format)
          Sets the Format of the media data to be input for processing in this Codec.
 
Methods inherited from class net.java.sip.communicator.impl.neomedia.codec.AbstractCodecExt
close, discardOutputBuffer, getName, getSupportedOutputFormats, matches, open, process, setOutputFormat, updateOutput, validateByteArraySize, validateShortArraySize
 
Methods inherited from class net.sf.fmj.media.AbstractCodec
checkInputBuffer, dump, getInputFormat, getOutputFormat, getSupportedInputFormats, isEOM, propagateEOM
 
Methods inherited from class net.sf.fmj.media.AbstractPlugIn
reset
 
Methods inherited from class net.sf.fmj.media.AbstractControls
addControl, getControl, getControls, removeControl
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.media.PlugIn
reset
 
Methods inherited from interface javax.media.Controls
getControl, getControls
 

Constructor Detail

SpeexResampler

public SpeexResampler()
Initializes a new SpeexResampler instance.

Method Detail

doClose

protected void doClose()
Specified by:
doClose in class AbstractCodecExt
See Also:
AbstractCodecExt.doClose()

doOpen

protected void doOpen()
               throws javax.media.ResourceUnavailableException
Opens this Codec and acquires the resources that it needs to operate. A call to PlugIn.open() on this instance will result in a call to doOpen only if AbstractCodec.opened is false. All required input and/or output formats are assumed to have been set on this Codec before doOpen is called.

Specified by:
doOpen in class AbstractCodecExt
Throws:
javax.media.ResourceUnavailableException - if any of the resources that this Codec needs to operate cannot be acquired
See Also:
AbstractCodecExt.doOpen()

doProcess

protected int doProcess(javax.media.Buffer inputBuffer,
                        javax.media.Buffer outputBuffer)
Resamples audio from a specific input Buffer into a specific output Buffer.

Specified by:
doProcess in class AbstractCodecExt
Parameters:
inputBuffer - input Buffer
outputBuffer - output Buffer
Returns:
BUFFER_PROCESSED_OK if inputBuffer has been successfully processed
See Also:
AbstractCodecExt.doProcess(Buffer, Buffer)

getMatchingOutputFormats

protected javax.media.Format[] getMatchingOutputFormats(javax.media.Format inputFormat)
Get the output formats matching a specific input format.

Overrides:
getMatchingOutputFormats in class AbstractCodecExt
Parameters:
inputFormat - the input format to get the matching output formats of
Returns:
the output formats matching the specified input format
See Also:
AbstractCodecExt.getMatchingOutputFormats(Format)

setInputFormat

public javax.media.Format setInputFormat(javax.media.Format format)
Sets the Format of the media data to be input for processing in this Codec.

Specified by:
setInputFormat in interface javax.media.Codec
Overrides:
setInputFormat in class AbstractCodecExt
Parameters:
format - the Format of the media data to be input for processing in this Codec
Returns:
the Format of the media data to be input for processing in this Codec if format is compatible with this Codec; otherwise, null
See Also:
AbstractCodecExt.setInputFormat(Format)

Jitsi: the OpenSource Java VoIP and Instant Messaging client.

Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under LGPL license.