InputFrameThrottler Class


Input frame throttler.

There is a input frame input port and a input frame output port. It can be used to prevent incoming frames from entering algorithm components when they have not finished handling previous workload.

InputFrameThrottler occupies one buffer of camera. Use setBufferCapacity of camera to set an amount of buffers that is not less than the sum of amount of buffers occupied by all components. Refer to Overview _ .

All members of this class is thread-safe.

It shall be noticed that connections and disconnections to signalInput shall not be performed during the flowing of data, or it may stuck in a state that no frame can be output. (It is recommended to complete dataflow connection before start a camera.)


Input port.

C: void easyar_InputFrameThrottler_input(easyar_InputFrameThrottler * This, easyar_InputFrameSink * * Return)
C++17: std::shared_ptr<InputFrameSink> input()
Traditional C++: void input(InputFrameSink * * Return)
Java: public @Nonnull InputFrameSink input()
Kotlin: fun input(): InputFrameSink
Objective-C: - (easyar_InputFrameSink *)input
Swift: public func input() -> InputFrameSink
C#: public virtual InputFrameSink input()


Camera buffers occupied in this component.

C: int easyar_InputFrameThrottler_bufferRequirement(easyar_InputFrameThrottler * This)
C++17: int bufferRequirement()
Traditional C++: int bufferRequirement()
Java: public int bufferRequirement()
Kotlin: fun bufferRequirement(): Int
Objective-C: - (int)bufferRequirement
Swift: public func bufferRequirement() -> Int32
C#: public virtual int bufferRequirement()


Output port.

C: void easyar_InputFrameThrottler_output(easyar_InputFrameThrottler * This, easyar_InputFrameSource * * Return)
C++17: std::shared_ptr<InputFrameSource> output()
Traditional C++: void output(InputFrameSource * * Return)
Java: public @Nonnull InputFrameSource output()
Kotlin: fun output(): InputFrameSource
Objective-C: - (easyar_InputFrameSource *)output
Swift: public func output() -> InputFrameSource
C#: public virtual InputFrameSource output()


Input port for clearance signal.

C: void easyar_InputFrameThrottler_signalInput(easyar_InputFrameThrottler * This, easyar_SignalSink * * Return)
C++17: std::shared_ptr<SignalSink> signalInput()
Traditional C++: void signalInput(SignalSink * * Return)
Java: public @Nonnull SignalSink signalInput()
Kotlin: fun signalInput(): SignalSink
Objective-C: - (easyar_SignalSink *)signalInput
Swift: public func signalInput() -> SignalSink
C#: public virtual SignalSink signalInput()


Creates an instance.

C: void easyar_InputFrameThrottler_create(easyar_InputFrameThrottler * * Return)
C++17: static std::shared_ptr<InputFrameThrottler> create()
Traditional C++: static void create(InputFrameThrottler * * Return)
Java: public static @Nonnull InputFrameThrottler create()
Kotlin: companion object fun create(): InputFrameThrottler
Objective-C: + (easyar_InputFrameThrottler *)create
Swift: public static func create() -> InputFrameThrottler
C#: public static InputFrameThrottler create()