OutputFrameJoin Class

Description

Output frame join.

It is used to aggregate output frame from multiple components in parallel.

All members of this class is thread-safe.

It shall be noticed that connections and disconnections to the inputs 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

Input port.

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

Output port.

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

Input count.

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

Creates an instance. The default joiner will be used, which takes input frame from the first input and first result or null of each input. The first result of every input will be placed at the corresponding input index of results of the final output frame.

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

Creates an instance. A custom joiner is specified.

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)