Package org.red5.client.net.rtmp
Class RTMPClient
java.lang.Object
org.red5.server.net.rtmp.BaseRTMPHandler
org.red5.client.net.rtmp.BaseRTMPClientHandler
org.red5.client.net.rtmp.RTMPClient
- All Implemented Interfaces:
IRTMPClient,IRTMPHandler,Constants,StatusCodes
- Direct Known Subclasses:
RTMPEClient,RTMPSClient
RTMP client implementation supporting "rtmp" and "rtmpe" protocols.
- Author:
- The Red5 Project, Christian Eckerle (ce@publishing-etc.de), Joachim Bauch (jojo@struktur.de), Paul Gregoire (mondain@gmail.com), Steven Gong (steven.gong@gmail.com), Anton Lebedevich (mabrek@gmail.com), Tiago Daniel Jacobs (tiago@imdt.com.br), Jon Valliere
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.red5.server.net.rtmp.message.Constants
Constants.DataType -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final intprotected org.apache.mina.core.future.ConnectFutureprotected final RTMPMinaIoHandlerprotected org.apache.mina.core.session.IoSessionprotected org.apache.mina.transport.socket.SocketConnectorFields inherited from class org.red5.client.net.rtmp.BaseRTMPClientHandler
bandwidthCheckDone, conn, connectionParams, executor, protocol, subscribedFields inherited from class org.red5.server.net.rtmp.BaseRTMPHandler
isDebug, isTrace, logFields 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_RECONNECT_REQUEST, 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 TypeMethodDescriptionvoidDisconnect the first connection in the connection mapmakeDefaultConnectionParams(String server, int port, String application) Creates the default connection parameters collection.voidsetProtocol(String protocol) Sets the RTMP protocol, the default is "rtmp".protected voidstartConnector(String server, int port) Start network connection to serverMethods inherited from class org.red5.client.net.rtmp.BaseRTMPClientHandler
connect, connect, connect, connect, connect, connectionClosed, connectionOpened, createStream, deleteStream, getChannelForStreamId, getConnection, getConnectionParams, getSharedObject, handleException, invoke, invoke, isBandwidthCheckDone, isSubscribed, isSwfVerification, onBWCheck, onBWCheck, onBWDone, onBWDone, onChunkSize, onClientBandwidth, onCommand, onPing, onServerBandwidth, onSharedObject, ping, play, play2, publish, publishStreamData, releaseStream, setConnection, setConnectionClosedHandler, setExceptionHandler, setServiceProvider, setStreamEventDispatcher, setStreamEventHandler, setSwfVerification, subscribe, unpublishMethods inherited from class org.red5.server.net.rtmp.BaseRTMPHandler
getHostname, handlePendingCallResult, messageReceived, messageSent, onStreamBytesRead
-
Field Details
-
CONNECTOR_WORKER_TIMEOUT
protected static final int CONNECTOR_WORKER_TIMEOUT- See Also:
-
ioHandler
-
socketConnector
protected org.apache.mina.transport.socket.SocketConnector socketConnector -
future
protected org.apache.mina.core.future.ConnectFuture future -
session
protected org.apache.mina.core.session.IoSession session
-
-
Constructor Details
-
RTMPClient
public RTMPClient()Constructs a new RTMPClient.
-
-
Method Details
-
makeDefaultConnectionParams
Creates the default connection parameters collection. Many implementations of this handler will create a tcUrl if not found, it is created with the current server url.- Specified by:
makeDefaultConnectionParamsin interfaceIRTMPClient- Overrides:
makeDefaultConnectionParamsin classBaseRTMPClientHandler- Parameters:
server- the server locationport- the port for the protocolapplication- the application name at the given server- Returns:
- connection parameters map
-
startConnector
Start network connection to server- Specified by:
startConnectorin classBaseRTMPClientHandler- Parameters:
server- Serverport- Connection port
-
disconnect
public void disconnect()Disconnect the first connection in the connection map- Specified by:
disconnectin interfaceIRTMPClient- Overrides:
disconnectin classBaseRTMPClientHandler
-
setProtocol
Sets the RTMP protocol, the default is "rtmp". If "rtmps" or "rtmpt" are required, the appropriate client type should be selected.- Overrides:
setProtocolin classBaseRTMPClientHandler- Parameters:
protocol- the protocol to set- Throws:
Exception- thrown
-