InputFrameThrottler Class

Description

输入帧节流器。

有一个输入帧输入端口和输入帧输出端口,用于在算法组件未完成处理上一帧数据的时候阻止新的输入帧进入算法组件。

InputFrameThrottler占用1个camera的buffer。应使用camera的setBufferCapacity设置不少于所有组件占用的camera的buffer数量。参考 概览 _ 。

本类的所有成员都是线程安全的。

需要注意其signalInput的连接和断开不应该在有数据流入的同时进行,否则可能会陷入不能输出的状态。(推荐在Camera启动之前完成数据流连接。)

input

输入端口。

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

bufferRequirement

当前组件占用camera buffer的数量。

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

输出端口。

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

signalInput

放行信号输入端口。

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

create

创建。

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