org.red5.server.net.mrtmp
Class EdgeRTMPHandler

java.lang.Object
  extended by org.red5.server.net.rtmp.BaseRTMPHandler
      extended by org.red5.server.net.rtmp.RTMPHandler
          extended by org.red5.server.net.mrtmp.EdgeRTMPHandler
All Implemented Interfaces:
IRTMPHandler, Constants, StatusCodes, org.springframework.context.ApplicationContextAware

public class EdgeRTMPHandler
extends RTMPHandler


Field Summary
 
Fields inherited from class org.red5.server.net.rtmp.RTMPHandler
log, server, statusObjectService
 
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_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
EdgeRTMPHandler()
           
 
Method Summary
protected  boolean checkPermission(RTMPConnection conn)
           
 void connectionClosed(RTMPConnection conn, RTMP state)
          Connection closed
protected  void forwardPacket(RTMPConnection conn, Packet packet)
           
protected  void handleConnect(RTMPConnection conn, Channel channel, Header header, Invoke invoke, RTMP rtmp)
           
 void messageReceived(Object in, IoSession session)
          Message received
 void messageSent(RTMPConnection conn, Object message)
          Message sent
protected  void onPing(RTMPConnection conn, Channel channel, Header source, Ping ping)
          Pass through all Ping events to origin except ping/pong
protected  void sendConnectMessage(RTMPConnection conn)
           
 void setMRTMPManager(IMRTMPManager mrtmpManager)
           
 
Methods inherited from class org.red5.server.net.rtmp.RTMPHandler
getStatus, invokeCall, isGlobalScopeConnectionAllowed, onChunkSize, onInvoke, onSharedObject, setGlobalScopeConnectionAllowed, setServer, setStatusObjectService
 
Methods inherited from class org.red5.server.net.rtmp.BaseRTMPHandler
connectionOpened, getHostname, getStreamId, handlePendingCallResult, onStreamBytesRead, setApplicationContext
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EdgeRTMPHandler

public EdgeRTMPHandler()
Method Detail

setMRTMPManager

public void setMRTMPManager(IMRTMPManager mrtmpManager)

messageReceived

public void messageReceived(Object in,
                            IoSession session)
                     throws Exception
Description copied from class: BaseRTMPHandler
Message received

Specified by:
messageReceived in interface IRTMPHandler
Overrides:
messageReceived in class BaseRTMPHandler
Parameters:
in - Message
session - Connected session
Throws:
Exception - Exception

messageSent

public void messageSent(RTMPConnection conn,
                        Object message)
Description copied from class: BaseRTMPHandler
Message sent

Specified by:
messageSent in interface IRTMPHandler
Overrides:
messageSent in class BaseRTMPHandler
Parameters:
conn - Connection
message - Message

onPing

protected void onPing(RTMPConnection conn,
                      Channel channel,
                      Header source,
                      Ping ping)
Pass through all Ping events to origin except ping/pong

Overrides:
onPing in class RTMPHandler
Parameters:
conn - Connection
channel - Channel
source - Header
ping - Ping event context

handleConnect

protected void handleConnect(RTMPConnection conn,
                             Channel channel,
                             Header header,
                             Invoke invoke,
                             RTMP rtmp)

checkPermission

protected boolean checkPermission(RTMPConnection conn)

sendConnectMessage

protected void sendConnectMessage(RTMPConnection conn)

forwardPacket

protected void forwardPacket(RTMPConnection conn,
                             Packet packet)

connectionClosed

public void connectionClosed(RTMPConnection conn,
                             RTMP state)
Description copied from class: BaseRTMPHandler
Connection closed

Specified by:
connectionClosed in interface IRTMPHandler
Overrides:
connectionClosed in class BaseRTMPHandler
Parameters:
conn - Connection
state - RTMP state


Copyright © 2006-2010 The Red5 Project