package org.red5.client.net.rtmp; import java.util.Map; import org.red5.server.api.event.IEventDispatcher; import org.red5.server.api.service.IPendingServiceCallback; import org.red5.server.api.so.IClientSharedObject; import org.red5.server.messaging.IMessage; import org.red5.server.net.rtmp.RTMPConnection; public interface IRTMPClient { public void setConnectionClosedHandler(Runnable connectionClosedHandler); public void setExceptionHandler(ClientExceptionHandler exceptionHandler); public void setStreamEventDispatcher(IEventDispatcher streamEventDispatcher); public void setServiceProvider(Object serviceProvider); public void connect(String server, int port, String application); public void connect(String server, int port, String application, IPendingServiceCallback connectCallback); public void connect(String server, int port, Map<String, Object> connectionParams); public void connect(String server, int port, Map<String, Object> connectionParams, IPendingServiceCallback connectCallback); public void connect(String server, int port, Map<String, Object> connectionParams, IPendingServiceCallback connectCallback, Object[] connectCallArguments); public void invoke(String method, IPendingServiceCallback callback); public void invoke(String method, Object[] params, IPendingServiceCallback callback); public void disconnect(); public void createStream(IPendingServiceCallback callback); public void publish(Number streamId, String name, String mode, INetStreamEventHandler handler); public void unpublish(Number streamId); public void publishStreamData(Number streamId, IMessage message); public void play(Number streamId, String name, int start, int length); public void play2(Number streamId, Map<String, ?> playOptions); public IClientSharedObject getSharedObject(String name, boolean persistent); public Map<String, Object> makeDefaultConnectionParams(String server, int port, String application); public RTMPConnection getConnection(); }