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