SIP Communicator: the OpenSource Java VoIP and Instant Messaging client.

net.java.sip.communicator.impl.media.transform
Class TransformInputStream

java.lang.Object
  extended by net.java.sip.communicator.impl.media.RTPConnectorInputStream
      extended by net.java.sip.communicator.impl.media.transform.TransformInputStream
All Implemented Interfaces:
Runnable, javax.media.Controls, javax.media.protocol.PushSourceStream, javax.media.protocol.SourceStream

public class TransformInputStream
extends RTPConnectorInputStream

TransformInputStream implements PushSourceStream. It is used by RTPManager to receive RTP/RTCP packet datas. In this implementation, we use UDP sockets to receive RTP/RTCP. We listen on the address / port specified by local session address. When one packet is received, it is first reverse transformed through PacketTransformer defined by user. And then returned as normal RTP/RTCP packets to RTPManager.

Author:
Bing SU (nova.su@gmail.com), Lubomir Marinov

Field Summary
 
Fields inherited from interface javax.media.protocol.SourceStream
LENGTH_UNKNOWN
 
Constructor Summary
TransformInputStream(DatagramSocket socket, PacketTransformer transformer)
          Construct a TransformInputStream based on the receiving socket and PacketTransformer
 
Method Summary
protected  RawPacket createRawPacket(DatagramPacket datagramPacket)
          Creates a new RawPacket from a specific DatagramPacket in order to have this instance receive its packet data through its RTPConnectorInputStream.read(byte[], int, int) method.
 
Methods inherited from class net.java.sip.communicator.impl.media.RTPConnectorInputStream
close, endOfStream, getContentDescriptor, getContentLength, getControl, getControls, getMinimumTransferSize, read, run, setTransferHandler
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TransformInputStream

public TransformInputStream(DatagramSocket socket,
                            PacketTransformer transformer)
Construct a TransformInputStream based on the receiving socket and PacketTransformer

Parameters:
socket - data receiving socket
transformer - packet transformer used
Method Detail

createRawPacket

protected RawPacket createRawPacket(DatagramPacket datagramPacket)
Description copied from class: RTPConnectorInputStream
Creates a new RawPacket from a specific DatagramPacket in order to have this instance receive its packet data through its RTPConnectorInputStream.read(byte[], int, int) method. Allows extenders to intercept the packet data and possibly filter and/or modify it.

Overrides:
createRawPacket in class RTPConnectorInputStream
Parameters:
datagramPacket - the DatagramPacket containing the packet data
Returns:
a new RawPacket containing the packet data of the specified DatagramPacket or possibly its modification; null to ignore the packet data of the specified DatagramPacket and not make it available to this instance through its RTPConnectorInputStream.read(byte[], int, int) method

SIP Communicator: the OpenSource Java VoIP and Instant Messaging client.

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