public class RTMPProtocolEncoder extends Object implements Constants, IEventEncoder
| Modifier and Type | Field and Description |
|---|---|
protected org.slf4j.Logger |
log |
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(int channelId,
IRTMPEvent message)
Determine if this message should be dropped.
|
org.apache.mina.core.buffer.IoBuffer |
encode(Object message)
Encodes object with given protocol state to byte buffer
|
org.apache.mina.core.buffer.IoBuffer |
encodeAggregate(Aggregate aggregate)
Encodes Aggregate event to byte buffer.
|
org.apache.mina.core.buffer.IoBuffer |
encodeAudioData(AudioData audioData)
Encodes AudioData event to byte buffer.
|
org.apache.mina.core.buffer.IoBuffer |
encodeBytesRead(BytesRead bytesRead)
Encodes BytesRead event to byte buffer.
|
org.apache.mina.core.buffer.IoBuffer |
encodeChunkSize(ChunkSize chunkSize)
Encodes ChunkSize event to byte buffer.
|
protected void |
encodeCommand(org.apache.mina.core.buffer.IoBuffer out,
ICommand command)
Encode command event and fill given byte buffer.
|
protected org.apache.mina.core.buffer.IoBuffer |
encodeCommand(Notify invoke)
Encode notification event.
|
org.apache.mina.core.buffer.IoBuffer |
encodeFlexMessage(FlexMessage msg)
Encodes Flex message event.
|
org.apache.mina.core.buffer.IoBuffer |
encodeFlexSharedObject(ISharedObjectMessage so)
Encodes SharedObjectMessage event to byte buffer using AMF3 encoding.
|
org.apache.mina.core.buffer.IoBuffer |
encodeFlexStreamSend(FlexStreamSend msg) |
org.apache.mina.core.buffer.IoBuffer |
encodeHeader(Header header,
Header lastHeader)
Encode RTMP header.
|
void |
encodeHeader(Header header,
Header lastHeader,
org.apache.mina.core.buffer.IoBuffer buf)
Encode RTMP header into given IoBuffer.
|
org.apache.mina.core.buffer.IoBuffer |
encodeInvoke(Invoke invoke)
Encodes Invoke event to byte buffer.
|
org.apache.mina.core.buffer.IoBuffer |
encodeMessage(Header header,
IRTMPEvent message)
Encode message.
|
org.apache.mina.core.buffer.IoBuffer |
encodeNotify(Notify notify)
Encodes Notify event to byte buffer.
|
org.apache.mina.core.buffer.IoBuffer |
encodePacket(Packet packet)
Encode packet.
|
org.apache.mina.core.buffer.IoBuffer |
encodePing(Ping ping)
Encodes Ping event to byte buffer.
|
org.apache.mina.core.buffer.IoBuffer |
encodeSharedObject(ISharedObjectMessage so)
Encodes SharedObjectMessage event to byte buffer.
|
org.apache.mina.core.buffer.IoBuffer |
encodeStreamMetadata(Notify metaData) |
org.apache.mina.core.buffer.IoBuffer |
encodeUnknown(Unknown unknown)
Encodes Unknown event to byte buffer.
|
org.apache.mina.core.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 |
setDropEncoded(boolean dropEncoded) |
void |
setDropLiveFuture(boolean dropLiveFuture)
Setter for dropLiveFuture
|
public org.apache.mina.core.buffer.IoBuffer encode(Object message) throws Exception
message - Object to encodeException - Any decoding exceptionpublic org.apache.mina.core.buffer.IoBuffer encodePacket(Packet packet)
packet - RTMP packetprotected boolean dropMessage(int channelId,
IRTMPEvent message)
channelId - the channel IDmessage - the messagepublic org.apache.mina.core.buffer.IoBuffer encodeHeader(Header header, Header lastHeader)
header - RTMP message headerlastHeader - Previous headerpublic void encodeHeader(Header header, Header lastHeader, org.apache.mina.core.buffer.IoBuffer buf)
header - RTMP message headerlastHeader - Previous headerbuf - Buffer for writing encoded header intopublic org.apache.mina.core.buffer.IoBuffer encodeMessage(Header header, IRTMPEvent message)
header - RTMP message headermessage - RTMP message (event)public org.apache.mina.core.buffer.IoBuffer encodeChunkSize(ChunkSize chunkSize)
encodeChunkSize in interface IEventEncoderchunkSize - ChunkSize eventpublic org.apache.mina.core.buffer.IoBuffer encodeFlexSharedObject(ISharedObjectMessage so)
encodeFlexSharedObject in interface IEventEncoderso - ISharedObjectMessage eventpublic org.apache.mina.core.buffer.IoBuffer encodeSharedObject(ISharedObjectMessage so)
encodeSharedObject in interface IEventEncoderso - ISharedObjectMessage eventpublic org.apache.mina.core.buffer.IoBuffer encodeNotify(Notify notify)
encodeNotify in interface IEventEncodernotify - Notify eventpublic org.apache.mina.core.buffer.IoBuffer encodeInvoke(Invoke invoke)
encodeInvoke in interface IEventEncoderinvoke - Invoke eventprotected org.apache.mina.core.buffer.IoBuffer encodeCommand(Notify invoke)
invoke - Notification eventprotected void encodeCommand(org.apache.mina.core.buffer.IoBuffer out,
ICommand command)
out - Buffer to fillcommand - Command eventpublic org.apache.mina.core.buffer.IoBuffer encodePing(Ping ping)
encodePing in interface IEventEncoderping - Ping eventpublic org.apache.mina.core.buffer.IoBuffer encodeBytesRead(BytesRead bytesRead)
encodeBytesRead in interface IEventEncoderbytesRead - BytesRead eventpublic org.apache.mina.core.buffer.IoBuffer encodeAggregate(Aggregate aggregate)
encodeAggregate in interface IEventEncoderaggregate - Aggregate eventpublic org.apache.mina.core.buffer.IoBuffer encodeAudioData(AudioData audioData)
encodeAudioData in interface IEventEncoderaudioData - AudioData eventpublic org.apache.mina.core.buffer.IoBuffer encodeVideoData(VideoData videoData)
encodeVideoData in interface IEventEncodervideoData - VideoData eventpublic org.apache.mina.core.buffer.IoBuffer encodeUnknown(Unknown unknown)
encodeUnknown in interface IEventEncoderunknown - Unknown eventpublic org.apache.mina.core.buffer.IoBuffer encodeStreamMetadata(Notify metaData)
protected StatusObject generateErrorResult(String code, Throwable error)
code - callerror - errorpublic org.apache.mina.core.buffer.IoBuffer encodeFlexMessage(FlexMessage msg)
msg - Flex message eventpublic org.apache.mina.core.buffer.IoBuffer encodeFlexStreamSend(FlexStreamSend msg)
public void setBaseTolerance(long baseTolerance)
public void setDropLiveFuture(boolean dropLiveFuture)
dropLiveFuture - drop live data with future timespublic void setDropEncoded(boolean dropEncoded)
public long getBaseTolerance()
Copyright © 2005–2017 Red5. All rights reserved.