Beispiel #1
0
        private static Frame[] MakeFrames(string[] attrs, string[] short_names, string[] long_names)
        {
            var result = new Frame[attrs.Length];

            for (var i = 0; i < attrs.Length; i++)
            {
                result[i] = new FixedFrame(attrs[i], time_src)
                {
                    { "short_name", short_names[i] },
                    { "long_name", long_names[i] },
                    { "ordinal", i + 1 }
                };
            }
            return(result);
        }
        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();
        }
 public void Dispose()
 {
     FixedFrame?.RemoveRef();
 }
 public VideoInputTrunkSingleFrame()
 {
     FixedFrame = new FixedFrame();
 }