public BroadcastScope(IScope parent, String name) : base(parent, Constants.BroadcastScopeType, name, false) { _pipe = new InMemoryPushPushPipe(); _pipe.AddPipeConnectionListener(this); _compCounter = 0; _hasRemoved = false; _keepOnDisconnect = true; }
public BroadcastScope(IScope parent, string name) : base(parent, "bs", name, false) { this._pipe = new InMemoryPushPushPipe(); this._pipe.AddPipeConnectionListener(this); this._compCounter = 0; this._hasRemoved = false; base._keepOnDisconnect = true; }
public IMessageOutput GetConsumerOutput(IClientStream stream) { IStreamCapableConnection connection = stream.Connection; if (!((connection != null) && (connection is RtmpConnection))) { return(null); } RtmpConnection connection2 = connection as RtmpConnection; OutputStream stream2 = connection2.CreateOutputStream(stream.StreamId); IPipe pipe = new InMemoryPushPushPipe(); pipe.Subscribe(new ConnectionConsumer(connection2, stream2.Video.ChannelId, stream2.Audio.ChannelId, stream2.Data.ChannelId), null); return(pipe); }
public IMessageOutput GetConsumerOutput(IClientStream stream) { IStreamCapableConnection streamConnection = stream.Connection; if (streamConnection == null || !(streamConnection is RtmpConnection)) { return(null); } RtmpConnection connection = streamConnection as RtmpConnection; // TODO Better manage channels. // now we use OutputStream as a channel wrapper. OutputStream outputStream = connection.CreateOutputStream(stream.StreamId); IPipe pipe = new InMemoryPushPushPipe(); pipe.Subscribe(new ConnectionConsumer(connection, outputStream.Video.ChannelId, outputStream.Audio.ChannelId, outputStream.Data.ChannelId), null); return(pipe); }