Package org.red5.server.net.rtmp
Class RTMPHandler
java.lang.Object
org.red5.server.net.rtmp.BaseRTMPHandler
org.red5.server.net.rtmp.RTMPHandler
- All Implemented Interfaces:
IRTMPHandler
,Constants
,StatusCodes
RTMP events handler.
-
Field Summary
Modifier and TypeFieldDescriptionprivate boolean
Whether or not to dispatch stream actions to the current scope.private static final String
private static final String
protected static org.slf4j.Logger
protected IServer
Red5 server instance.protected StatusObjectService
Status object service.private boolean
Whether or not unvalidated connections are allowed.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 TypeMethodDescriptionprotected void
invokeCall
(RTMPConnection conn, IServiceCall call) Remoting call invocation handler.boolean
invokeCall
(RTMPConnection conn, IServiceCall call, Object service) Remoting call invocation handler.boolean
isAllowedIfRtmpPlayback
(RTMPConnection conn, Channel channel, StreamAction streamAction) boolean
boolean
void
logStreamNames
(RTMPConnection conn) protected void
onBWDone()
protected void
onChunkSize
(RTMPConnection conn, Channel channel, Header source, ChunkSize chunkSize) Chunk size change event handler.protected void
onCommand
(RTMPConnection conn, Channel channel, Header source, ICommand command) Command event handler, which current consists of an Invoke or Notify type object.protected void
onPing
(RTMPConnection conn, Channel channel, Header source, Ping ping) Ping event handler.void
setDispatchStreamActions
(boolean dispatchStreamActions) void
Setter for server object.void
setStatusObjectService
(StatusObjectService statusObjectService) Setter for status object service.void
setUnvalidatedConnectionAllowed
(boolean unvalidatedConnectionAllowed) Methods inherited from class org.red5.server.net.rtmp.BaseRTMPHandler
connectionClosed, connectionOpened, getHostname, handlePendingCallResult, messageReceived, messageSent, onClientBandwidth, onServerBandwidth, onStreamBytesRead
-
Field Details
-
log
protected static org.slf4j.Logger log -
HIGH_RESOURCE_USAGE
- See Also:
-
INVALID_STREAM_NAME
- See Also:
-
statusObjectService
Status object service. -
server
Red5 server instance. -
unvalidatedConnectionAllowed
private boolean unvalidatedConnectionAllowedWhether or not unvalidated connections are allowed. -
dispatchStreamActions
private boolean dispatchStreamActionsWhether or not to dispatch stream actions to the current scope.
-
-
Constructor Details
-
RTMPHandler
public RTMPHandler()
-
-
Method Details
-
setServer
Setter for server object.- Parameters:
server
- Red5 server instance
-
setStatusObjectService
Setter for status object service.- Parameters:
statusObjectService
- Status object service.
-
getStatusObjectService
-
isUnvalidatedConnectionAllowed
public boolean isUnvalidatedConnectionAllowed() -
setUnvalidatedConnectionAllowed
public void setUnvalidatedConnectionAllowed(boolean unvalidatedConnectionAllowed) -
isDispatchStreamActions
public boolean isDispatchStreamActions()- Returns:
- the dispatchStreamActions
-
setDispatchStreamActions
public void setDispatchStreamActions(boolean dispatchStreamActions) - Parameters:
dispatchStreamActions
- the dispatchStreamActions to set
-
onChunkSize
protected void onChunkSize(RTMPConnection conn, Channel channel, Header source, ChunkSize chunkSize) Chunk size change event handler. Abstract, to be implemented in subclasses.- Specified by:
onChunkSize
in classBaseRTMPHandler
- Parameters:
conn
- Connectionchannel
- Channelsource
- HeaderchunkSize
- New chunk size
-
invokeCall
Remoting call invocation handler.- Parameters:
conn
- RTMP connectioncall
- Service call
-
invokeCall
Remoting call invocation handler.- Parameters:
conn
- RTMP connectioncall
- Service callservice
- Server-side service object- Returns:
- true if the call was performed, otherwise false
-
onCommand
Command event handler, which current consists of an Invoke or Notify type object.- Specified by:
onCommand
in classBaseRTMPHandler
- Parameters:
conn
- Connectionchannel
- Channelsource
- Headercommand
- event context
-
logStreamNames
-
isAllowedIfRtmpPlayback
public boolean isAllowedIfRtmpPlayback(RTMPConnection conn, Channel channel, StreamAction streamAction) -
getStatus
-
onPing
Ping event handler.- Specified by:
onPing
in classBaseRTMPHandler
- Parameters:
conn
- Connectionchannel
- Channelsource
- Headerping
- Ping event context
-
onBWDone
protected void onBWDone()
-