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
FieldsModifier and TypeFieldDescriptionprivate booleanWhether or not to dispatch stream actions to the current scope.private static final Stringprivate static final Stringprotected static org.slf4j.Loggerprotected IServerRed5 server instance.protected StatusObjectServiceStatus object service.private booleanWhether 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_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 TypeMethodDescriptionprotected voidinvokeCall(RTMPConnection conn, IServiceCall call) Remoting call invocation handler.booleaninvokeCall(RTMPConnection conn, IServiceCall call, Object service) Remoting call invocation handler.booleanisAllowedIfRtmpPlayback(RTMPConnection conn, Channel channel, StreamAction streamAction) booleanbooleanvoidlogStreamNames(RTMPConnection conn) protected voidonBWDone()protected voidonChunkSize(RTMPConnection conn, Channel channel, Header source, ChunkSize chunkSize) Chunk size change event handler.protected voidonCommand(RTMPConnection conn, Channel channel, Header source, ICommand command) Command event handler, which current consists of an Invoke or Notify type object.protected voidonPing(RTMPConnection conn, Channel channel, Header source, Ping ping) Ping event handler.voidsetDispatchStreamActions(boolean dispatchStreamActions) voidSetter for server object.voidsetStatusObjectService(StatusObjectService statusObjectService) Setter for status object service.voidsetUnvalidatedConnectionAllowed(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:
onChunkSizein 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:
onCommandin 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:
onPingin classBaseRTMPHandler- Parameters:
conn- Connectionchannel- Channelsource- Headerping- Ping event context
-
onBWDone
protected void onBWDone()
-