org.red5.server.net.rtmp
Class BaseRTMPHandler

java.lang.Object
  extended by org.red5.server.net.rtmp.BaseRTMPHandler
All Implemented Interfaces:
IRTMPHandler, Constants, StatusCodes, Aware, ApplicationContextAware
Direct Known Subclasses:
RTMPHandler

public abstract class BaseRTMPHandler
extends Object
implements IRTMPHandler, Constants, StatusCodes, ApplicationContextAware

Base class for all RTMP handlers.

Author:
The Red5 Project ([email protected])

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
BaseRTMPHandler()
           
 
Method Summary
 void connectionClosed(RTMPConnection conn, RTMP state)
          Connection closed
 void connectionOpened(RTMPConnection conn, RTMP state)
          Connection open event
protected  String getHostname(String url)
          Return hostname for URL.
static int getStreamId()
          Getter for stream ID.
protected  void handlePendingCallResult(RTMPConnection conn, Notify invoke)
          Handler for pending call result.
 void messageReceived(Object in, IoSession session)
          Message received
 void messageSent(RTMPConnection conn, Object message)
          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 onInvoke(RTMPConnection conn, Channel channel, Header source, Notify invoke, RTMP rtmp)
          Invocation event handler.
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 abstract  void onSharedObject(RTMPConnection conn, Channel channel, Header source, SharedObjectMessage object)
          Shared object event handler.
protected  void onStreamBytesRead(RTMPConnection conn, Channel channel, Header source, BytesRead streamBytesRead)
          Stream bytes read event handler.
 void setApplicationContext(ApplicationContext appCtx)
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BaseRTMPHandler

public BaseRTMPHandler()
Method Detail

getStreamId

public static int getStreamId()
Getter for stream ID.

Returns:
Stream ID

setApplicationContext

public void setApplicationContext(ApplicationContext appCtx)
                           throws BeansException

Specified by:
setApplicationContext in interface ApplicationContextAware
Throws:
BeansException

connectionOpened

public void connectionOpened(RTMPConnection conn,
                             RTMP state)
Connection open event

Specified by:
connectionOpened in interface IRTMPHandler
Parameters:
conn - Connection
state - RTMP state

messageReceived

public void messageReceived(Object in,
                            IoSession session)
                     throws Exception
Message received

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

messageSent

public void messageSent(RTMPConnection conn,
                        Object message)
Message sent

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

connectionClosed

public void connectionClosed(RTMPConnection conn,
                             RTMP state)
Connection closed

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

getHostname

protected String getHostname(String url)
Return hostname for URL.

Parameters:
url - URL
Returns:
Hostname from that URL

handlePendingCallResult

protected void handlePendingCallResult(RTMPConnection conn,
                                       Notify invoke)
Handler for pending call result. Dispatches results to all pending call handlers.

Parameters:
conn - Connection
invoke - 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 - Connection
channel - Channel
source - Header
chunkSize - New chunk size

onInvoke

protected abstract void onInvoke(RTMPConnection conn,
                                 Channel channel,
                                 Header source,
                                 Notify invoke,
                                 RTMP rtmp)
Invocation event handler.

Parameters:
conn - Connection
channel - Channel
source - Header
invoke - Invocation event context
rtmp - RTMP connection state

onPing

protected abstract void onPing(RTMPConnection conn,
                               Channel channel,
                               Header source,
                               Ping ping)
Ping event handler.

Parameters:
conn - Connection
channel - Channel
source - Header
ping - Ping event context

onServerBandwidth

protected void onServerBandwidth(RTMPConnection conn,
                                 Channel channel,
                                 ServerBW message)
Server bandwidth / Window ACK size event handler.

Parameters:
conn - Connection
channel - Channel
message - ServerBW

onClientBandwidth

protected void onClientBandwidth(RTMPConnection conn,
                                 Channel channel,
                                 ClientBW message)
Client bandwidth / Peer bandwidth set event handler.

Parameters:
conn - Connection
channel - Channel
message - ClientBW

onStreamBytesRead

protected void onStreamBytesRead(RTMPConnection conn,
                                 Channel channel,
                                 Header source,
                                 BytesRead streamBytesRead)
Stream bytes read event handler.

Parameters:
conn - Connection
channel - Channel
source - Header
streamBytesRead - Bytes read event context

onSharedObject

protected abstract void onSharedObject(RTMPConnection conn,
                                       Channel channel,
                                       Header source,
                                       SharedObjectMessage object)
Shared object event handler.

Parameters:
conn - Connection
channel - Channel
source - Header
object - Shared object event context


Copyright © 2006-2012 The Red5 Project