|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.red5.server.net.rtmp.BaseRTMPHandler
org.red5.server.net.rtmp.BaseRTMPClientHandler
public abstract class BaseRTMPClientHandler
Base class for clients (RTMP and RTMPT)
Field Summary | |
---|---|
protected RTMPConnection |
conn
|
protected Map<String,Object> |
connectionParams
Connection parameters |
protected String |
scheme
Connection scheme / protocol |
Constructor Summary | |
---|---|
protected |
BaseRTMPClientHandler()
|
Method Summary | |
---|---|
void |
connect(String server,
int port,
Map<String,Object> connectionParams)
Connect RTMP client to server via given port and with given connection parameters |
void |
connect(String server,
int port,
Map<String,Object> connectionParams,
IPendingServiceCallback connectCallback)
Connect RTMP client to server's application via given port |
void |
connect(String server,
int port,
Map<String,Object> connectionParams,
IPendingServiceCallback connectCallback,
Object[] connectCallArguments)
Connect RTMP client to server's application via given port |
void |
connect(String server,
int port,
String application)
Connect RTMP client to server's application via given port |
void |
connect(String server,
int port,
String application,
IPendingServiceCallback connectCallback)
Connect RTMP client to server's application via given port with given connection callback |
void |
connectionClosed(RTMPConnection conn,
RTMP state)
Connection closed |
void |
connectionOpened(RTMPConnection conn,
RTMP state)
Connection open event |
void |
createStream(IPendingServiceCallback callback)
|
void |
disconnect()
Disconnect the first connection in the connection map |
protected int |
getChannelForStreamId(int streamId)
Returns a channel based on the given stream id. |
RTMPCodecFactory |
getCodecFactory()
Getter for codec factory |
RTMPConnection |
getConnection()
Returns the connection associated with this client. |
IClientSharedObject |
getSharedObject(String name,
boolean persistent)
Connect to client shared object. |
void |
handleException(Throwable throwable)
|
void |
invoke(String method,
IPendingServiceCallback callback)
Invoke a method on the server. |
void |
invoke(String method,
Object[] params,
IPendingServiceCallback callback)
Invoke a method on the server and pass parameters. |
Map<String,Object> |
makeDefaultConnectionParams(String server,
int port,
String application)
|
void |
onBWDone()
Called when bandwidth has been configured. |
protected void |
onChunkSize(RTMPConnection conn,
Channel channel,
Header source,
ChunkSize chunkSize)
Chunk size change event handler. |
protected void |
onInvoke(RTMPConnection conn,
Channel channel,
Header source,
Notify invoke,
RTMP rtmp)
Invocation event handler. |
protected void |
onPing(RTMPConnection conn,
Channel channel,
Header source,
Ping ping)
Ping event handler. |
protected void |
onSharedObject(RTMPConnection conn,
Channel channel,
Header source,
SharedObjectMessage object)
Shared object event handler. |
void |
play(int streamId,
String name,
int start,
int length)
|
void |
play2(int streamId,
Map<String,?> playOptions)
Dynamic streaming play method. |
void |
publish(int streamId,
String name,
String mode,
INetStreamEventHandler handler)
|
void |
publishStreamData(int streamId,
IMessage message)
|
void |
setCodecFactory(RTMPCodecFactory factory)
Setter for codec factory |
void |
setConnection(RTMPConnection conn)
Sets a reference to the connection associated with this client handler. |
void |
setConnectionClosedHandler(Runnable connectionClosedHandler)
|
void |
setExceptionHandler(ClientExceptionHandler exceptionHandler)
|
void |
setServiceProvider(Object serviceProvider)
Register object that provides methods that can be called by the server. |
void |
setStreamEventDispatcher(IEventDispatcher streamEventDispatcher)
Setter for stream event dispatcher (useful for saving playing stream to file) |
protected abstract void |
startConnector(String server,
int port)
Start network connection to server |
void |
unpublish(int streamId)
|
Methods inherited from class org.red5.server.net.rtmp.BaseRTMPHandler |
---|
getHostname, getStreamId, handlePendingCallResult, messageReceived, messageSent, onStreamBytesRead, setApplicationContext |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected String scheme
protected Map<String,Object> connectionParams
protected volatile RTMPConnection conn
Constructor Detail |
---|
protected BaseRTMPClientHandler()
Method Detail |
---|
public void setConnectionClosedHandler(Runnable connectionClosedHandler)
public void setExceptionHandler(ClientExceptionHandler exceptionHandler)
protected abstract void startConnector(String server, int port)
server
- Serverport
- Connection portpublic void connect(String server, int port, String application)
server
- Serverport
- Connection portapplication
- Application at that serverpublic void connect(String server, int port, String application, IPendingServiceCallback connectCallback)
server
- Serverport
- Connection portapplication
- Application at that serverconnectCallback
- Connection callbackpublic Map<String,Object> makeDefaultConnectionParams(String server, int port, String application)
server
- Serverport
- Connection portapplication
- Application at that server
public void connect(String server, int port, Map<String,Object> connectionParams)
server
- Serverport
- Connection portconnectionParams
- Connection parameterspublic void connect(String server, int port, Map<String,Object> connectionParams, IPendingServiceCallback connectCallback)
server
- Serverport
- Connection portconnectionParams
- Connection parametersconnectCallback
- Connection callbackpublic void connect(String server, int port, Map<String,Object> connectionParams, IPendingServiceCallback connectCallback, Object[] connectCallArguments)
server
- Serverport
- Connection portconnectionParams
- Connection parametersconnectCallback
- Connection callbackconnectCallArguments
- Arguments for 'connect' callpublic void setServiceProvider(Object serviceProvider)
serviceProvider
- Service providerpublic IClientSharedObject getSharedObject(String name, boolean persistent)
name
- Client shared object namepersistent
- SO persistence flag
protected void onChunkSize(RTMPConnection conn, Channel channel, Header source, ChunkSize chunkSize)
onChunkSize
in class BaseRTMPHandler
conn
- Connectionchannel
- Channelsource
- HeaderchunkSize
- New chunk sizeprotected void onPing(RTMPConnection conn, Channel channel, Header source, Ping ping)
onPing
in class BaseRTMPHandler
conn
- Connectionchannel
- Channelsource
- Headerping
- Ping event contextprotected void onSharedObject(RTMPConnection conn, Channel channel, Header source, SharedObjectMessage object)
onSharedObject
in class BaseRTMPHandler
conn
- Connectionchannel
- Channelsource
- Headerobject
- Shared object event contextpublic void onBWDone()
public void invoke(String method, IPendingServiceCallback callback)
method
- Method namecallback
- Callback handlerpublic void invoke(String method, Object[] params, IPendingServiceCallback callback)
method
- Methodparams
- Method call parameterscallback
- Callback objectpublic void disconnect()
public void createStream(IPendingServiceCallback callback)
public void publish(int streamId, String name, String mode, INetStreamEventHandler handler)
public void unpublish(int streamId)
public void publishStreamData(int streamId, IMessage message)
public void play(int streamId, String name, int start, int length)
public void play2(int streamId, Map<String,?> playOptions)
streamName: String. The name of the stream to play or the new stream to switch to. oldStreamName: String. The name of the initial stream that needs to be switched out. This is not needed and ignored when play2 is used for just playing the stream and not switching to a new stream. start: Number. The start time of the new stream to play, just as supported by the existing play API. and it has the same defaults. This is ignored when the method is called for switching (in other words, the transition is either NetStreamPlayTransition.SWITCH or NetStreamPlayTransitions.SWAP) len: Number. The duration of the playback, just as supported by the existing play API and has the same defaults. transition: String. The transition mode for the playback command. It could be one of the following: NetStreamPlayTransitions.RESET NetStreamPlayTransitions.APPEND NetStreamPlayTransitions.SWITCH NetStreamPlayTransitions.SWAPNetStreamPlayTransitions:
APPEND : String = "append" - Adds the stream to a playlist and begins playback with the first stream. APPEND_AND_WAIT : String = "appendAndWait" - Builds a playlist without starting to play it from the first stream. RESET : String = "reset" - Clears any previous play calls and plays the specified stream immediately. RESUME : String = "resume" - Requests data from the new connection starting from the point at which the previous connection ended. STOP : String = "stop" - Stops playing the streams in a playlist. SWAP : String = "swap" - Replaces a content stream with a different content stream and maintains the rest of the playlist. SWITCH : String = "switch" - Switches from playing one stream to another stream, typically with streams of the same content.
public void connectionOpened(RTMPConnection conn, RTMP state)
connectionOpened
in interface IRTMPHandler
connectionOpened
in class BaseRTMPHandler
conn
- Connectionstate
- RTMP statepublic void connectionClosed(RTMPConnection conn, RTMP state)
BaseRTMPHandler
connectionClosed
in interface IRTMPHandler
connectionClosed
in class BaseRTMPHandler
conn
- Connectionstate
- RTMP stateprotected void onInvoke(RTMPConnection conn, Channel channel, Header source, Notify invoke, RTMP rtmp)
onInvoke
in class BaseRTMPHandler
conn
- Connectionchannel
- Channelsource
- Headerinvoke
- Invocation event contextrtmp
- RTMP connection statepublic void setCodecFactory(RTMPCodecFactory factory)
factory
- Codec factory to usepublic RTMPCodecFactory getCodecFactory()
public void handleException(Throwable throwable)
protected int getChannelForStreamId(int streamId)
streamId
-
public void setConnection(RTMPConnection conn)
conn
- public RTMPConnection getConnection()
public void setStreamEventDispatcher(IEventDispatcher streamEventDispatcher)
streamEventDispatcher
- event dispatcher
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |