OutputFrameJoin Class

Description

输出帧合流器。

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

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

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

input

输入端口。

C

void easyar_OutputFrameJoin_input(easyar_OutputFrameJoin * This, int index, easyar_OutputFrameSink * * Return)

C++

std::shared_ptr<OutputFrameSink> input(int index)

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++

std::shared_ptr<OutputFrameSource> output()

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++

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++

static std::shared_ptr<OutputFrameJoin> create(int inputCount)

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++

static std::shared_ptr<OutputFrameJoin> createWithJoiner(int inputCount, std::function<std::shared_ptr<OutputFrame>(std::vector<std::shared_ptr<OutputFrame>>)> joiner)

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)