public VideoInputTrunkFull(string trunkId, IStreamerBase streamer, Action inputChanged) { DecoderQueue = new UnorderedStreamQueue <Packet>(new NodeName("V", trunkId, "Dq", 2), streamer.PacketPool); FilterQueue = new OrderedStreamQueue <Frame>(new NodeName("V", trunkId, "F1q", 3), streamer.FramePool); Filter2Queue = new OrderedStreamQueue <Frame>(new NodeName("V", trunkId, "F2q", 4), streamer.FramePool); Input = new InputNode(new NodeName("V", trunkId, "I", 0), inputChanged, streamer); DecoderPool = new NodePool <IDecoderContext, DecoderSetup, Packet, Frame>(new NodeName("V", trunkId, "D", 2), streamer, i => new DecoderNode(new NodeName("V", trunkId, "D", 2), streamer)); FilterPool = new NodePool <IFilterContext, FilterSetup, Frame, Frame>(new NodeName("V", trunkId, "F1", 3), streamer, i => new FilterNode(new NodeName("V", trunkId, "F1", 3), streamer)); Filter2 = new FilterNode(new NodeName("V", trunkId, "F2", 4), streamer); }
public VideoEncoderTrunk(IStreamerBase streamer, OverloadController overloadController) { BlenderQueue = new UnorderedStreamQueue <Frame>(new NodeName("VE", null, "BLq", 1), streamer.FramePool); Blender = new VideoBlenderNode(new NodeName("VE", null, "BL", 1), streamer, overloadController); PreEncoderFilterQueue = new UnorderedStreamQueue <Frame>(new NodeName("VE", null, "FPreq", 3), streamer.FramePool); PreEncoderFilterPool = new NodePool <IFilterContext, FilterSetup, Frame, Frame>(new NodeName("VE", null, "FPre", 3), streamer, i => new FilterNode(new NodeName("VE", null, "FPre", 3, i), streamer)); EncoderQueue = new OrderedStreamQueue <Frame>(new NodeName("VE", null, "Eq", 4), streamer.FramePool); EncoderNode = new EncoderNode(new NodeName("VE", null, "E", 4), streamer); EncoderAndUiFilterDuplicateQueue = new DuplicateQueue <Frame>(streamer.FramePool); UiFilterQueue = new UnorderedStreamQueue <Frame>(new NodeName("VE", null, "FUIq", 9), streamer.FramePool, 2); BackgroundFrame = new FixedFrame(); }