/** {@inheritDoc} */ public IMessageInput getVODProviderInput(IScope scope, String name) { log.debug("getVODProviderInput - scope: {} name: {}", scope, name); File file = getVODProviderFile(scope, name); if (file == null) { return null; } IPipe pipe = new InMemoryPullPullPipe(); pipe.subscribe(new FileProvider(scope, file), null); return pipe; }
/** {@inheritDoc} */ public IMessageOutput getConsumerOutput(IClientStream stream) { IStreamCapableConnection streamConn = stream.getConnection(); if (streamConn == null || !(streamConn instanceof RTMPConnection)) { return null; } RTMPConnection conn = (RTMPConnection) streamConn; // TODO Better manage channels. // now we use OutputStream as a channel wrapper. OutputStream o = conn.createOutputStream(stream.getStreamId()); IPipe pipe = new InMemoryPushPushPipe(); pipe.subscribe( new ConnectionConsumer( conn, o.getVideo().getId(), o.getAudio().getId(), o.getData().getId()), null); return pipe; }