Table of Contents

Class OutputFrameJoin

Namespace
easyar

Output frame merger. Used to merge output frames from multiple components into a single output frame. All members of this class are thread-safe. Note that connecting and disconnecting multiple inputs should not be done while data is flowing in, otherwise it may enter a state where it cannot output. (It is recommended to complete data stream connections before starting the Camera.)

OutputFrameJoin

Methods

input

Input port.

void easyar_OutputFrameJoin_input(easyar_OutputFrameJoin * This, int index, easyar_OutputFrameSink * * Return)
std::shared_ptr<OutputFrameSink> input(int index)
public @Nonnull OutputFrameSink input(int index)
fun input(index: Int): OutputFrameSink
- (easyar_OutputFrameSink *)input:(int)index
public func input(_ index: Int32) -> OutputFrameSink
public virtual OutputFrameSink input(int index)

Parameters

Name Type Description
index Int32

Returns

Type Description
OutputFrameSink

output

Output port.

void easyar_OutputFrameJoin_output(easyar_OutputFrameJoin * This, easyar_OutputFrameSource * * Return)
std::shared_ptr<OutputFrameSource> output()
public @Nonnull OutputFrameSource output()
fun output(): OutputFrameSource
- (easyar_OutputFrameSource *)output
public func output() -> OutputFrameSource
public virtual OutputFrameSource output()

Returns

Type Description
OutputFrameSource

inputCount

Number of inputs.

int easyar_OutputFrameJoin_inputCount(easyar_OutputFrameJoin * This)
int inputCount()
public int inputCount()
fun inputCount(): Int
- (int)inputCount
public func inputCount() -> Int32
public virtual int inputCount()

Returns

Type Description
Int32

create

Create. Use the default merger function. Its implementation takes the input frame from the first input, and takes the first result from each input. For each input, if there is no result, it takes an empty result. The first result from each input will be placed at the corresponding input index in the results of the final output frame.

void easyar_OutputFrameJoin_create(int inputCount, easyar_OutputFrameJoin * * Return)
static std::shared_ptr<OutputFrameJoin> create(int inputCount)
public static @Nonnull OutputFrameJoin create(int inputCount)
companion object fun create(inputCount: Int): OutputFrameJoin
+ (easyar_OutputFrameJoin *)create:(int)inputCount
public static func create(_ inputCount: Int32) -> OutputFrameJoin
public static OutputFrameJoin create(int inputCount)

Parameters

Name Type Description
inputCount Int32

Returns

Type Description
OutputFrameJoin

createWithJoiner

Create. Use a custom merger function.

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

Parameters

Name Type Description
inputCount Int32
joiner Func<List<OutputFrame>,>

Returns

Type Description
OutputFrameJoin