Package org.red5.server.net.rtmp
Class BaseRTMPHandler
java.lang.Object
org.red5.server.net.rtmp.BaseRTMPHandler
- All Implemented Interfaces:
IRTMPHandler
,Constants
,StatusCodes
- Direct Known Subclasses:
RTMPHandler
public abstract class BaseRTMPHandler
extends Object
implements IRTMPHandler, Constants, StatusCodes
Base class for all RTMP handlers.
- Author:
- The Red5 Project
-
Field Summary
Fields inherited from interface org.red5.server.net.rtmp.message.Constants
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
Fields inherited from interface org.red5.server.net.rtmp.status.StatusCodes
APP_GC, APP_RESOURCE_LOWMEMORY, APP_SCRIPT_ERROR, APP_SCRIPT_WARNING, APP_SHUTDOWN, NC_CALL_BADVERSION, NC_CALL_FAILED, NC_CONNECT_APPSHUTDOWN, NC_CONNECT_CLOSED, NC_CONNECT_FAILED, NC_CONNECT_INVALID_APPLICATION, NC_CONNECT_REJECTED, NC_CONNECT_SUCCESS, NS_BUFFER_EMPTY, NS_CLEAR_FAILED, NS_CLEAR_SUCCESS, NS_DATA_START, NS_FAILED, NS_INVALID_ARGUMENT, NS_PAUSE_NOTIFY, NS_PLAY_COMPLETE, NS_PLAY_FAILED, NS_PLAY_FILE_STRUCTURE_INVALID, NS_PLAY_INSUFFICIENT_BW, NS_PLAY_NO_SUPPORTED_TRACK_FOUND, NS_PLAY_PUBLISHNOTIFY, NS_PLAY_RESET, NS_PLAY_START, NS_PLAY_STOP, NS_PLAY_STREAMNOTFOUND, NS_PLAY_SWITCH, NS_PLAY_TRANSITION, NS_PLAY_TRANSITION_COMPLETE, NS_PLAY_UNPUBLISHNOTIFY, NS_PUBLISH_BADNAME, NS_PUBLISH_START, NS_RECORD_FAILED, NS_RECORD_NOACCESS, NS_RECORD_START, NS_RECORD_STOP, NS_SEEK_FAILED, NS_SEEK_NOTIFY, NS_TRANSITION_FORCED, NS_TRANSITION_SUCCESS, NS_UNPAUSE_NOTIFY, NS_UNPUBLISHED_SUCCESS, SO_CREATION_FAILED, SO_NO_READ_ACCESS, SO_NO_WRITE_ACCESS, SO_PERSISTENCE_MISMATCH
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Connection closed.void
Connection open event.protected String
getHostname
(String url) Return hostname for URL.protected void
handlePendingCallResult
(RTMPConnection conn, Invoke invoke) Handler for pending call result.void
messageReceived
(RTMPConnection conn, Packet packet) Message received.void
messageSent
(RTMPConnection conn, Packet packet) Message sent.protected abstract void
onChunkSize
(RTMPConnection conn, Channel channel, Header source, ChunkSize chunkSize) Chunk size change event handler.protected void
onClientBandwidth
(RTMPConnection conn, Channel channel, ClientBW message) Client bandwidth / Peer bandwidth set event handler.protected abstract void
onCommand
(RTMPConnection conn, Channel channel, Header source, ICommand command) Command event handler, which current consists of an Invoke or Notify type object.protected abstract void
onPing
(RTMPConnection conn, Channel channel, Header source, Ping ping) Ping event handler.protected void
onServerBandwidth
(RTMPConnection conn, Channel channel, ServerBW message) Server bandwidth / Window ACK size event handler.protected void
onStreamBytesRead
(RTMPConnection conn, Channel channel, Header source, BytesRead streamBytesRead) Stream bytes read event handler.
-
Field Details
-
log
private static org.slf4j.Logger log
-
-
Constructor Details
-
BaseRTMPHandler
public BaseRTMPHandler()
-
-
Method Details
-
connectionOpened
Connection open event.- Specified by:
connectionOpened
in interfaceIRTMPHandler
- Parameters:
conn
- Connection
-
messageReceived
Message received.- Specified by:
messageReceived
in interfaceIRTMPHandler
- Parameters:
conn
- Connectionpacket
- Packet containing an RTMP message- Throws:
Exception
- on exception
-
messageSent
Message sent.- Specified by:
messageSent
in interfaceIRTMPHandler
- Parameters:
conn
- Connectionpacket
- RTMP message
-
connectionClosed
Connection closed.- Specified by:
connectionClosed
in interfaceIRTMPHandler
- Parameters:
conn
- Connection
-
getHostname
Return hostname for URL.- Parameters:
url
- URL- Returns:
- Hostname from that URL
-
handlePendingCallResult
Handler for pending call result. Dispatches results to all pending call handlers.- Parameters:
conn
- Connectioninvoke
- Pending call result event context
-
onChunkSize
protected abstract void onChunkSize(RTMPConnection conn, Channel channel, Header source, ChunkSize chunkSize) Chunk size change event handler. Abstract, to be implemented in subclasses.- Parameters:
conn
- Connectionchannel
- Channelsource
- HeaderchunkSize
- New chunk size
-
onCommand
protected abstract void onCommand(RTMPConnection conn, Channel channel, Header source, ICommand command) Command event handler, which current consists of an Invoke or Notify type object.- Parameters:
conn
- Connectionchannel
- Channelsource
- Headercommand
- event context
-
onPing
Ping event handler.- Parameters:
conn
- Connectionchannel
- Channelsource
- Headerping
- Ping event context
-
onServerBandwidth
Server bandwidth / Window ACK size event handler.- Parameters:
conn
- Connectionchannel
- Channelmessage
- ServerBW
-
onClientBandwidth
Client bandwidth / Peer bandwidth set event handler.- Parameters:
conn
- Connectionchannel
- Channelmessage
- ClientBW
-
onStreamBytesRead
protected void onStreamBytesRead(RTMPConnection conn, Channel channel, Header source, BytesRead streamBytesRead) Stream bytes read event handler.- Parameters:
conn
- Connectionchannel
- Channelsource
- HeaderstreamBytesRead
- Bytes read event context
-