Jitsi: the OpenSource Java VoIP and Instant Messaging client.

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

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.JNIDecoder
All Implemented Interfaces:
javax.media.Codec, javax.media.Controls, javax.media.PlugIn

public class JNIDecoder
extends AbstractCodecExt

Implements a Speex decoder and RTP depacketizer using the native Speex library.

Author:
Lubomir 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
JNIDecoder()
          Initializes a new JNIDecoder 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)
          Decodes Speex media from a specific input Buffer
protected  javax.media.Format[] getMatchingOutputFormats(javax.media.Format inputFormat)
          Get all supported output Formats.
 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

JNIDecoder

public JNIDecoder()
Initializes a new JNIDecoder 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)
Decodes Speex media from a specific input Buffer

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

getMatchingOutputFormats

protected javax.media.Format[] getMatchingOutputFormats(javax.media.Format inputFormat)
Get all supported output Formats.

Overrides:
getMatchingOutputFormats in class AbstractCodecExt
Parameters:
inputFormat - input Format to determine corresponding output Format/tt>s
Returns:
array of supported 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.