Class ControlTransformInputStream
- java.lang.Object
-
- org.jitsi.impl.neomedia.RTPConnectorInputStream<T>
-
- org.jitsi.impl.neomedia.transform.TransformInputStream<DatagramSocket>
-
- org.jitsi.impl.neomedia.RTPConnectorUDPInputStream
-
- org.jitsi.impl.neomedia.transform.ControlTransformInputStream
-
- All Implemented Interfaces:
Closeable,AutoCloseable,javax.media.Controls,javax.media.protocol.Controls,javax.media.protocol.PushSourceStream,javax.media.protocol.SourceStream
public class ControlTransformInputStream extends RTPConnectorUDPInputStream
Implement control channel (RTCP) for TransformInputStream which notify listeners when RTCP feedback messages are received.- Author:
- Bing SU (nova.su@gmail.com), Lyubomir Marinov, Sebastien Vincent
-
-
Field Summary
-
Fields inherited from class org.jitsi.impl.neomedia.RTPConnectorInputStream
PACKET_RECEIVE_BUFFER_LENGTH, SO_RCVBUF_PNAME, socket
-
-
Constructor Summary
Constructors Constructor Description ControlTransformInputStream(DatagramSocket socket)Initializes a new ControlTransformInputStream which is to receive packet data from a specific UDP socket.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddRTCPFeedbackMessageListener(RTCPFeedbackMessageListener listener)Adds an RTCPFeedbackMessageListener.protected intread(javax.media.Buffer buffer, byte[] data, int offset, int length)Copies the content of the most recently received packet into data.voidremoveRTCPFeedbackMessageListener(RTCPFeedbackMessageListener listener)Removes an RTCPFeedbackMessageListener.-
Methods inherited from class org.jitsi.impl.neomedia.RTPConnectorUDPInputStream
doLogPacket, receive, setReceiveBufferSize
-
Methods inherited from class org.jitsi.impl.neomedia.transform.TransformInputStream
createRawPacket, getTransformer, setTransformer
-
Methods inherited from class org.jitsi.impl.neomedia.RTPConnectorInputStream
addDatagramPacketFilter, close, endOfStream, getContentDescriptor, getContentLength, getControl, getControls, getDatagramPacketFilters, getLastActivityTime, getMinimumTransferSize, getNumberOfReceivedBytes, getPacketLoggingService, read, setEnabled, setPriority, setThreadPriority, setTransferHandler
-
-
-
-
Constructor Detail
-
ControlTransformInputStream
public ControlTransformInputStream(DatagramSocket socket)
Initializes a new ControlTransformInputStream which is to receive packet data from a specific UDP socket.- Parameters:
socket- the UDP socket the new instance is to receive data from
-
-
Method Detail
-
addRTCPFeedbackMessageListener
public void addRTCPFeedbackMessageListener(RTCPFeedbackMessageListener listener)
Adds an RTCPFeedbackMessageListener.- Parameters:
listener- the RTCPFeedbackMessageListener to add
-
removeRTCPFeedbackMessageListener
public void removeRTCPFeedbackMessageListener(RTCPFeedbackMessageListener listener)
Removes an RTCPFeedbackMessageListener.- Parameters:
listener- the RTCPFeedbackMessageListener to remove
-
read
protected int read(javax.media.Buffer buffer, byte[] data, int offset, int length) throws IOExceptionCopies the content of the most recently received packet into data.- Overrides:
readin classRTPConnectorInputStream<DatagramSocket>- Parameters:
buffer- an optional Buffer instance associated with the specified data, offset and length and provided to the method in case the implementation would like to provide additional Buffer properties such as flagsdata- the byte[] that we'd like to copy the content of the packet to.offset- the position where we are supposed to start writing in data.length- the number of bytes available for writing in data.- Returns:
- the number of bytes read
- Throws:
IOException- if length is less than the size of the packet.
-
-