public class RTMPProtocolEncoder extends Object implements Constants, IEventEncoder
| Modifier and Type | Field and Description |
|---|---|
protected static org.slf4j.Logger |
log |
protected Serializer |
serializer
Serializer object.
|
HANDSHAKE_SIZE, HEADER_CONTINUE, HEADER_NEW, HEADER_SAME_SOURCE, HEADER_TIMER_CHANGE, MEDIUM_INT_MAX, SO_CLIENT_CLEAR_DATA, SO_CLIENT_DELETE_DATA, SO_CLIENT_INITIAL_DATA, SO_CLIENT_SEND_MESSAGE, SO_CLIENT_STATUS, SO_CLIENT_UPDATE_ATTRIBUTE, SO_CLIENT_UPDATE_DATA, SO_CONNECT, SO_DELETE_ATTRIBUTE, SO_DISCONNECT, SO_SEND_MESSAGE, SO_SET_ATTRIBUTE, SOURCE_TYPE_LIVE, SOURCE_TYPE_VOD, TYPE_ABORT, TYPE_AGGREGATE, TYPE_AUDIO_DATA, TYPE_BYTES_READ, TYPE_CHUNK_SIZE, TYPE_CLIENT_BANDWIDTH, TYPE_EDGE_ORIGIN, TYPE_FLEX_MESSAGE, TYPE_FLEX_SHARED_OBJECT, TYPE_FLEX_STREAM_SEND, TYPE_INVOKE, TYPE_NOTIFY, TYPE_PING, TYPE_SERVER_BANDWIDTH, TYPE_SHARED_OBJECT, TYPE_STREAM_METADATA, TYPE_VIDEO_DATA| Constructor and Description |
|---|
RTMPProtocolEncoder() |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
dropMessage(RTMP rtmp,
int channelId,
IRTMPEvent message)
Determine if this message should be dropped for lateness.
|
IoBuffer |
encode(ProtocolState state,
Object message)
Encodes object with given protocol state to byte buffer
|
IoBuffer |
encodeAggregate(Aggregate aggregate)
Encodes Aggregate event to byte buffer.
|
IoBuffer |
encodeAudioData(AudioData audioData)
Encodes AudioData event to byte buffer.
|
IoBuffer |
encodeBytesRead(BytesRead bytesRead)
Encodes BytesRead event to byte buffer.
|
IoBuffer |
encodeChunkSize(ChunkSize chunkSize)
Encodes ChunkSize event to byte buffer.
|
IoBuffer |
encodeFlexMessage(FlexMessage msg,
RTMP rtmp)
Encodes Flex message event.
|
IoBuffer |
encodeFlexSharedObject(ISharedObjectMessage so,
RTMP rtmp)
Encodes SharedObjectMessage event to byte buffer using AMF3 encoding.
|
IoBuffer |
encodeFlexStreamSend(FlexStreamSend msg) |
IoBuffer |
encodeHeader(RTMP rtmp,
Header header,
Header lastHeader)
Encode RTMP header.
|
void |
encodeHeader(RTMP rtmp,
Header header,
Header lastHeader,
IoBuffer buf)
Encode RTMP header into given IoBuffer.
|
IoBuffer |
encodeInvoke(Invoke invoke,
RTMP rtmp)
Encodes Invoke event to byte buffer.
|
IoBuffer |
encodeMessage(RTMP rtmp,
Header header,
IRTMPEvent message)
Encode message.
|
IoBuffer |
encodeNotify(Notify notify,
RTMP rtmp)
Encodes Notify event to byte buffer.
|
protected void |
encodeNotifyOrInvoke(IoBuffer out,
Notify invoke,
RTMP rtmp)
Encode notification event and fill given byte buffer.
|
protected IoBuffer |
encodeNotifyOrInvoke(Notify invoke,
RTMP rtmp)
Encode notification event.
|
IoBuffer |
encodePacket(RTMP rtmp,
Packet packet)
Encode packet.
|
IoBuffer |
encodePing(Ping ping)
Encodes Ping event to byte buffer.
|
IoBuffer |
encodeSharedObject(ISharedObjectMessage so,
RTMP rtmp)
Encodes SharedObjectMessage event to byte buffer.
|
IoBuffer |
encodeStreamMetadata(Notify metaData) |
IoBuffer |
encodeUnknown(Unknown unknown)
Encodes Unknown event to byte buffer.
|
IoBuffer |
encodeVideoData(VideoData videoData)
Encodes VideoData event to byte buffer.
|
protected StatusObject |
generateErrorResult(String code,
Throwable error)
Generate error object to return for given exception.
|
long |
getBaseTolerance() |
void |
setBaseTolerance(long baseTolerance) |
void |
setConnection(RTMPConnection conn)
Set the connection being used with this encoder
|
void |
setDropLiveFuture(boolean dropLiveFuture)
Setter for dropLiveFuture
|
void |
setSerializer(Serializer serializer)
Setter for serializer.
|
protected static org.slf4j.Logger log
protected Serializer serializer
public IoBuffer encode(ProtocolState state, Object message) throws Exception
state - Protocol statemessage - Object to encodeException - Any decoding exceptionpublic IoBuffer encodePacket(RTMP rtmp, Packet packet)
rtmp - RTMP protocol statepacket - RTMP packetprotected boolean dropMessage(RTMP rtmp, int channelId, IRTMPEvent message)
rtmp - the protocol statechannelId - the channel IDmessage - the messagepublic IoBuffer encodeHeader(RTMP rtmp, Header header, Header lastHeader)
rtmp - The protocol stateheader - RTMP message headerlastHeader - Previous headerpublic void encodeHeader(RTMP rtmp, Header header, Header lastHeader, IoBuffer buf)
rtmp - The protocol stateheader - RTMP message headerlastHeader - Previous headerbuf - Buffer to write encoded header topublic IoBuffer encodeMessage(RTMP rtmp, Header header, IRTMPEvent message)
rtmp - RTMP protocol stateheader - RTMP message headermessage - RTMP message (event)public IoBuffer encodeChunkSize(ChunkSize chunkSize)
encodeChunkSize in interface IEventEncoderchunkSize - ChunkSize eventpublic IoBuffer encodeFlexSharedObject(ISharedObjectMessage so, RTMP rtmp)
encodeFlexSharedObject in interface IEventEncoderso - ISharedObjectMessage eventrtmp - RTMP protocol statepublic IoBuffer encodeSharedObject(ISharedObjectMessage so, RTMP rtmp)
encodeSharedObject in interface IEventEncoderso - ISharedObjectMessage eventrtmp - RTMP protocol statepublic IoBuffer encodeNotify(Notify notify, RTMP rtmp)
encodeNotify in interface IEventEncodernotify - Notify eventrtmp - RTMP protocol statepublic IoBuffer encodeInvoke(Invoke invoke, RTMP rtmp)
encodeInvoke in interface IEventEncoderinvoke - Invoke eventrtmp - RTMP protocol stateprotected IoBuffer encodeNotifyOrInvoke(Notify invoke, RTMP rtmp)
invoke - Notification eventprotected void encodeNotifyOrInvoke(IoBuffer out, Notify invoke, RTMP rtmp)
out - Byte buffer to fillinvoke - Notification eventpublic IoBuffer encodePing(Ping ping)
encodePing in interface IEventEncoderping - Ping eventpublic IoBuffer encodeBytesRead(BytesRead bytesRead)
encodeBytesRead in interface IEventEncoderbytesRead - BytesRead eventpublic IoBuffer encodeAggregate(Aggregate aggregate)
encodeAggregate in interface IEventEncoderaggregate - Aggregate eventpublic IoBuffer encodeAudioData(AudioData audioData)
encodeAudioData in interface IEventEncoderaudioData - AudioData eventpublic IoBuffer encodeVideoData(VideoData videoData)
encodeVideoData in interface IEventEncodervideoData - VideoData eventpublic IoBuffer encodeUnknown(Unknown unknown)
encodeUnknown in interface IEventEncoderunknown - Unknown eventprotected StatusObject generateErrorResult(String code, Throwable error)
code - callerror - errorpublic IoBuffer encodeFlexMessage(FlexMessage msg, RTMP rtmp)
msg - Flex message eventrtmp - RTMPpublic IoBuffer encodeFlexStreamSend(FlexStreamSend msg)
public void setSerializer(Serializer serializer)
serializer - Serializerpublic void setBaseTolerance(long baseTolerance)
public void setDropLiveFuture(boolean dropLiveFuture)
public long getBaseTolerance()
public void setConnection(RTMPConnection conn)
conn - active connectionCopyright © 2006-2012 The Red5 Project