本文整理汇总了Java中org.red5.server.api.stream.IBroadcastStream.removeStreamListener方法的典型用法代码示例。如果您正苦于以下问题:Java IBroadcastStream.removeStreamListener方法的具体用法?Java IBroadcastStream.removeStreamListener怎么用?Java IBroadcastStream.removeStreamListener使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.red5.server.api.stream.IBroadcastStream
的用法示例。
在下文中一共展示了IBroadcastStream.removeStreamListener方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: packetReceived
import org.red5.server.api.stream.IBroadcastStream; //导入方法依赖的package包/类
public void packetReceived(IBroadcastStream arg0, IStreamPacket packet) {
if (done) {
arg0.removeStreamListener(this);
return;
}
messages = Red5.getConnectionLocal().getWrittenMessages() + Red5.getConnectionLocal().getReadMessages();
bytesUp = Red5.getConnectionLocal().getReadBytes();
bytesDown = Red5.getConnectionLocal().getWrittenBytes();
if (packet instanceof Notify) {
endpoint().invoke("onBWChunk", new Object[] { chunk });
chunks++;
// Input reader = new Input(((Notify)packet).getData());
// reader.readDataType();//string
// String method=reader.readString(null);
// reader.readDataType();//object
// Map invokeData= (Map) reader.readMap(new Deserializer(), null);
// System.out.println(method+""+invokeData.get("data").toString());
}
}
示例2: packetReceived
import org.red5.server.api.stream.IBroadcastStream; //导入方法依赖的package包/类
@Override
public void packetReceived(IBroadcastStream stream, IStreamPacket packet) {
RTMPMessage m = RTMPMessage.build((IRTMPEvent) packet, packet.getTimestamp());
try {
limiter--;
if (limiter > 1) {
streamer.pushMessage(null, m);
} else {
if (streamer != null) {
stream.removeStreamListener(this);
streamer.stop();
streamer = null;
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
示例3: removeListener
import org.red5.server.api.stream.IBroadcastStream; //导入方法依赖的package包/类
/**
* Stops recording the publishing stream for the specified IConnection.
*
* @param scope
* @param broadcastId
* @param metaId
*/
private void removeListener(IScope scope, String broadcastId, Long metaId) {
try {
log.debug("** removeListener: scope: {}, broadcastId: {} || {}", scope, broadcastId, scope.getContextPath());
IBroadcastStream stream = scopeAdapter.getBroadcastStream(scope, broadcastId);
// the stream can be null if the user just closes the browser
// without canceling the recording before leaving
// Iterate through all stream listeners and stop the appropriate
if (stream != null && stream.getStreamListeners() != null) {
for (IStreamListener iStreamListener : stream.getStreamListeners()) {
stream.removeStreamListener(iStreamListener);
}
}
if (metaId == null) {
// this should be fixed, can be useful for debugging, after all this is an error
// but we don't want the application to completely stop the process
log.error("recordingMetaDataId is null");
return;
}
StreamListener listenerAdapter = streamListeners.get(metaId);
log.debug("Stream Closing :: " + metaId);
RecordingMetaData metaData = metaDataDao.get(metaId);
printMetaInfo(metaData, "Stopping the stream");
// Manually call finish on the stream so that there is no endless loop waiting in the RecordingConverter waiting for the stream to finish
// this would normally happen in the Listener
Status s = metaData.getStreamStatus();
switch (s) {
case NONE:
log.debug("Stream was not started, no need to stop :: stream with id {}", metaId);
break;
case STARTED:
metaData.setStreamStatus(listenerAdapter == null ? Status.STOPPED : Status.STOPPING);
metaDataDao.update(metaData);
break;
default:
//no-op
break;
}
if (listenerAdapter == null) {
log.debug("Stream Not Found :: {}", metaId);
log.debug("Available Streams :: {}", streamListeners.size());
for (Long entryKey : streamListeners.keySet()) {
log.debug("Stored recordingMetaDataId in Map: {}", entryKey);
}
throw new IllegalStateException("Could not find Listener to stop! metaId " + metaId);
}
listenerAdapter.closeStream();
streamListeners.remove(metaId);
} catch (Exception err) {
log.error("[removeListener]", err);
}
}