OutputFrameJoin Class

Description

输出帧合流器。

用于将多个组件的输出帧合并成一个输出帧。

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

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

input

输入端口。

C: void easyar_OutputFrameJoin_input(easyar_OutputFrameJoin * This, int index, easyar_OutputFrameSink * * Return)
C++17: std::shared_ptr<OutputFrameSink> input(int index)
Traditional C++: void input(int index, OutputFrameSink * * Return)
Java: public @Nonnull OutputFrameSink input(int index)
Kotlin: fun input(index: Int): OutputFrameSink
Objective-C: - (easyar_OutputFrameSink *)input:(int)index
Swift: public func input(_ index: Int32) -> OutputFrameSink
C#: public virtual OutputFrameSink input(int index)

output

输出端口。

C: void easyar_OutputFrameJoin_output(easyar_OutputFrameJoin * This, easyar_OutputFrameSource * * Return)
C++17: std::shared_ptr<OutputFrameSource> output()
Traditional C++: void output(OutputFrameSource * * Return)
Java: public @Nonnull OutputFrameSource output()
Kotlin: fun output(): OutputFrameSource
Objective-C: - (easyar_OutputFrameSource *)output
Swift: public func output() -> OutputFrameSource
C#: public virtual OutputFrameSource output()

inputCount

输入个数。

C: int easyar_OutputFrameJoin_inputCount(easyar_OutputFrameJoin * This)
C++17: int inputCount()
Traditional C++: int inputCount()
Java: public int inputCount()
Kotlin: fun inputCount(): Int
Objective-C: - (int)inputCount
Swift: public func inputCount() -> Int32
C#: public virtual int inputCount()

create

创建。使用默认的合流函数,其实现为取第一个输入的输入帧,并取每个输入的第一个结果。对每个输入,如果没有结果,则取空结果。每个输入的第一个结果将被放在最终输出帧的results的对应输入索引处。

C: void easyar_OutputFrameJoin_create(int inputCount, easyar_OutputFrameJoin * * Return)
C++17: static std::shared_ptr<OutputFrameJoin> create(int inputCount)
Traditional C++: static void create(int inputCount, OutputFrameJoin * * Return)
Java: public static @Nonnull OutputFrameJoin create(int inputCount)
Kotlin: companion object fun create(inputCount: Int): OutputFrameJoin
Objective-C: + (easyar_OutputFrameJoin *)create:(int)inputCount
Swift: public static func create(_ inputCount: Int32) -> OutputFrameJoin
C#: public static OutputFrameJoin create(int inputCount)

createWithJoiner

创建。使用自定义合流函数。

C: void easyar_OutputFrameJoin_createWithJoiner(int inputCount, easyar_FunctorOfOutputFrameFromListOfOutputFrame joiner, easyar_OutputFrameJoin * * Return)
C++17: static std::shared_ptr<OutputFrameJoin> createWithJoiner(int inputCount, std::function<std::shared_ptr<OutputFrame>(std::vector<std::shared_ptr<OutputFrame>>)> joiner)
Traditional C++: static void createWithJoiner(int inputCount, FunctorOfOutputFrameFromListOfOutputFrame joiner, OutputFrameJoin * * Return)
Java: public static @Nonnull OutputFrameJoin createWithJoiner(int inputCount, @Nonnull FunctorOfOutputFrameFromListOfOutputFrame joiner)
Kotlin: companion object fun createWithJoiner(inputCount: Int, joiner: FunctorOfOutputFrameFromListOfOutputFrame): OutputFrameJoin
Objective-C: + (easyar_OutputFrameJoin *)createWithJoiner:(int)inputCount joiner:(easyar_OutputFrame * (^)(NSArray<easyar_OutputFrame *> *))joiner
Swift: public static func createWithJoiner(_ inputCount: Int32, _ joiner: @escaping ([OutputFrame]) -> OutputFrame) -> OutputFrameJoin
C#: public static OutputFrameJoin createWithJoiner(int inputCount, Func<List<OutputFrame>, OutputFrame> joiner)