当前位置: 首页>>代码示例>>Java>>正文


Java IBroadcastStream.removeStreamListener方法代码示例

本文整理汇总了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());	
		}
	}
 
开发者ID:Red5,项目名称:red5-rtsp-restreamer,代码行数:26,代码来源:BandwidthChecker.java

示例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();
	}

}
 
开发者ID:Red5,项目名称:red5-rtsp-restreamer,代码行数:25,代码来源:Application.java

示例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);
	}
}
 
开发者ID:apache,项目名称:openmeetings,代码行数:67,代码来源:RecordingService.java


注:本文中的org.red5.server.api.stream.IBroadcastStream.removeStreamListener方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。