本文整理汇总了Java中org.red5.server.api.service.IServiceCapableConnection类的典型用法代码示例。如果您正苦于以下问题:Java IServiceCapableConnection类的具体用法?Java IServiceCapableConnection怎么用?Java IServiceCapableConnection使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
IServiceCapableConnection类属于org.red5.server.api.service包,在下文中一共展示了IServiceCapableConnection类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: callBWCheck
import org.red5.server.api.service.IServiceCapableConnection; //导入依赖的package包/类
private void callBWCheck(Object payload) {
if (log.isTraceEnabled()) {
log.trace("callBWCheck: {}", payload);
} else {
log.debug("callBWCheck");
}
IConnection conn = Red5.getConnectionLocal();
Map<String, Object> statsValues = new HashMap<String, Object>();
statsValues.put("count", packetsReceived.get());
statsValues.put("sent", packetsSent.get());
statsValues.put("timePassed", timePassed);
statsValues.put("latency", latency);
statsValues.put("cumLatency", cumLatency);
statsValues.put("payload", payload);
if (conn instanceof IServiceCapableConnection) {
log.debug("Invoking onBWCheck on the client");
// increment sent counter
packetsSent.incrementAndGet();
// invoke on the client
((IServiceCapableConnection) conn).invoke("onBWCheck", new Object[] { statsValues }, this);
}
}
示例2: callBWDone
import org.red5.server.api.service.IServiceCapableConnection; //导入依赖的package包/类
private void callBWDone() {
log.debug("callBWDone");
IConnection conn = Red5.getConnectionLocal();
Map<String, Object> statsValues = new HashMap<String, Object>();
statsValues.put("kbitDown", kbitDown);
statsValues.put("deltaDown", deltaDown);
statsValues.put("deltaTime", deltaTime);
statsValues.put("latency", latency);
if (conn instanceof IServiceCapableConnection) {
log.debug("Invoking onBWDone on the client");
// invoke on the client
((IServiceCapableConnection) conn).invoke("onBWDone", new Object[] { statsValues });
// adjust bandwidth to mbit/s
int mbits = (int) ((kbitDown / 1000d) * 1000000);
log.debug("Setting bandwidth to {} mbit/s", mbits);
// tell the flash player how fast we want data and how fast we shall send it
conn.setBandwidth(mbits);
}
}
示例3: callBWCheck
import org.red5.server.api.service.IServiceCapableConnection; //导入依赖的package包/类
private void callBWCheck(Object payload)
{
IConnection conn = Red5.getConnectionLocal();
Map<String, Object> statsValues = new HashMap<String, Object>();
statsValues.put("count", this.count);
statsValues.put("sent", this.sent);
statsValues.put("timePassed", this.timePassed);
statsValues.put("latency", this.latency);
statsValues.put("cumLatency", this.cumLatency);
statsValues.put("payload", payload);
if (conn instanceof IServiceCapableConnection) {
((IServiceCapableConnection) conn).invoke("onBWCheck", new Object[]{statsValues}, this);
}
}
示例4: setRelayClient
import org.red5.server.api.service.IServiceCapableConnection; //导入依赖的package包/类
public void setRelayClient() {
IConnection c = Red5.getConnectionLocal();
if (c instanceof IServiceCapableConnection) {
relayclient = c;
state.set(values.relayclient, c.getRemoteAddress());
Util.log("relayclient connected from: " + state.get(values.relayclient), this);
if (authtoken != null) {
IServiceCapableConnection sc = (IServiceCapableConnection) relayclient;
sc.invoke("relayCallClient", new Object[] { "writesetting",
GUISettings.relayserverauth.toString()+" "+authtoken });
}
if (state.exists(values.driver)) {
player.close();
player = null;
loginRecords.signoutDriver();
driverCallServer(PlayerCommands.publish, streamstate.stop.toString());
}
}
}
示例5: setGrabberVideoSoundMode
import org.red5.server.api.service.IServiceCapableConnection; //导入依赖的package包/类
private void setGrabberVideoSoundMode(String str) {
if (!settings.getBoolean(ManualSettings.useflash)) return;
if (state.getBoolean(State.values.autodocking.name())) {
messageplayer("command dropped, autodocking", null, null);
return;
}
if (state.get(State.values.stream) == null) {
messageplayer("stream control unavailable, server may be in setup mode", null, null);
return;
}
long timeout = System.currentTimeMillis() + GRABBERRELOADTIMEOUT;
while (!(grabber instanceof IServiceCapableConnection) && System.currentTimeMillis() < timeout ) { Util.delay(10); }
if (!(grabber instanceof IServiceCapableConnection))
Util.log("setGrabberVideoSoundMode() error grabber reload timeout", this);
IServiceCapableConnection sc = (IServiceCapableConnection) grabber;
sc.invoke("videoSoundMode", new Object[]{str});
state.set(State.values.videosoundmode, str);
Util.log("grabber video sound mode = " + str, this);
}
示例6: frameGrab
import org.red5.server.api.service.IServiceCapableConnection; //导入依赖的package包/类
/** */
public boolean frameGrab(String res) {
if(state.getBoolean(State.values.framegrabbusy.name()) ||
!(state.get(State.values.stream).equals(Application.streamstate.camera.toString()) ||
state.get(State.values.stream).equals(Application.streamstate.camandmic.toString()))) {
messageplayer("stream unavailable or framegrab busy", null, null);
return false;
}
if (settings.getBoolean(ManualSettings.useflash)) {
if (grabber instanceof IServiceCapableConnection) {
IServiceCapableConnection sc = (IServiceCapableConnection) grabber;
if (res.equals(AutoDock.LOWRES)) sc.invoke("framegrabMedium", new Object[]{});
else sc.invoke("framegrab", new Object[]{});
state.set(State.values.framegrabbusy.name(), true);
}
}
else video.framegrab(res);
// Util.debug("framegrab start at: "+System.currentTimeMillis(), this);
return true;
}
示例7: messageplayer
import org.red5.server.api.service.IServiceCapableConnection; //导入依赖的package包/类
public void messageplayer(String str, String status, String value) {
if (state.exists(values.relayserver)) {
red5client.sendToRelay("messageplayer", new Object[] {str, status, value});
}
if (player instanceof IServiceCapableConnection) {
IServiceCapableConnection sc = (IServiceCapableConnection) player;
sc.invoke("message", new Object[] { str, "green", status, value });
}
if(commandServer!=null) {
if(str!=null){
if(! str.equals("status check received")) // basic ping from client, ignore
commandServer.sendToGroup(TelnetServer.MSGPLAYERTAG + " " + str);
}
if (status !=null) {
commandServer.sendToGroup(TelnetServer.MSGPLAYERTAG + " <status> " + status + " " + value);
}
}
}
示例8: beAPassenger
import org.red5.server.api.service.IServiceCapableConnection; //导入依赖的package包/类
/** */
private void beAPassenger(String user) {
String stream = state.get(State.values.stream);
pendingplayerisnull = true;
String str = user + " added as passenger";
messageplayer(str, null, null);
Util.log(str,this);
messageGrabber(str, null);
if (!stream.equals("stop")) {
Collection<Set<IConnection>> concollection = getConnections();
for (Set<IConnection> cc : concollection) {
for (IConnection con : cc) {
if (con instanceof IServiceCapableConnection
&& con != grabber && con != player) {
IServiceCapableConnection sc = (IServiceCapableConnection) con;
sc.invoke("message", new Object[] { "streaming " + stream, "green", "stream", stream }); }
}
}
}
loginRecords.bePassenger(user);
if (settings.getBoolean(GUISettings.loginnotify)) {
saySpeech("passenger lawg inn f" + user);
}
}
示例9: disconnectOtherConnections
import org.red5.server.api.service.IServiceCapableConnection; //导入依赖的package包/类
private void disconnectOtherConnections() {
if (loginRecords.isAdmin()) {
int i = 0;
Collection<Set<IConnection>> concollection = getConnections();
for (Set<IConnection> cc : concollection) {
for (IConnection con : cc) {
if (con instanceof IServiceCapableConnection
&& con != grabber && con != player) {
con.close();
i++;
}
}
}
messageplayer(i + " passengers eliminated", null, null);
}
}
示例10: chat
import org.red5.server.api.service.IServiceCapableConnection; //导入依赖的package包/类
private void chat(String str) {
Collection<Set<IConnection>> concollection = getConnections();
for (Set<IConnection> cc : concollection) {
for (IConnection con : cc) {
if (con instanceof IServiceCapableConnection && con != grabber
&& !(con == pendingplayer && !pendingplayerisnull)) {
IServiceCapableConnection n = (IServiceCapableConnection) con;
n.invoke("message", new Object[] { str, "yellow", null, null });
}
}
}
Util.log("chat: " + str,this);
messageGrabber("<CHAT>" + str, null);
if(str!=null) if (commandServer != null) {
str = str.replaceAll("</?i>", "");
commandServer.sendToGroup(TelnetServer.TELNETTAG+" chat from "+ str);
}
}
示例11: playerSignIn
import org.red5.server.api.service.IServiceCapableConnection; //导入依赖的package包/类
public void playerSignIn(Object[] params) {
// disonnect any drivers/passengers/pending
boolean delay = false;
Collection<Set<IConnection>> concollection = app.getConnections();
for (Set<IConnection> cc : concollection) {
for (IConnection con : cc) {
if (con instanceof IServiceCapableConnection && con != app.grabber) {
con.close();
delay = true;
}
}
}
if (delay) Util.delay(500); // allow player to logout TODO: blocking!
state.set(State.values.driver, params[0].toString());
app.initialstatuscalled = false;
Util.log("relay playersignin(): " + params[0].toString(), this);
app.loginRecords.beDriver();
if (settings.getBoolean(GUISettings.loginnotify))
app.driverCallServer(PlayerCommands.speech, state.get(State.values.driver));
app.watchdog.lastpowererrornotify = null;
}
示例12: callBWCheck
import org.red5.server.api.service.IServiceCapableConnection; //导入依赖的package包/类
private void callBWCheck(Object payload) {
if (log.isTraceEnabled()) {
log.trace("callBWCheck: {}", payload);
} else {
log.debug("callBWCheck");
}
IConnection conn = Red5.getConnectionLocal();
Map<String, Object> statsValues = new HashMap<String, Object>();
statsValues.put("count", packetsReceived.get());
statsValues.put("sent", packetsSent.get());
statsValues.put("timePassed", timePassed);
statsValues.put("latency", latency);
statsValues.put("cumLatency", cumLatency);
statsValues.put("payload", payload);
if (conn instanceof IServiceCapableConnection) {
log.debug("Invoking onBWCheck on the client");
// increment sent counter
packetsSent.incrementAndGet();
// invoke on the client
((IServiceCapableConnection) conn).invoke("onBWCheck", new Object[] { statsValues }, this);
}
}
示例13: callBWDone
import org.red5.server.api.service.IServiceCapableConnection; //导入依赖的package包/类
private void callBWDone() {
log.debug("callBWDone");
IConnection conn = Red5.getConnectionLocal();
Map<String, Object> statsValues = new HashMap<String, Object>();
statsValues.put("kbitDown", kbitDown);
statsValues.put("deltaDown", deltaDown);
statsValues.put("deltaTime", deltaTime);
statsValues.put("latency", latency);
if (conn instanceof IServiceCapableConnection) {
log.debug("Invoking onBWDone on the client");
// invoke on the client
((IServiceCapableConnection) conn).invoke("onBWDone", new Object[] { statsValues });
// adjust bandwidth to mbit/s
int mbits = (int) ((kbitDown / 1000d) * 1000000);
log.debug("Setting bandwidth to {} mbit/s", mbits);
// tell the flash player how fast we want data and how fast we shall send it
conn.setBandwidth(mbits);
}
}
示例14: run
import org.red5.server.api.service.IServiceCapableConnection; //导入依赖的package包/类
@Override
public void run() {
try {
if (scope == null) {
_log.debug("[MessageSender] -> 'Unable to send message to NULL scope' {}, {}", method, msg);
} else {
if (_log.isTraceEnabled()) {
_log.trace("[MessageSender] -> 'sending message' {}, {}", method, msg);
}
// Send to all Clients of that Scope(Room)
int count = 0;
for (IConnection conn : scope.getClientConnections()) {
if (conn != null && conn instanceof IServiceCapableConnection) {
if (filter(conn)) {
continue;
}
((IServiceCapableConnection) conn).invoke(method, new Object[] { msg }, callback);
count++;
}
}
if (_log.isTraceEnabled()) {
_log.trace("[MessageSender] -> 'sending message to {} clients, DONE' {}", count, method);
}
}
} catch (Exception err) {
_log.error(String.format("[MessageSender -> %s, %s]", method, msg), err);
}
}
示例15: getVideoStreams
import org.red5.server.api.service.IServiceCapableConnection; //导入依赖的package包/类
public List<Map<String, Object>> getVideoStreams() {
List<Map<String, Object>> result = new ArrayList<>();
// Notify all clients of the same scope (room)
IConnection current = Red5.getConnectionLocal();
for (IConnection conn : current.getScope().getClientConnections()) {
if (conn != null && conn instanceof IServiceCapableConnection) {
StreamClient c = sessionManager.get(IClientUtil.getId(conn.getClient()));
if (!Strings.isEmpty(c.getAvsettings()) && Client.Type.sharing != c.getType()) {
Map<String, Object> map = new HashMap<>();
add(map, "streamId", c.getId());
add(map, "broadCastId", c.getBroadcastId());
add(map, PARAM_USER_ID, c.getUserId());
add(map, "firstname", c.getFirstname());
add(map, "lastname", c.getLastname());
add(map, "publicSid", c.getUid());
add(map, "login", c.getLogin());
add(map, "email", c.getEmail());
add(map, "avsettings", c.getAvsettings());
add(map, "interviewPodId", c.getInterviewPodId());
add(map, "vWidth", c.getWidth());
add(map, "vHeight", c.getHeight());
result.add(map);
}
}
}
return result;
}