@Override public Msg sendMessage(final Msg msg) { channels.write(msg); return null; }
private void broadcast(final RtmpMessage message) { subscriberStream.getSubscribers().write(message); if(recorder != null) { recorder.write(message); } }
private void broadcast(final RtmpMessage message) { subscriberStream.getSubscribers().write(message); if(recorder != null) { recorder.write(message); } }
private void writeToStream(final ChannelGroup channelGroup, final RtmpMessage message) { if(message.getHeader().getChannelId() > 2) { message.getHeader().setStreamId(streamId); } channelGroup.write(message); }
private void writeToStream(final ChannelGroup channelGroup, final RtmpMessage message) { if(message.getHeader().getChannelId() > 2) { message.getHeader().setStreamId(streamId); } channelGroup.write(message); }
private void unpublishIfLive() { if(subscriberStream != null && subscriberStream.getPublisher() != null) { final Channel channel = subscriberStream.getPublisher(); if(channel.isWritable()) { channel.write(Command.unpublishSuccess(subscriberStream.getName(), clientId, streamId)); } subscriberStream.getSubscribers().write(Command.unpublishNotify(streamId)); subscriberStream.setPublisher(null); logger.debug("publisher disconnected, stream un-published"); } if(recorder != null) { recorder.close(); recorder = null; } }
private void unpublishIfLive() { if(subscriberStream != null && subscriberStream.getPublisher() != null) { final Channel channel = subscriberStream.getPublisher(); if(channel.isWritable()) { channel.write(Command.unpublishSuccess(subscriberStream.getName(), clientId, streamId)); } subscriberStream.getSubscribers().write(Command.unpublishNotify(streamId)); subscriberStream.setPublisher(null); logger.debug("publisher disconnected, stream un-published"); } if(recorder != null) { recorder.close(); recorder = null; } }
case LIVE: final ChannelGroup subscribers = subscriberStream.getSubscribers(); subscribers.write(Command.publishNotify(streamId)); writeToStream(subscribers, Video.empty()); writeToStream(subscribers, Metadata.rtmpSampleAccess());
case LIVE: final ChannelGroup subscribers = subscriberStream.getSubscribers(); subscribers.write(Command.publishNotify(streamId)); writeToStream(subscribers, Video.empty()); writeToStream(subscribers, Metadata.rtmpSampleAccess());