public UnorderedStreamQueue(NodeName name, PayloadPool <TPayload> payloadPool, int limit = int.MaxValue) { _name = name; _payloadPool = payloadPool; _limit = limit; OnChanged = () => { Core.LogWarning($"Fake activation of {_name}"); }; }
public VideoBlenderContext(VideoBlenderSetup setup, PayloadPool <Frame> framePool, IStreamerBase streamer, OverloadController overloadController, Action pushPipeline) { _name = new NodeName("VE", null, "BL", 1); _fps = setup.Fps; _framePool = framePool; _streamer = streamer; _overloadController = overloadController; _pushPipeline = pushPipeline; _delayFromRuntime = ToTime(setup.DelayFromRuntimeFrames); // 3 frames in client _pushPipelineDelay = ToTime(setup.PushPipelineDelayFrames); // 3 frames Reconfigure(setup); _timer = _streamer.Subscribe(15, OnTimer); if (setup.Dx != null) { if (setup.BlendingType == BlendingType.Smart) { _directXPipeline = LoadPipline(BlendingType.Linear, setup.Dx); _directXPipelineLowRes = LoadPipline(BlendingType.BilinearLowRes, setup.Dx); } else { _directXPipeline = LoadPipline(setup.BlendingType, setup.Dx); } } _currentFpsTicks = ToTicks(Core.GetCurrentTime() - 600_000); // -60ms }
public AudioMixingQueue(NodeName name, PayloadPool <Frame> payloadPool, IStreamerBase streamer, AudioMixingQueueSetup setup) { _name = name; _payloadPool = payloadPool; _setup = setup; OnChanged = () => { Core.LogWarning($"Fake activation of {_name}"); }; _timer = streamer.Subscribe(100, OnTimer); }
public FpsQueue(NodeName name, ITargetQueue <TPayload> next, IStreamerBase streamerBase, PayloadPool <TPayload> payloadPool, int fps, int maxDeviation, AVRational timeBase, OverloadController overloadController, int version) { Name = name; _next = next; _payloadPool = payloadPool; Fps = fps; _maxDeviation = maxDeviation; _overloadController = overloadController; _version = version; _statisticKeeper = new StatisticKeeper <StatisticDataOfFpsQueue>(name); if (timeBase.den != 10_000_000) { throw new InvalidOperationException($"FpsQueue {name} requires correct timeBase (not {timeBase.num}/{timeBase.den})"); } }
public DuplicateFrameQueue(PayloadPool <Frame> pool) { _pool = pool; }
public OutputStreamQueue(PayloadPool <TPayload> payloadPool, params int[] sourceIds) { _payloadPool = payloadPool; RegisterSources(sourceIds); }
public DuplicateQueue(PayloadPool <T> pool) { _pool = pool; }
public OrderedStreamQueue(NodeName name, PayloadPool <TPayload> payloadPool) { _name = name; _payloadPool = payloadPool; OnChanged = () => { Core.LogWarning($"Fake activation of {_name}"); }; }
public DuplicatePacketQueue(PayloadPool <Packet> pool) { _pool = pool; }