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
FieldsFields 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_DATAFields 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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidConnection closed.voidConnection open event.protected StringgetHostname(String url) Return hostname for URL.protected voidhandlePendingCallResult(RTMPConnection conn, Invoke invoke) Handler for pending call result.voidmessageReceived(RTMPConnection conn, Packet packet) Message received.voidmessageSent(RTMPConnection conn, Packet packet) Message sent.protected abstract voidonChunkSize(RTMPConnection conn, Channel channel, Header source, ChunkSize chunkSize) Chunk size change event handler.protected voidonClientBandwidth(RTMPConnection conn, Channel channel, ClientBW message) Client bandwidth / Peer bandwidth set event handler.protected abstract voidonCommand(RTMPConnection conn, Channel channel, Header source, ICommand command) Command event handler, which current consists of an Invoke or Notify type object.protected abstract voidonPing(RTMPConnection conn, Channel channel, Header source, Ping ping) Ping event handler.protected voidonServerBandwidth(RTMPConnection conn, Channel channel, ServerBW message) Server bandwidth / Window ACK size event handler.protected voidonStreamBytesRead(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:
connectionOpenedin interfaceIRTMPHandler- Parameters:
conn- Connection
-
messageReceived
Message received.- Specified by:
messageReceivedin interfaceIRTMPHandler- Parameters:
conn- Connectionpacket- Packet containing an RTMP message- Throws:
Exception- on exception
-
messageSent
Message sent.- Specified by:
messageSentin interfaceIRTMPHandler- Parameters:
conn- Connectionpacket- RTMP message
-
connectionClosed
Connection closed.- Specified by:
connectionClosedin 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
-